/* FC Trollhättan Dam · unified premium theme */
:root{
  color-scheme:dark;
  --fct-bg:#090a0c;
  --fct-surface:#111216;
  --fct-surface-raised:#17181d;
  --fct-surface-soft:#1c1d22;
  --fct-line:#ffffff16;
  --fct-line-strong:#ffffff25;
  --fct-text:#f4f2f2;
  --fct-muted:#a3a2a7;
  --fct-dim:#77777e;
  --fct-red:#dc3449;
  --fct-red-bright:#f05165;
  --fct-red-soft:#ee7a89;
  --fct-shadow:0 22px 64px #0008;
  --fct-motion:cubic-bezier(.2,.7,.2,1);
}
html{background:var(--fct-bg);scroll-behavior:smooth}
body{min-width:320px;color:var(--fct-text);background:radial-gradient(ellipse at 50% -16rem,#36151b88,transparent 42rem),linear-gradient(180deg,#0d0e11 0%,var(--fct-bg) 52rem);font-family:'DM Sans',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.home-page{background-image:linear-gradient(180deg,#07080a8c 0%,#090a0dc9 54%,#090a0df2 100%),linear-gradient(100deg,#07080a8a,#090a0a22 48%,#07080a88),url('landing-background.jpg');background-position:center,center,center 54%;background-size:cover,cover,cover;background-repeat:no-repeat;background-attachment:fixed}
body:not(.home-page){background-image:radial-gradient(ellipse at 50% -12rem,#3a151c72,transparent 42rem),linear-gradient(180deg,#0d0e11 0%,#090a0c 58rem)}
::selection{background:#db344955;color:#fff}
.topbar{position:relative;z-index:5;min-height:68px;height:auto;padding:10px clamp(16px,4vw,46px);border-bottom:1px solid #ffffff10;background:linear-gradient(180deg,#0b0c0feF,#0b0c0fc9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.brand{gap:10px;color:var(--fct-text)}
.brand-crest{width:38px;height:38px;filter:drop-shadow(0 3px 9px #0007)}
.brand strong{font:700 12px Manrope,sans-serif;letter-spacing:.2px}
.brand small{margin-top:2px;color:var(--fct-muted);font-size:9px;letter-spacing:.04em}
.season-label{padding:7px 10px;border:1px solid #ffffff1b;border-radius:99px;background:#ffffff07;color:#c9c7cb;font-size:8px;letter-spacing:.14em}
main,.home-main,.player-main,.coach-main{position:relative;z-index:1}
.home-main{max-width:920px;padding:clamp(22px,5vh,54px) 18px max(32px,env(safe-area-inset-bottom))}
.player-main,.coach-main{max-width:1040px;padding:40px clamp(15px,3vw,32px) max(32px,env(safe-area-inset-bottom))}
.home-card,.card{border:1px solid var(--fct-line);border-radius:22px;background:linear-gradient(145deg,#17181cF2,#101114F4);box-shadow:var(--fct-shadow),inset 0 1px 0 #ffffff0a;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.home-card{padding:clamp(22px,4vw,38px)}
.card{color:var(--fct-text)}
.intro{margin-bottom:23px}
.eyebrow,.home-kicker{color:#e16c7b;font-size:8px;font-weight:700;letter-spacing:.17em}
.intro h1,.home-card h1{color:#fff;font-family:Manrope,sans-serif;font-weight:800;letter-spacing:-.045em}
.intro h1{font-size:clamp(26px,4vw,36px)}
.home-card h1{font-size:clamp(25px,4.3vw,36px)}
.lead,.home-lead{color:#b6b4b9;font-size:12px;line-height:1.65}
.week-pill{border-color:var(--fct-line);border-radius:14px;background:#ffffff08;box-shadow:inset 0 1px 0 #ffffff08}
.week-pill small{color:var(--fct-dim)}.week-pill strong{color:var(--fct-text)}.week-icon{background:#3a171e;color:var(--fct-red-bright)}
.card-heading{margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid #ffffff0d}
.card-heading h2,.section-heading h2{color:var(--fct-text);font:700 16px Manrope,sans-serif;letter-spacing:-.02em}
.step-badge{border:1px solid #ffffff12;border-radius:99px;background:#ffffff09;color:#d2cfd2}
.field{color:#d5d3d6;font-size:10px;font-weight:600}
.field input,.field select,.field textarea,.player-login-dialog input,.message-compose textarea{min-height:44px;border:1px solid #ffffff1b;border-radius:12px;background:linear-gradient(180deg,#0e0f12,#111216);color:#f5f3f4;font-size:12px;box-shadow:inset 0 1px 0 #ffffff04;transition:border-color .18s var(--fct-motion),box-shadow .18s var(--fct-motion),background .18s var(--fct-motion)}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#ffffff30}
.field input:focus,.field select:focus,.field textarea:focus,.message-compose textarea:focus,.player-login-dialog input:focus{border-color:#e15364;outline:0;box-shadow:0 0 0 3px #dc344924}
.field input::placeholder,.field textarea::placeholder{color:#74747b}
.primary-button,.login-submit{min-height:47px;border:1px solid #ff839026;border-radius:13px;background:linear-gradient(115deg,#d72f44,#b91f35);box-shadow:0 8px 22px #b91f3526,inset 0 1px 0 #ffffff1c;color:#fff;font:700 11px Manrope,sans-serif;letter-spacing:.01em;transition:transform .18s var(--fct-motion),box-shadow .18s var(--fct-motion),filter .18s var(--fct-motion)}
.primary-button:hover,.login-submit:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:0 11px 25px #b91f3535,inset 0 1px 0 #ffffff20}
.primary-button:active,.login-submit:active{transform:translateY(0) scale(.99)}
.primary-button:disabled{filter:saturate(.6);box-shadow:none}
.text-button,.home-back,.player-back-link,.coach-link{min-height:38px;border:1px solid #ffffff15;border-radius:11px;background:#ffffff07;color:#d4d1d5;transition:background .18s,border-color .18s,color .18s}
.text-button:hover,.home-back:hover,.player-back-link:hover,.coach-link:hover{border-color:#dc34495c;background:#dc344917;color:#fff}
.form-message,.messages-status,.weekly-message{border-radius:12px}
.form-message{color:#f18d9a}
.session-identity{padding-bottom:15px;border-bottom:1px solid #ffffff0e}
.player-identity-card{min-height:52px;border:1px solid #ffffff16;border-radius:14px;background:#ffffff07;color:#fff}
.player-identity-initials{background:#35151c;color:#ff8795}
.load-preview,.plan-note,.summary-tile,.weekly-stat,.weekly-metric,.weekly-insight,.weekly-session,.interval-card,.analysis-pitch-card,.latest-card,.period-card,.individual-stat{border:1px solid var(--fct-line);border-radius:15px;background:linear-gradient(145deg,#1a1b20,#121317);box-shadow:inset 0 1px 0 #ffffff06}
.load-preview{min-height:58px;padding:14px 15px;color:#ded9dc}
.load-preview strong,.summary-tile strong{color:#fff;font-variant-numeric:tabular-nums}
.load-preview small,.load-preview .unit,.range-captions,.session-day-note,.privacy-note,.footer-note,.weekly-footnote,.weekly-scale-note{color:var(--fct-muted)}
.optional-fields{border-color:#ffffff12;color:#cfccd0}
.summary-tile{min-height:84px;padding:14px}
.tile-label,.summary-tile small,.chart-title span,.recent-heading span{color:#95949a}
.chart-grid{stroke:#ffffff12}.chart-axis{fill:#96959b}.chart-line{stroke:#ffffff30}
.plan-note{padding:14px;background:linear-gradient(115deg,#25161a,#171519)}.plan-note p{color:#c4bdc1}.plan-note strong{color:#f0e9eb}
.recent-heading{border-color:#ffffff13}.session-row,.player-row{border-color:#ffffff10}
.session-avatar,.training-icon{border:1px solid #ffffff12;border-radius:50%;background:#2b171d;color:#f17d8a}
.session-main strong,.training-date strong,.player-row{color:#f3f0f2}.session-main small,.training-date small,.training-summary small{color:#aaa7ad}
.session-value strong,.training-summary strong{color:#f07482}
.empty-list,.data-refresh,.session-help{color:#96949a}
.player-dialog{border:1px solid #ffffff20;border-radius:22px;background:#15161a;color:#f4f2f3;box-shadow:0 30px 100px #000b}.player-dialog::backdrop,.player-login-dialog::backdrop{background:#030406c9;backdrop-filter:blur(9px)}
.dialog-close{border:1px solid #ffffff18;background:#25262b;color:#fff}
.body-view-switch,.body-view-button{border-radius:99px}
.body-view-button{border:1px solid #ffffff16;background:#ffffff07;color:#c7c4c8}
.body-view-button.is-active{border-color:#dc34496b;background:#dc34491f;color:#fff}
.match-countdown{border:1px solid var(--fct-line);border-radius:17px;background:linear-gradient(125deg,#17181c,#111216);box-shadow:0 12px 35px #0004}
.match-countdown-number strong{color:#fff}.match-countdown-details{color:#aaa7ad}
.player-menu-panel .home-option,.entry-option,.coach-menu-card{border:1px solid #ffffff16;border-radius:16px;background:linear-gradient(135deg,#ffffff0b,#ffffff04);box-shadow:inset 0 1px 0 #ffffff08;transition:transform .2s var(--fct-motion),border-color .2s,background .2s,box-shadow .2s}
.player-menu-panel .home-option:hover,.entry-option:hover,.coach-menu-card:hover{transform:translateY(-2px);border-color:#dc34496b;background:linear-gradient(135deg,#dc344919,#ffffff06);box-shadow:0 12px 28px #0005,inset 0 1px 0 #ffffff0a}
.entry-option-copy strong,.home-option strong,.coach-menu-card strong{color:#f4f2f3}.entry-option-copy small,.home-option small,.coach-menu-card small{color:#a7a5ab}
.entry-option-icon,.coach-menu-icon{border:1px solid #dc344936;border-radius:13px;background:#dc344916;color:#ee7080}
.entry-option-arrow,.home-option-arrow,.coach-menu-card>b{color:#ef6c7b}
.player-inbox-link{border-color:#ffffff1b;background:#ffffff08;color:#f2eff1}
.inbox-unread-dot,.weekly-notice-dot{background:var(--fct-red-bright);box-shadow:0 0 0 4px #dc344923}
.weekly-report-panel{border-radius:22px}
.weekly-score-card{border-color:#dc344936;background:radial-gradient(ellipse at 0 0,#dc34491e,transparent 60%),linear-gradient(130deg,#21171b,#141519)}
.weekly-score-ring{background:conic-gradient(var(--fct-red-bright) var(--score-progress,0%),#ffffff16 0)}
.weekly-stat>span,.weekly-metric-heading strong,.weekly-session>div strong{color:#e4e1e4}
.weekly-metric,.weekly-insight,.weekly-session,.weekly-stat{border-color:#ffffff12}
.weekly-archive-item{border-color:#ffffff15;border-radius:15px;background:linear-gradient(140deg,#1b1c20,#121317);color:#f3f0f2}
.weekly-archive-item:hover,.weekly-archive-item:focus-visible{border-color:#dc34496b;background:#21171a}
.weekly-new-tag{background:#d32e43}
.message-thread{border-color:#ffffff13;border-radius:18px;background:#0c0d10}
.message-thread .chat-bubble,.coach-conversation .chat-bubble{border-radius:16px;box-shadow:0 6px 18px #0003}
.message-thread .chat-bubble.from-player,.coach-conversation .chat-bubble.from-player{background:linear-gradient(135deg,#d7374b,#a91f34)}
.message-thread .chat-bubble.from-coach,.coach-conversation .chat-bubble.from-coach{background:#25262b}
.message-compose{border-color:#ffffff12}.message-compose label{color:#e3dfe2}
.messages-card .message-empty{color:#a6a4a9}.messages-card .message-empty strong{color:#f2eff1}.messages-card .message-empty small{color:#aaa8ae}
.messages-status{border-color:#dc34494a;background:#2a151a;color:#ffdce0}
.coach-home,.coach-dashboard,.individual-section,.match-statistics-section,.roster-settings-section,.coach-messages-section,.login-card{border-radius:22px}
.coach-home-heading h2{color:#fff}.coach-home-heading p{color:#a9a7ad}
.coach-menu-card{grid-template-columns:42px minmax(0,1fr) auto 14px;min-height:78px;padding:15px 17px}
.settings-icon-button,.coach-home-logout{border:1px solid #ffffff18;background:#ffffff08;color:#e9e6e9}
.team-summary-panel,.team-period-card,.acwr-panel,.acwr-team-tile,.acwr-roster-heading,.acwr-player-row,.acwr-method,.analysis-category,.analysis-pitch-card,.interval-card,.roster-settings-list,.roster-player-row,.individual-roster,.individual-player,.latest-card,.period-card{border-color:#ffffff13;background:linear-gradient(145deg,#191a1e,#111216);color:#e9e6e9}
.team-period-card h4,.team-summary-panel h3,.acwr-roster-heading,.analysis-pitch-heading h4,.interval-card h4{color:#f0edef}
.team-period-card p,.team-period-card span,.team-summary-panel p,.acwr-intro p,.acwr-method,.acwr-method p,.acwr-player-row small,.acwr-caution{color:#a8a6ac}
.team-period-load strong,.acwr-team-tile strong{color:#f1edf0}
.acwr-player-name,.individual-player span strong{color:#eeeaf0}
.individual-player{border-bottom-color:#ffffff12}.individual-player:hover,.individual-player.selected{background:#21171b}
.individual-details .individual-empty{border-color:#ffffff20;background:#ffffff04}
.period-heading h4,.latest-wellbeing,.latest-soreness{color:#d6d2d6}
.individual-stat{background:#191a1e}.individual-stat small{color:#a5a3a9}.individual-stat strong{color:#f2eef1}
.coach-thread-item{border-color:#ffffff14;background:#17181c;color:#eeeaf0}
.coach-thread-item:hover,.coach-thread-item.is-selected{border-color:#dc34496b;background:#24181c}
.coach-thread-item>small,.coach-thread-item>time{color:#a8a6ac}
.coach-conversation{border-color:#ffffff15;background:#e8e9ec;color:#202126;box-shadow:inset 0 1px 0 #ffffff12}
.coach-conversation-title{color:#25262b}.coach-conversation-messages{background:#dfe1e5}
.coach-conversation .message-compose label{color:#34353a}
.coach-conversation .message-compose textarea{background:#f7f7f8;border-color:#d2d3d8;color:#202126}
.coach-push-controls,.secure-login-tools,.player-credentials-panel{border-color:#ffffff14;background:linear-gradient(125deg,#1b1c20,#121317);border-radius:16px}
.roster-settings-intro,.messages-coach-intro,.individual-intro,.match-stats-intro{color:#aaa8ae}
.roster-player-row{border-radius:14px}.roster-player-name strong{color:#f3f0f2}
.roster-action-button,.profile-upload-button,.roster-remove-button{border-radius:10px}
.match-stats-table-wrap{border-color:#ffffff17;border-radius:16px}
.match-stats-table thead th{background:#202126;color:#aaa8ae}.match-stats-table tbody tr,.match-stats-table tbody th,.match-stats-table tbody td{background:#131418;color:#e9e7e9}
.match-stats-table tbody tr:hover{background:#1d1e23}
.match-stats-table tbody th{color:#f5f2f4}.match-stats-table tbody td::before{color:#a7a5ab}
.match-stats-tabs{border-color:#ffffff12}.match-stats-tab{border-radius:99px}
.analysis-category{border-radius:13px}.analysis-category.is-active{border-color:#dc344979;background:#2a171c}.analysis-category-name{color:#eee9ec}
.roster-settings-heading,.recent-heading{color:#e9e6e9}
.reset-card{border-radius:22px}
.player-login-dialog{border-color:#ffffff20;border-radius:22px;background:linear-gradient(150deg,#191a1e,#101114);box-shadow:0 32px 100px #000b}
.player-login-dialog input{min-height:46px}
.player-login-close{border:1px solid #ffffff15;background:#ffffff09;color:#e9e6e9}
.player-remember-option{color:#d8d4d7!important}.player-remember-option small{color:#99979d!important}
button,a,input,select,textarea{ -webkit-tap-highlight-color:transparent }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #ee7886;outline-offset:3px}
@media(max-width:760px){
  body.home-page{background-attachment:scroll;background-position:center,center,center 58%}
  .topbar{min-height:62px;padding:9px 15px}
  .brand-crest{width:35px;height:35px}
  .player-main,.coach-main{padding:25px 14px max(28px,env(safe-area-inset-bottom))}
  .home-main{padding:20px 13px max(30px,env(safe-area-inset-bottom))}
  .home-card,.card{border-radius:19px}
  .intro{margin-bottom:17px}
  .intro h1{font-size:28px}
  .lead,.home-lead{font-size:11px}
  .player-card,.login-card{padding:19px 16px}
  .coach-home,.coach-dashboard,.individual-section,.match-statistics-section,.roster-settings-section,.coach-messages-section{padding:18px 14px}
  .coach-menu-card{min-height:70px;padding:12px}
  .summary-grid{gap:8px}
}
@media(max-width:420px){
  .season-label{padding:6px 8px;font-size:7px}
  .brand{gap:8px}.brand strong{font-size:11px}.brand small{font-size:8px}
  .home-card{padding:21px 16px}
  .field-row{gap:8px}
  .player-inbox-link{font-size:10px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* Signature finish: cinematic depth, precise type and purposeful accents */
:root{
  --fct-red:#e02b43;
  --fct-red-bright:#ff5269;
  --fct-line:#ffffff19;
  --fct-shadow:0 30px 90px #0009;
}
body:not(.home-page){background-image:radial-gradient(ellipse at 8% 0%,#4b131e69,transparent 34rem),radial-gradient(ellipse at 100% 42rem,#18171c9c,transparent 42rem),linear-gradient(180deg,#0d0e11 0%,#08090b 62rem)}
body.home-page{background-image:linear-gradient(180deg,#07080a7d 0%,#090a0db0 48%,#090a0df0 100%),linear-gradient(100deg,#07080a9c,#090a0a16 52%,#07080a9c),url('landing-background.jpg');background-position:center,center,center 54%;background-size:cover,cover,cover}
.topbar{min-height:74px;border-bottom-color:#ffffff17;background:linear-gradient(180deg,#090a0ff2,#0b0c0fe3);box-shadow:0 10px 34px #0003}
.brand-crest{width:41px;height:41px;filter:drop-shadow(0 0 15px #e02b433c)}
.season-label{padding:8px 12px;border-color:#ffffff20;background:#08090db8;color:#e3dfe1;font-weight:700}
.home-main{max-width:940px}
.home-card,.card{position:relative;border:1px solid #ffffff20;border-radius:26px;background:linear-gradient(145deg,#18191df5,#0e0f12f5);box-shadow:0 34px 100px #0009,inset 0 1px 0 #ffffff12;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.home-card::before,.card:not(.coach-conversation)::before{position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#ff52696f 24%,#ffffff20 52%,transparent 82%);content:"";pointer-events:none}
.home-card{padding:clamp(27px,5vw,48px)}
.entry-heading{padding-bottom:22px}
.entry-crest-wrap{width:88px;height:88px;margin-bottom:18px;border:1px solid #ffffff20;border-radius:26px;background:radial-gradient(circle at 35% 20%,#ed334e33,#201116 68%);box-shadow:0 18px 45px #0007,inset 0 1px 0 #ffffff13}
.entry-crest{width:54px;height:54px;filter:drop-shadow(0 5px 12px #0008)}
.home-kicker,.eyebrow{font-size:9px;letter-spacing:.2em;color:#ff8392}
.entry-heading h1,.home-card h1,.intro h1{font-size:clamp(30px,5vw,46px);letter-spacing:-.055em;line-height:1.04}
.home-lead,.lead{max-width:42ch;font-size:13px;line-height:1.7;color:#c0bdc2}
.entry-options,.home-options{gap:12px}
.entry-option,.home-option,.coach-menu-card{min-height:88px;padding:17px 19px;border-radius:18px;background:linear-gradient(120deg,#ffffff0c,#ffffff04 68%,#e02b4308);box-shadow:inset 0 1px 0 #ffffff0a,0 10px 28px #0002}
.entry-option:hover,.home-option:hover,.coach-menu-card:hover{transform:translateY(-3px);border-color:#ff52697a;background:linear-gradient(120deg,#e02b431f,#ffffff08 62%,#e02b430c);box-shadow:0 18px 40px #0006,0 0 28px #e02b4310,inset 0 1px 0 #ffffff12}
.entry-option-icon,.coach-menu-icon{width:50px;height:50px;border-radius:15px;background:linear-gradient(145deg,#e02b4328,#48141c45);box-shadow:inset 0 1px 0 #ffffff12}
.entry-option-icon svg{width:25px;height:25px}
.entry-option-copy strong,.home-option strong,.coach-menu-card strong{font:700 15px Manrope,sans-serif;letter-spacing:-.02em}
.entry-option-copy small,.home-option small,.coach-menu-card small{margin-top:5px;font-size:11px;line-height:1.5;color:#b4b1b6}
.entry-option-arrow,.home-option-arrow,.coach-menu-card>b{font-size:21px;transition:transform .2s var(--fct-motion),color .2s}
.entry-option:hover .entry-option-arrow,.home-option:hover .home-option-arrow,.coach-menu-card:hover>b{transform:translateX(4px);color:#ff7184}
.entry-footer{margin-top:24px;color:#a7a3a9;font-size:10px;letter-spacing:.035em}
.entry-footer span{padding:0 7px;color:#ed5267}
.player-portrait-stage{filter:drop-shadow(0 24px 40px #0008)}
.player-portrait-card{border:1px solid #ffffff2b;box-shadow:0 25px 50px #0009,0 0 36px #e02b4312}
.player-portrait-card.is-active{border-color:#ff7184a6;box-shadow:0 25px 65px #000b,0 0 42px #e02b432c}
.portrait-arrow{border:1px solid #ffffff23;background:#ffffff0d;box-shadow:0 10px 24px #0005}
.portrait-progress{background:#ffffff1d}.portrait-progress i{background:linear-gradient(90deg,#b91f35,#ff667b);box-shadow:0 0 12px #ff52695c}
.card-heading{padding-bottom:17px}
.card-heading h2,.section-heading h2{font-size:19px;letter-spacing:-.035em}
.step-badge{padding:7px 11px}
.summary-tile,.weekly-stat,.weekly-metric,.weekly-insight,.weekly-session,.team-period-card,.acwr-team-tile,.individual-stat,.interval-card{border-radius:17px;background:linear-gradient(145deg,#1b1c21,#111216);box-shadow:inset 0 1px 0 #ffffff0a,0 9px 25px #0002}
.summary-tile strong,.weekly-stat strong,.individual-stat strong{font-size:1.25em;letter-spacing:-.035em}
.primary-button,.login-submit{min-height:50px;border-radius:14px;background:linear-gradient(115deg,#ed334d,#be1f36 72%,#a71930);box-shadow:0 12px 28px #c8243b35,inset 0 1px 0 #ffffff27}
.match-stats-tabs,.analysis-side-switch,.body-view-switch{padding:4px;border:1px solid #ffffff17;border-radius:99px;background:#08090c99}
.match-stats-tab,.analysis-side-button,.body-view-button{min-height:38px;border-radius:99px;transition:background .18s,color .18s,box-shadow .18s}
.match-stats-tab.is-active,.analysis-side-button.is-active,.body-view-button.is-active{background:linear-gradient(120deg,#d92e46,#a81d33);box-shadow:0 5px 16px #bc20362e;color:#fff}
.deep-analysis-heading h3{font-size:clamp(23px,3vw,32px);letter-spacing:-.045em}
.analysis-count strong{color:#ff7083}
.goal-pitch-wrap{border:1px solid #ffffff1b;border-radius:18px;background:radial-gradient(ellipse at 50% 30%,#152d2070,#0b0d0c 75%);box-shadow:inset 0 1px 0 #ffffff08}
.match-stats-table-wrap{box-shadow:0 14px 34px #0003}
.coach-menu-card{grid-template-columns:50px minmax(0,1fr) auto 14px}
.settings-icon-button{transition:transform .5s var(--fct-motion),border-color .2s,background .2s}
.settings-icon-button:hover{transform:rotate(45deg);border-color:#ff52696b;background:#e02b4318}
.player-dialog,.player-login-dialog{border-color:#ffffff25;background:radial-gradient(ellipse at 80% 0%,#4b17204a,transparent 48%),linear-gradient(145deg,#191a1f,#0e0f12);box-shadow:0 38px 110px #000d,0 0 70px #e02b4310}
.player-login-dialog{padding:30px}
@media(max-width:760px){
  .topbar{min-height:66px}
  .entry-crest-wrap{width:76px;height:76px;border-radius:23px}
  .entry-option,.home-option{min-height:80px;padding:14px}
  .coach-menu-card{grid-template-columns:44px minmax(0,1fr) auto 12px}
  .entry-option-icon,.coach-menu-icon{width:44px;height:44px}
  .deep-analysis-heading{gap:18px}
}
@media(max-width:420px){
  .season-label{font-size:7px;letter-spacing:.1em}
  .entry-heading h1,.home-card h1{font-size:30px}
  .entry-option-copy small{font-size:10px}
  .player-login-dialog{padding:25px 20px}
}

/* Landing page composition: editorial club identity beside clear entry points */
.entry-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);column-gap:clamp(30px,6vw,76px);row-gap:4px;align-items:center;padding:clamp(32px,5vw,58px);background:linear-gradient(118deg,#111216e8,#101114d9 52%,#0a0b0edb);}
.entry-panel::after{position:absolute;z-index:0;right:-150px;bottom:-220px;width:470px;height:470px;border-radius:50%;background:radial-gradient(circle,#df2c451c 0%,#df2c4509 43%,transparent 70%);content:"";pointer-events:none}
.entry-panel>*{position:relative;z-index:1}
.entry-heading{grid-column:1;grid-row:1;text-align:left;padding:0 0 10px}
.entry-crest-wrap{width:96px;height:96px;margin:0 0 27px;border-radius:28px;background:linear-gradient(145deg,#252126,#111216);box-shadow:0 17px 40px #0008,0 0 34px #e02b4314,inset 0 1px 0 #ffffff19}
.entry-crest{width:60px;height:60px}
.entry-heading .home-kicker{margin:0 0 13px}
.entry-heading h1{max-width:9ch;margin:0 0 14px;font-size:clamp(38px,5.5vw,58px);line-height:.99;letter-spacing:-.065em}
.entry-heading .home-lead{max-width:31ch;margin:0;color:#c6c1c5;font-size:14px;line-height:1.7}
.entry-options{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;gap:14px;margin:0}
.entry-option{min-height:94px;padding:19px 20px;border-radius:19px;background:linear-gradient(120deg,#ffffff0e,#ffffff05 68%,#e02b430b);box-shadow:inset 0 1px 0 #ffffff0d,0 15px 35px #0003}
.entry-option-icon{width:52px;height:52px}
.entry-option-copy strong{font-size:16px}
.entry-option-copy small{max-width:28ch;font-size:11px}
.entry-option-arrow{width:34px;height:34px;display:grid;place-items:center;border:1px solid #ff526927;border-radius:50%;background:#e02b4310;font-size:17px}
.entry-footer{grid-column:1;grid-row:2;margin:3px 0 0;color:#b0aab0}
@media(max-width:760px){
  .entry-panel{grid-template-columns:1fr;column-gap:0;row-gap:0;padding:25px 20px 22px}
  .entry-heading{display:grid;grid-template-columns:62px minmax(0,1fr);column-gap:14px;align-items:center;padding:4px 0 20px;text-align:left}
  .entry-crest-wrap{grid-column:1;grid-row:1 / span 3;width:62px;height:62px;margin:0;border-radius:19px}
  .entry-crest{width:40px;height:40px}
  .entry-heading .home-kicker{grid-column:2;grid-row:1;margin:0 0 4px;font-size:8px}
  .entry-heading h1{grid-column:2;grid-row:2;max-width:none;margin:0;font-size:clamp(25px,7vw,32px);line-height:1.06;letter-spacing:-.05em}
  .entry-heading .home-lead{grid-column:1 / -1;grid-row:4;margin:14px 0 0;font-size:12px}
  .entry-options{grid-column:1;grid-row:2;gap:10px}
  .entry-option{min-height:78px;padding:13px 14px;border-radius:16px}
  .entry-option-icon{width:44px;height:44px}
  .entry-option-arrow{width:30px;height:30px}
  .entry-footer{grid-column:1;grid-row:3;margin-top:20px;text-align:center;font-size:9px}
}

/* Chosen art direction: premium training studio with restrained matchday energy */
:root{
  --fct-bg:#090a0c;
  --fct-surface:#f5f3ef;
  --fct-surface-raised:#fffdfa;
  --fct-surface-soft:#eeece7;
  --fct-line:#17171b18;
  --fct-line-strong:#17171b2c;
  --fct-text:#19191c;
  --fct-muted:#68676b;
  --fct-dim:#858389;
  --fct-red:#cf263d;
  --fct-red-bright:#e33149;
  --fct-red-soft:#a91f33;
  --fct-shadow:0 30px 90px #0008;
}
body:not(.home-page){background-image:radial-gradient(ellipse at 8% 0%,#47121d75,transparent 34rem),radial-gradient(ellipse at 100% 42rem,#19191db8,transparent 40rem),linear-gradient(180deg,#0d0e11 0%,#08090b 62rem)}
.home-card,.card{border:1px solid #ffffff80;background:linear-gradient(145deg,#fbf9f5f8,#f1efebf5);color:#1b1a1d;box-shadow:0 34px 100px #0009,inset 0 1px 0 #ffffffd9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.home-card::before,.card:not(.coach-conversation)::before{background:linear-gradient(90deg,transparent,#d12b42b8 20%,#d12b4240 54%,transparent 88%)}
.entry-panel{background:linear-gradient(112deg,#fbf9f5f5,#f2f0ebed 72%,#ebe8e3ed)}
.entry-panel::after{background:radial-gradient(circle,#d92d451b 0%,#d92d4508 43%,transparent 70%)}
.entry-heading h1,.home-card h1,.intro h1{color:#19191c}
.home-kicker,.eyebrow{color:#b92137}
.home-lead,.lead,.entry-heading .home-lead{color:#68666b}
.entry-crest-wrap{border-color:#ffffffc9;background:linear-gradient(145deg,#fff,#eae7e2);box-shadow:0 12px 28px #16131815,inset 0 1px 0 #fff}
.entry-option,.home-option,.coach-menu-card{border:1px solid #17171b18;background:linear-gradient(135deg,#fffefa,#f5f3ef);box-shadow:0 7px 18px #211b1410,inset 0 1px 0 #ffffff}
.entry-option:hover,.home-option:hover,.coach-menu-card:hover{border-color:#d02a423d;background:linear-gradient(125deg,#fff,#f8eeed);box-shadow:0 14px 27px #211b1419,0 0 0 1px #d02a420b}
.entry-option-copy strong,.home-option strong,.coach-menu-card strong{color:#19191c}
.entry-option-copy small,.home-option small,.coach-menu-card small{color:#747178}
.entry-option-icon,.coach-menu-icon{border-color:#d02a422b;background:linear-gradient(145deg,#f8e8e9,#f3efec);color:#bd263d;box-shadow:inset 0 1px 0 #fff}
.entry-option-arrow,.home-option-arrow,.coach-menu-card>b{border-color:#d02a4225;background:#d02a4208;color:#bd263d}
.entry-footer{color:#77747a}
.card-heading{border-bottom-color:#17171b14}
.card-heading h2,.section-heading h2,.intro h1{color:#19191c}
.eyebrow,.tile-label,.summary-tile small,.chart-title span,.recent-heading span,.session-main small,.training-date small,.training-summary small,.footer-note,.privacy-note,.weekly-footnote,.weekly-scale-note,.range-captions,.session-day-note{color:#77747a}
.step-badge,.player-identity-card{border-color:#17171b16;background:#ffffff8c;color:#444248}
.field,.message-compose label,.coach-conversation .message-compose label{color:#38363c}
.field input,.field select,.field textarea,.player-login-dialog input,.message-compose textarea,.coach-conversation .message-compose textarea{border-color:#17171b1c;background:#fffdfa;color:#19191c;box-shadow:inset 0 1px 2px #17171b08}
.field input::placeholder,.field textarea::placeholder{color:#9a979c}
.optional-fields{border-color:#17171b1c;color:#56535a}
.load-preview,.plan-note,.summary-tile,.weekly-stat,.weekly-metric,.weekly-insight,.weekly-session,.interval-card,.analysis-pitch-card,.latest-card,.period-card,.individual-stat,.team-period-card,.acwr-team-tile,.acwr-player-row,.acwr-method,.acwr-panel,.analysis-category,.roster-settings-list,.roster-player-row,.individual-roster,.individual-player{border-color:#17171b16;background:linear-gradient(145deg,#fffefa,#f0eee9);color:#29272c;box-shadow:0 6px 18px #211b140a,inset 0 1px 0 #fff}
.load-preview strong,.summary-tile strong,.weekly-stat strong,.individual-stat strong,.team-period-load strong,.acwr-team-tile strong{color:#19191c}
.load-preview small,.load-preview .unit,.summary-tile small,.weekly-stat>span,.weekly-metric-heading strong,.weekly-session>div strong,.team-period-card p,.team-period-card span,.team-summary-panel p,.acwr-intro p,.acwr-method,.acwr-method p,.acwr-player-row small,.acwr-caution,.individual-stat small{color:#77747a}
.plan-note{background:linear-gradient(115deg,#f7e8e8,#f5f0ec)}.plan-note p{color:#645b5e}.plan-note strong{color:#302327}
.chart-grid{stroke:#24212716}.chart-axis{fill:#77747a}.chart-line{stroke:#c92d43}
.recent-heading,.session-row,.player-row{border-color:#17171b17}.session-main strong,.training-date strong,.training-summary small,.player-row,.acwr-player-name,.roster-player-name strong,.individual-player span strong{color:#242227}
.session-avatar,.training-icon,.player-identity-initials{border-color:#d02a4222;background:#f7e8e9;color:#bd263d}
.session-value strong,.training-summary strong{color:#b92137}
.empty-list,.data-refresh,.session-help,.messages-coach-intro,.roster-settings-intro,.individual-intro,.match-stats-intro{color:#77747a}
.match-countdown,.match-stats-table-wrap{border:1px solid #17171b17;background:linear-gradient(145deg,#fffefa,#f0eee9);box-shadow:0 10px 28px #211b140e}
.match-countdown-number strong{color:#19191c}.match-countdown-details{color:#77747a}
.weekly-score-card{border-color:#d02a422c;background:radial-gradient(ellipse at 0 0,#d02a4218,transparent 60%),linear-gradient(130deg,#fff9f6,#f0ece8)}
.weekly-score-ring{background:conic-gradient(#ce2d44 var(--score-progress,0%),#dedbd6 0)}
.weekly-archive-item{border-color:#17171b18;background:linear-gradient(140deg,#fffefa,#f1efeb);color:#242227}
.weekly-archive-item:hover,.weekly-archive-item:focus-visible{border-color:#d02a4270;background:#fff8f6}
.message-thread{border-color:#17171b15;background:#e8e6e3}.message-thread .chat-bubble.from-coach,.coach-conversation .chat-bubble.from-coach{background:#fffdfa;color:#26242a}
.messages-card .message-empty{color:#69666d}.messages-card .message-empty strong{color:#252329}.messages-card .message-empty small{color:#77747a}
.messages-status{border-color:#d02a4238;background:#f8e8e9;color:#8e2032}
.team-summary-panel,.team-period-card,.acwr-roster-heading,.analysis-pitch-heading,.individual-empty,.individual-details .individual-empty{border-color:#17171b17;color:#29272c}
.team-period-card h4,.team-summary-panel h3,.acwr-roster-heading,.analysis-pitch-heading h4,.interval-card h4,.period-heading h4,.latest-wellbeing,.latest-soreness{color:#28262b}
.acwr-player-name,.individual-player span strong{color:#27252a}.individual-player{border-bottom-color:#17171b12}.individual-player:hover,.individual-player.selected{background:#f8e8e9}
.individual-details .individual-empty{background:#ffffffa8}
.coach-thread-item{border-color:#17171b18;background:#fffdfa;color:#27252a}.coach-thread-item:hover,.coach-thread-item.is-selected{border-color:#d02a426b;background:#fbefed}.coach-thread-item>small,.coach-thread-item>time{color:#77747a}
.coach-conversation{border-color:#d3d2d4;background:#e6e7e9;color:#202126}.coach-conversation-title{color:#25262b}.coach-conversation-messages{background:#dfe1e5}
.coach-conversation .chat-bubble.from-coach{background:#fff;color:#27252c}.coach-conversation .message-compose textarea{background:#fff;border-color:#cacbd0;color:#202126}
.coach-push-controls,.secure-login-tools,.player-credentials-panel{border-color:#17171b18;background:linear-gradient(125deg,#fffefa,#f0eee9);color:#29272c}
.match-stats-table thead th{background:#e9e6e1;color:#706d73}.match-stats-table tbody tr,.match-stats-table tbody th,.match-stats-table tbody td{background:#fffdfa;color:#333137}.match-stats-table tbody tr:hover{background:#f8f3f0}.match-stats-table tbody th{color:#242227}.match-stats-table tbody td::before{color:#77747a}
.match-stats-tabs,.analysis-side-switch,.body-view-switch{border-color:#17171b18;background:#e9e6e1}
.match-stats-tab,.analysis-side-button,.body-view-button{color:#6d6970}.match-stats-tab.is-active,.analysis-side-button.is-active,.body-view-button.is-active{background:#c92c43;color:#fff;box-shadow:0 4px 12px #c92c4330}
.analysis-category-name,.analysis-pitch-heading h4,.deep-analysis-heading h3{color:#28262b}
.analysis-count strong{color:#bd263d}.analysis-pitch-note,.deep-analysis-heading p,.deep-analysis-source{color:#77747a}
.goal-pitch-wrap{border-color:#17171b18;background:radial-gradient(ellipse at 50% 30%,#dbe9dc,#f0eee9 75%)}
.player-dialog,.player-login-dialog{border-color:#ffffffc9;background:linear-gradient(145deg,#fffdfa,#f0eee9);color:#242227;box-shadow:0 38px 110px #0009}
.player-dialog h2,.player-login-dialog h2,.login-player-name strong{color:#19191c}
.player-login-close,.dialog-close{border-color:#17171b18;background:#fff;color:#333137}
.player-remember-option{color:#444148!important}.player-remember-option small{color:#77747a!important}
.home-back,.player-back-link,.coach-link,.text-button,.settings-icon-button,.coach-home-logout{border-color:#17171b1b;background:#ffffffa3;color:#4d4a51}
.home-back:hover,.player-back-link:hover,.coach-link:hover,.text-button:hover{border-color:#d02a4270;background:#f8e8e9;color:#a52035}
.portrait-arrow{border-color:#ffffffd1;background:#faf8f4;color:#252329;box-shadow:0 10px 24px #0003}
.portrait-progress{background:#d9d6d2}.portrait-progress i{background:linear-gradient(90deg,#b92137,#e33149)}
.player-portrait-card{border-color:#ffffffd9;box-shadow:0 24px 48px #0007,0 0 0 1px #17171b12}.player-portrait-card.is-active{border-color:#cf263d;box-shadow:0 24px 60px #0008,0 0 0 3px #cf263d32}
.player-menu-panel .home-option,.entry-option,.coach-menu-card{border-radius:16px}
.match-stats-footnote,.deep-analysis-source,.weekly-footnote{color:#77747a}
.match-stats-footnote a{color:#a91f33}
.player-inbox-link{border-color:#17171b18;background:#ffffffb8;color:#37343a}
.inbox-unread-dot,.weekly-notice-dot{background:#d62a42;box-shadow:0 0 0 4px #d62a421a}
.form-message{color:#a92035}
.card h1,.card h2,.card h3,.card h4,.coach-home-heading h2{color:#1b1a1e}
.coach-home-heading p,.coach-intro,.coach-home-heading p,.deep-analysis-heading p{color:#706d73}
.match-stats-search input,.match-stats-tools input,.user-tools select,.roster-add-form input,.roster-add-form select,.login-card input{border:1px solid #17171b1b;border-radius:12px;background:#fffdfa;color:#242227}
.match-sort-option,.roster-action-button,.profile-upload-button{border-color:#17171b1b;background:#fffdfa;color:#57545b}
.match-sort-option[aria-pressed="true"]{border-color:#c92c43;background:#c92c43;color:#fff}
.chart-empty,.daily-readiness-note,.analysis-category-count,.pitch-legend,.legend{color:#77747a}
.acwr-info,.acwr-info-popover{border-color:#17171b1d;background:#fffdfa;color:#343137;box-shadow:0 12px 32px #0002}
.daily-readiness-alerts,.daily-readiness-list,.body-map-wrap,.anatomy-back,.anatomy-front{border-color:#17171b18}
.login-card .eyebrow,.login-card h1,.login-card h2{color:#1b1a1e}
.reset-card h1,.messages-card h1,.weekly-report-panel h1{color:#1b1a1e}
.entry-heading h1,.home-card h1,.intro h1,.card h1,.card h2,.card h3,.card h4,.coach-home-heading h2,.deep-analysis-heading h3,.login-card h1,.login-card h2{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:700;letter-spacing:.005em}
body,button,input,select,textarea{font-family:'Source Sans 3','Helvetica Neue',sans-serif}
.entry-heading h1{font-size:clamp(44px,6.2vw,68px);line-height:.92;letter-spacing:-.015em}
.card-heading h2,.section-heading h2{font-size:23px;letter-spacing:.015em}
.summary-tile strong,.weekly-stat strong,.individual-stat strong,.match-countdown-number strong,.analysis-count strong,.analysis-score-pair strong{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.015em}
.entry-option-copy strong,.home-option strong,.coach-menu-card strong,.field,.step-badge,.season-label{font-family:'Source Sans 3','Helvetica Neue',sans-serif}
@media(max-width:760px){
  .home-card,.card{border-radius:22px}
  .entry-panel{background:linear-gradient(145deg,#fbf9f5f8,#f0eee9f4)}
  .player-main,.coach-main{padding-top:21px}
  .entry-option{min-height:76px}
}

/* Dark, club-led finish with a less conventional type system */
:root{
  color-scheme:dark;
  --fct-bg:#08090b;
  --fct-surface:#111216;
  --fct-surface-raised:#191a1f;
  --fct-surface-soft:#202126;
  --fct-line:#ffffff17;
  --fct-line-strong:#ffffff27;
  --fct-text:#f1eff0;
  --fct-muted:#a5a2a8;
  --fct-dim:#77747c;
  --fct-red:#d42d43;
  --fct-red-bright:#f04a60;
  --fct-red-soft:#f08390;
  --fct-shadow:0 30px 90px #0009;
}
body,button,input,select,textarea{font-family:'IBM Plex Sans','Helvetica Neue',sans-serif}
body{color:#f1eff0;background:radial-gradient(ellipse at 50% -12rem,#38131b88,transparent 40rem),linear-gradient(180deg,#0c0d10 0%,#08090b 62rem)}
body:not(.home-page){background-image:radial-gradient(ellipse at 8% 0%,#43121c7d,transparent 35rem),radial-gradient(ellipse at 100% 40rem,#17171c88,transparent 42rem),linear-gradient(180deg,#0c0d10 0%,#08090b 62rem)}
body.home-page{background-image:linear-gradient(180deg,#06070970 0%,#08090ba8 48%,#08090be8 100%),linear-gradient(100deg,#06070996,#090a0a14 52%,#06070996),url('landing-background.jpg');background-position:center,center,center 54%;background-size:cover,cover,cover}
.topbar{background:linear-gradient(180deg,#090a0ff2,#0b0c0fe3);border-bottom-color:#ffffff16}
.home-card,.card{border:1px solid #ffffff20;background:linear-gradient(145deg,#17181cf2,#101114f5);color:#f1eff0;box-shadow:0 34px 100px #0009,inset 0 1px 0 #ffffff0b}
.entry-panel{background:linear-gradient(118deg,#15161aeF,#101114ea 62%,#0d0e12e8)}
.entry-panel::after{background:radial-gradient(circle,#d92d4528 0%,#d92d4508 45%,transparent 70%)}
.entry-heading h1,.home-card h1,.intro h1,.card h1,.card h2,.card h3,.card h4,.coach-home-heading h2,.deep-analysis-heading h3,.login-card h1,.login-card h2{color:#f4f1f2}
.entry-heading h1,.home-card h1,.intro h1,.card h1,.card h2,.card h3,.card h4,.coach-home-heading h2,.deep-analysis-heading h3,.login-card h1,.login-card h2{font-family:'Space Grotesk','Arial',sans-serif;font-weight:600;letter-spacing:-.035em}
.entry-heading h1{font-size:clamp(39px,5.8vw,62px);line-height:.98;letter-spacing:-.055em}
.card-heading h2,.section-heading h2{font-size:20px;letter-spacing:-.025em}
.home-kicker,.eyebrow{color:#f17c89}
.home-lead,.lead,.entry-heading .home-lead,.coach-home-heading p,.coach-intro,.deep-analysis-heading p{color:#aaa7ad}
.entry-crest-wrap{border-color:#ffffff22;background:radial-gradient(circle at 35% 20%,#df2b433d,#201116 70%);box-shadow:0 17px 42px #0008,inset 0 1px 0 #ffffff12}
.entry-option,.home-option,.coach-menu-card{border:1px solid #ffffff19;background:linear-gradient(120deg,#ffffff0c,#ffffff04 68%,#d92d430b);box-shadow:inset 0 1px 0 #ffffff0b,0 12px 30px #0003}
.entry-option:hover,.home-option:hover,.coach-menu-card:hover{border-color:#f04a607a;background:linear-gradient(120deg,#d92d4325,#ffffff07 65%);box-shadow:0 16px 38px #0007,0 0 28px #d92d4311}
.entry-option-copy strong,.home-option strong,.coach-menu-card strong{color:#f4f1f2;font-family:'Space Grotesk',sans-serif;font-weight:600;letter-spacing:-.02em}
.entry-option-copy small,.home-option small,.coach-menu-card small{color:#aaa7ad}
.entry-option-icon,.coach-menu-icon{border-color:#d92d4348;background:linear-gradient(145deg,#3a171f,#211317);color:#f17c89;box-shadow:inset 0 1px 0 #ffffff10}
.entry-option-arrow,.home-option-arrow,.coach-menu-card>b{border-color:#f04a6035;background:#d92d4316;color:#f17c89}
.entry-footer{color:#99969d}
.card-heading{border-bottom-color:#ffffff14}.eyebrow,.tile-label,.summary-tile small,.chart-title span,.recent-heading span,.session-main small,.training-date small,.training-summary small,.footer-note,.privacy-note,.weekly-footnote,.weekly-scale-note,.range-captions,.session-day-note{color:#96939a}
.step-badge,.player-identity-card{border-color:#ffffff19;background:#ffffff08;color:#d5d1d5}
.field,.message-compose label,.coach-conversation .message-compose label{color:#d9d5d8}
.field input,.field select,.field textarea,.player-login-dialog input,.message-compose textarea,.coach-conversation .message-compose textarea,.match-stats-search input,.match-stats-tools input,.user-tools select,.roster-add-form input,.roster-add-form select,.login-card input{border:1px solid #ffffff20;border-radius:12px;background:#0d0e11;color:#f1eff0;box-shadow:inset 0 1px 2px #0004}
.field input::placeholder,.field textarea::placeholder{color:#79767e}
.optional-fields{border-color:#ffffff16;color:#cfccd0}
.load-preview,.plan-note,.summary-tile,.weekly-stat,.weekly-metric,.weekly-insight,.weekly-session,.interval-card,.analysis-pitch-card,.latest-card,.period-card,.individual-stat,.team-period-card,.acwr-team-tile,.acwr-player-row,.acwr-method,.acwr-panel,.analysis-category,.roster-settings-list,.roster-player-row,.individual-roster,.individual-player{border-color:#ffffff17;background:linear-gradient(145deg,#1b1c21,#111216);color:#e7e3e6;box-shadow:0 8px 24px #0003,inset 0 1px 0 #ffffff07}
.load-preview strong,.summary-tile strong,.weekly-stat strong,.individual-stat strong,.team-period-load strong,.acwr-team-tile strong{color:#f5f2f3}
.load-preview small,.load-preview .unit,.summary-tile small,.weekly-stat>span,.weekly-metric-heading strong,.weekly-session>div strong,.team-period-card p,.team-period-card span,.team-summary-panel p,.acwr-intro p,.acwr-method,.acwr-method p,.acwr-player-row small,.acwr-caution,.individual-stat small{color:#a5a2a8}
.plan-note{background:linear-gradient(115deg,#2a171c,#171519)}.plan-note p{color:#c9c0c3}.plan-note strong{color:#f2e9eb}
.chart-grid{stroke:#ffffff14}.chart-axis{fill:#9b98a0}.chart-line{stroke:#f04a60}
.recent-heading,.session-row,.player-row{border-color:#ffffff14}.session-main strong,.training-date strong,.player-row,.acwr-player-name,.roster-player-name strong,.individual-player span strong{color:#f0edef}
.session-avatar,.training-icon,.player-identity-initials{border-color:#ffffff16;background:#32161d;color:#f17c89}
.session-value strong,.training-summary strong{color:#f17c89}
.empty-list,.data-refresh,.session-help,.messages-coach-intro,.roster-settings-intro,.individual-intro,.match-stats-intro{color:#a09da4}
.match-countdown,.match-stats-table-wrap{border:1px solid #ffffff19;background:linear-gradient(145deg,#191a1e,#111216);box-shadow:0 12px 32px #0004}
.match-countdown-number strong{color:#f4f1f2}.match-countdown-details{color:#a09da4}
.weekly-score-card{border-color:#d92d4345;background:radial-gradient(ellipse at 0 0,#d92d4324,transparent 60%),linear-gradient(130deg,#26181c,#141519)}
.weekly-score-ring{background:conic-gradient(#f04a60 var(--score-progress,0%),#ffffff18 0)}
.weekly-archive-item{border-color:#ffffff19;background:linear-gradient(140deg,#1b1c21,#121317);color:#f0edef}
.weekly-archive-item:hover,.weekly-archive-item:focus-visible{border-color:#f04a6070;background:#25171b}
.message-thread{border-color:#ffffff17;background:#0c0d10}.message-thread .chat-bubble.from-coach{background:#24252b;color:#f0eef1}
.messages-card .message-empty{color:#a6a3aa}.messages-card .message-empty strong{color:#f2eff1}.messages-card .message-empty small{color:#aaa7ad}
.messages-status{border-color:#d92d4352;background:#29161b;color:#ffdce0}
.team-summary-panel,.team-period-card,.acwr-roster-heading,.analysis-pitch-heading,.individual-empty,.individual-details .individual-empty{border-color:#ffffff19;color:#e8e4e7}
.team-period-card h4,.team-summary-panel h3,.acwr-roster-heading,.analysis-pitch-heading h4,.interval-card h4,.period-heading h4,.latest-wellbeing,.latest-soreness{color:#f0edef}
.acwr-player-name,.individual-player span strong{color:#eeeaf0}.individual-player{border-bottom-color:#ffffff14}.individual-player:hover,.individual-player.selected{background:#24171b}
.individual-details .individual-empty{background:#ffffff06}
.coach-thread-item{border-color:#ffffff19;background:#191a1f;color:#eeeaf0}.coach-thread-item:hover,.coach-thread-item.is-selected{border-color:#f04a6074;background:#25181c}.coach-thread-item>small,.coach-thread-item>time{color:#a5a2a8}
.coach-conversation{border-color:#ffffff16;background:#d9dadd;color:#202126}.coach-conversation-title{color:#25262b}.coach-conversation-messages{background:#d1d3d7}
.coach-conversation .chat-bubble.from-coach{background:#f0f0f1;color:#27272b}.coach-conversation .message-compose textarea{background:#f3f3f4;border-color:#c2c3c8;color:#202126}
.coach-push-controls,.secure-login-tools,.player-credentials-panel{border-color:#ffffff18;background:linear-gradient(125deg,#1b1c20,#121317);color:#e8e4e7}
.match-stats-table thead th{background:#202126;color:#a7a4aa}.match-stats-table tbody tr,.match-stats-table tbody th,.match-stats-table tbody td{background:#131418;color:#e9e7e9}.match-stats-table tbody tr:hover{background:#1d1e23}.match-stats-table tbody th{color:#f5f2f4}.match-stats-table tbody td::before{color:#a7a5ab}
.match-stats-tabs,.analysis-side-switch,.body-view-switch{border-color:#ffffff18;background:#0a0b0e}
.match-stats-tab,.analysis-side-button,.body-view-button{color:#b6b2b9}.match-stats-tab.is-active,.analysis-side-button.is-active,.body-view-button.is-active{background:linear-gradient(120deg,#cf263d,#9f1d30);color:#fff;box-shadow:0 5px 15px #c92c4335}
.analysis-category-name,.analysis-pitch-heading h4,.deep-analysis-heading h3{color:#f0edef}
.analysis-count strong{color:#f17c89}.analysis-pitch-note,.deep-analysis-heading p,.deep-analysis-source{color:#a5a2a8}
.goal-pitch-wrap{border-color:#ffffff19;background:radial-gradient(ellipse at 50% 30%,#17322280,#0c0e0d 75%)}
.player-dialog,.player-login-dialog{border-color:#ffffff26;background:radial-gradient(ellipse at 80% 0%,#4b17204a,transparent 48%),linear-gradient(145deg,#191a1f,#0e0f12);color:#f1eff0;box-shadow:0 38px 110px #000c}
.player-dialog h2,.player-login-dialog h2,.login-player-name strong{color:#f4f1f2}
.player-login-close,.dialog-close{border-color:#ffffff1b;background:#25262b;color:#f1eff0}
.player-remember-option{color:#d8d4d7!important}.player-remember-option small{color:#99979d!important}
.home-back,.player-back-link,.coach-link,.text-button,.settings-icon-button,.coach-home-logout{border-color:#ffffff1b;background:#ffffff08;color:#d8d4d7}
.home-back:hover,.player-back-link:hover,.coach-link:hover,.text-button:hover{border-color:#d92d4370;background:#d92d431c;color:#fff}
.portrait-arrow{border-color:#ffffff25;background:#17181d;color:#f4f1f2;box-shadow:0 10px 24px #0005}
.portrait-progress{background:#ffffff1c}.portrait-progress i{background:linear-gradient(90deg,#b91f35,#f04a60)}
.player-portrait-card{border-color:#ffffff36;box-shadow:0 24px 48px #0009,0 0 0 1px #ffffff0b}.player-portrait-card.is-active{border-color:#f04a60;box-shadow:0 24px 60px #000b,0 0 0 3px #cf263d40}
.match-sort-option,.roster-action-button,.profile-upload-button{border-color:#ffffff1b;background:#17181d;color:#d8d4d7}
.match-sort-option[aria-pressed="true"]{border-color:#cf263d;background:#cf263d;color:#fff}
.chart-empty,.daily-readiness-note,.analysis-category-count,.pitch-legend,.legend,.match-stats-footnote,.deep-analysis-source{color:#a09da4}
.acwr-info,.acwr-info-popover{border-color:#ffffff1c;background:#1a1b20;color:#e9e6e9;box-shadow:0 12px 32px #0006}
.daily-readiness-alerts,.daily-readiness-list,.body-map-wrap,.anatomy-back,.anatomy-front{border-color:#ffffff19}
.login-card .eyebrow,.login-card h1,.login-card h2,.reset-card h1,.messages-card h1,.weekly-report-panel h1{color:#f4f1f2}
@media(max-width:760px){.entry-panel{background:linear-gradient(145deg,#17181cf2,#101114f5)}.entry-option{min-height:76px}.entry-heading h1{font-size:clamp(30px,8vw,38px);line-height:1}}

/* Alignment pass: reserve real space for icons and arrows on every width */
.entry-option{display:grid;grid-template-columns:50px minmax(0,1fr) 34px;align-items:center;gap:14px;width:100%;min-width:0;padding:16px 18px;text-align:left}
.entry-option-icon{display:grid;place-items:center;flex:0 0 50px}
.entry-option-copy{display:block;min-width:0;text-align:left}
.entry-option-copy strong,.entry-option-copy small{display:block;min-width:0;text-align:left}
.entry-option-copy small{overflow-wrap:anywhere}
.entry-option-arrow{display:grid;width:30px;height:30px;place-items:center;justify-self:center;flex:none;margin:0;border-radius:50%;font-size:17px;line-height:1;text-align:center}
.home-option{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-width:0;padding:14px 16px;text-align:left}
.home-option>span:first-child{flex:1 1 auto;min-width:0;text-align:left}
.home-option>span:first-child strong,.home-option>span:first-child small{display:block;text-align:left;overflow-wrap:anywhere}
.home-option-arrow{display:grid;flex:0 0 28px;width:28px;height:28px;place-items:center;margin-left:auto;font-size:18px;line-height:1;text-align:center}
.weekly-notice-dot{flex:0 0 8px}
.coach-menu-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto 28px;align-items:center;gap:12px;width:100%;min-width:0;padding:14px 18px;text-align:left}
.coach-menu-icon{display:grid;width:42px;height:42px;place-items:center;flex:0 0 42px;line-height:1}
.coach-menu-card>span:nth-child(2){display:block;min-width:0;text-align:left}
.coach-menu-card>span:nth-child(2) strong,.coach-menu-card>span:nth-child(2) small{display:block;text-align:left;overflow-wrap:anywhere}
.coach-menu-card>b{display:grid;grid-column:4;grid-row:1;width:26px;height:26px;place-items:center;justify-self:end;margin:0;font-size:20px;line-height:1;text-align:center}
.coach-menu-card .coach-unread-count{grid-column:3;justify-self:end}
.primary-button,.login-submit,.text-button,.home-back,.player-back-link,.coach-link,.match-stats-tab,.analysis-side-button,.body-view-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;vertical-align:middle}
.primary-button{padding:0 17px;line-height:1.2}
.login-submit{display:grid;grid-template-columns:minmax(0,1fr) 28px;gap:8px;padding:0 14px;text-align:left}
.login-submit>span:first-child{text-align:center}
.login-submit>span:last-child{display:grid;width:26px;height:26px;place-items:center;justify-self:end}
.text-button,.home-back,.player-back-link,.coach-link{padding:0 13px;white-space:nowrap;line-height:1.2}
.card-heading{gap:12px;align-items:center}
.card-heading>div{min-width:0}
.card-heading .text-button{flex:0 0 auto}
@media(max-width:760px){
 .entry-option{grid-template-columns:44px minmax(0,1fr) 30px;gap:11px;min-height:76px;padding:12px 13px}
 .entry-option-icon{width:44px;height:44px;flex-basis:44px}
 .entry-option-arrow{width:28px;height:28px}
 .coach-menu-card{grid-template-columns:38px minmax(0,1fr) auto 24px;gap:9px;padding:12px}
 .coach-menu-icon{width:38px;height:38px;flex-basis:38px}
 .coach-menu-card>b{grid-column:4;width:23px;height:23px}
 .card-heading{gap:8px}
 .card-heading .text-button{padding:0 10px;font-size:11px}
}
.remember-portrait-option{display:flex;align-items:center;justify-content:center;gap:9px;width:max-content;max-width:100%;margin:12px auto 0;padding:7px 11px;border:1px solid #ffffff16;border-radius:999px;background:#ffffff06;color:#bcb8be;font-size:11px;line-height:1.35;cursor:pointer}
.remember-portrait-option input{width:16px;height:16px;margin:0;accent-color:#d42d43;flex:0 0 16px}
.remember-portrait-option:focus-within{border-color:#f04a606e;box-shadow:0 0 0 3px #d42d4318}
@media(max-width:760px){.remember-portrait-option{margin-top:10px;font-size:10px}}

/* One typography system across pages: IBM Plex Sans for UI, Space Grotesk for display */
body,body *{font-family:'IBM Plex Sans','Helvetica Neue',sans-serif!important}
body h1,body h2,body h3,body h4,
.entry-heading h1,.intro h1,.home-card h1,.card-heading h2,.section-heading h2,
.coach-home-heading h2,.deep-analysis-heading h3,.player-dialog h2,.player-login-dialog h2,
.week-pill strong,.summary-tile strong,.weekly-stat strong,.individual-stat strong,
.match-countdown-number strong,.analysis-count strong,.analysis-score-pair strong{font-family:'Space Grotesk',Arial,sans-serif!important;font-weight:600;letter-spacing:-.025em}
.entry-heading h1{max-width:none;text-wrap:balance}
.week-pill strong,.summary-tile strong,.weekly-stat strong,.individual-stat strong,.match-countdown-number strong,.analysis-count strong,.analysis-score-pair strong{font-variant-numeric:tabular-nums}
.demo-player-entry{display:grid;grid-template-columns:36px minmax(0,1fr) 28px;align-items:center;gap:11px;width:min(100%,390px);min-height:58px;margin:14px auto 0;padding:9px 12px;border:1px solid #ffffff17;border-radius:15px;background:#ffffff05;color:#e6e2e5;text-decoration:none;transition:border-color .18s,background .18s}
.demo-player-entry:hover,.demo-player-entry:focus-visible{border-color:#f04a6066;background:#d42d4310}
.demo-player-entry img{width:34px;height:34px;object-fit:contain}
.demo-player-entry span{display:grid;min-width:0;gap:2px}
.demo-player-entry small{color:#a49fa6;font-size:8px;letter-spacing:.08em;line-height:1.3}
.demo-player-entry strong{color:#f0ecef;font-size:11px;font-weight:600}
.demo-player-entry b{display:grid;width:26px;height:26px;place-items:center;justify-self:end;border:1px solid #f04a6030;border-radius:50%;color:#f17c89;font-size:15px;line-height:1}
.demo-expired{border-radius:14px}

.player-setup-link{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:14px;padding:11px 2px;border:0;background:none;color:#d8a3aa;font:600 11px inherit;cursor:pointer}.player-setup-link span{color:#fa526b;font-size:18px}.player-setup-dialog{position:relative;width:min(440px,calc(100% - 30px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #ffffff24;border-top:2px solid #ed334d;border-radius:22px;padding:28px 24px 21px;background:radial-gradient(ellipse at 85% 0%,#50192356,transparent 48%),linear-gradient(145deg,#191a1f,#0d0e11);color:#f1eff0;box-shadow:0 38px 110px #000d}.player-setup-dialog::backdrop{background:#050405c9;backdrop-filter:blur(7px)}.player-setup-dialog .home-kicker{margin:0 0 8px}.player-setup-dialog h2{max-width:calc(100% - 30px);margin:0 0 9px;color:#f4f1f2;font:600 22px 'Space Grotesk','Arial',sans-serif;letter-spacing:-.035em}.setup-intro,.setup-note{color:#aaa7ac;font-size:12px;line-height:1.6}.setup-steps{display:grid;gap:10px;margin:20px 0 24px;padding-left:27px;color:#e2dfe1;font-size:13px;line-height:1.55}.setup-steps li{padding-left:5px}.setup-steps li::marker{color:#ff7184;font-weight:700}.setup-reminder-preview{display:grid;grid-template-columns:57px 1fr;gap:10px;align-items:center;margin:12px 0;padding:12px;border:1px solid #ffffff17;border-radius:13px;background:#ffffff08}.setup-reminder-preview>span{color:#ff7184;font:700 13px 'Space Grotesk',sans-serif}.setup-reminder-preview p{margin:0;color:#e9e6e8;font-size:11px;line-height:1.5}.setup-note{margin:13px 0}.setup-actions{display:grid;gap:9px;margin-top:17px}.setup-actions .login-submit{font:inherit}.setup-later{justify-self:center;padding:8px 14px;border:0;background:transparent;color:#aaa7ac;font:600 11px inherit;cursor:pointer}.player-setup-dialog [hidden]{display:none!important}

.player-setup-link{font:600 11px 'DM Sans',sans-serif}.setup-later{font:600 11px 'DM Sans',sans-serif}
