*{box-sizing:border-box}
:root{
  --bg:#03101c;--bg2:#071827;--card:#0b1d2d;--card2:#0f2639;--line:#18364d;--text:#f4f8fb;
  --muted:#91a6b8;--blue:#1389ff;--blue2:#0c6fe1;--green:#68d54f;--gold:#f6c64c;--red:#e95f68;
  --shadow:0 12px 30px rgba(0,0,0,.35)
}
html,body{margin:0;min-height:100%;background:#020812;color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{display:flex;justify-content:center}
button,input,select{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}
.app-shell{width:min(100%,460px);min-height:100vh;background:radial-gradient(circle at 50% -10%,#0c2742 0,#051421 35%,#020a12 75%);position:relative;overflow:hidden}
.setup-screen{min-height:100vh;padding:calc(env(safe-area-inset-top) + 34px) 20px calc(env(safe-area-inset-bottom) + 28px);display:grid;place-items:center}
.setup-card{width:100%;background:linear-gradient(180deg,rgba(13,32,49,.97),rgba(6,18,29,.97));border:1px solid #15364d;border-radius:26px;padding:24px;box-shadow:var(--shadow)}
.logo-badge{width:70px;height:70px;border-radius:20px;background:linear-gradient(145deg,#188eff,#0643a5);display:grid;place-items:center;font-weight:1000;font-size:1.5rem;box-shadow:0 12px 25px rgba(19,137,255,.28)}
.kicker{font-size:.72rem;font-weight:900;letter-spacing:.14em;color:#65b8ff;margin:18px 0 5px}
.setup-card h1{font-size:2.3rem;line-height:1.02;margin:0 0 10px}
.setup-copy{color:var(--muted);line-height:1.5;margin-bottom:20px}
label{display:grid;gap:7px;color:#a8bfd1;font-size:.76rem;font-weight:800;margin:13px 0}
input,select{width:100%;background:#081827;color:#fff;border:1px solid #1b405d;border-radius:12px;padding:13px 14px;outline:none}
input:focus,select:focus{border-color:var(--blue)}
.primary-btn,.secondary-btn,.danger-btn,.age-next-btn{border:0;border-radius:10px;padding:13px 14px;font-weight:900;letter-spacing:.02em}
.primary-btn,.age-next-btn{background:linear-gradient(180deg,#178dff,#0869d4);color:white;box-shadow:inset 0 1px rgba(255,255,255,.18)}
.secondary-btn{background:#0b2236;color:#e8f4ff;border:1px solid #224961}
.danger-btn{background:#35151b;color:#ffabb2;border:1px solid #6d2c35}
.compact{padding:11px 12px;width:100%}
.setup-card .primary-btn,.setup-card .secondary-btn{width:100%;margin-top:10px}
.game-screen{min-height:100vh;padding:calc(env(safe-area-inset-top) + 10px) 12px calc(78px + env(safe-area-inset-bottom));}
.player-card{display:grid;grid-template-columns:72px 1fr;gap:12px;background:linear-gradient(180deg,#0d2437,#081827);border:1px solid #16364d;border-radius:13px;padding:11px;box-shadow:var(--shadow)}
.avatar{width:72px;height:72px;border-radius:10px;background:linear-gradient(145deg,#17436b,#071a2a);border:1px solid #2a5d80;display:grid;place-items:center;font-weight:1000;font-size:1.45rem}
.player-main{min-width:0}
.name-row{display:flex;justify-content:space-between;gap:10px;align-items:start}
.name-row h1{font-size:1.18rem;margin:1px 0 2px}
.name-row p{margin:0;color:#c1d0db;font-size:.78rem}
.flag-chip{width:30px;height:22px;border-radius:6px;background:#17385a;display:grid;place-items:center;color:#ffcf54}
.headline-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:10px}
.headline-stats div{text-align:center;border-right:1px solid #1d3a4f}
.headline-stats div:last-child{border-right:0}
.headline-stats strong,.headline-stats span{display:block}
.headline-stats strong{color:#fff;font-size:.95rem}
.headline-stats div:first-child strong{color:#77e55f}
.headline-stats div:nth-child(2) strong{color:#ffd54c}
.headline-stats span{font-size:.63rem;color:#9cb1c1;margin-top:1px}
.energy-card{margin-top:9px;background:#071827;border:1px solid #15354a;border-radius:11px;padding:10px 11px}
.energy-head{display:flex;justify-content:space-between;font-size:.72rem;font-weight:900}
.energy-track{height:8px;background:#173047;border-radius:999px;overflow:hidden;margin-top:7px}
.energy-track div{height:100%;width:100%;background:linear-gradient(90deg,#58c83f,#7ae65b)}
.top-tabs{display:grid;grid-template-columns:repeat(4,1fr);margin:9px 0;background:#071522;border:1px solid #15354a;border-radius:10px;overflow:hidden}
.top-tab{padding:10px 4px;background:transparent;color:#c2d0da;border:0;border-right:1px solid #15354a;font-size:.68rem}
.top-tab:last-child{border-right:0}
.top-tab.active{background:linear-gradient(180deg,#168bff,#0869d4);color:#fff;font-weight:900}
.content-area{padding-bottom:10px}
.content-section,.bottom-view{display:none}
.content-section.active,.bottom-view.active{display:block}
.panel{background:linear-gradient(180deg,#0b1d2d,#081725);border:1px solid #16364c;border-radius:11px;padding:12px;margin-bottom:9px;box-shadow:0 8px 18px rgba(0,0,0,.18)}
.panel-title{font-size:.78rem;font-weight:1000;letter-spacing:.02em;margin-bottom:10px}
.up-next{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center;background:#0d2234;border:1px solid #173b55;border-radius:9px;padding:10px}
.up-next-icon{width:42px;height:42px;border-radius:8px;background:#122d44;display:grid;place-items:center;font-size:1.15rem}
.up-next strong{font-size:.88rem}
.up-next p{margin:2px 0 0;color:#95aabd;font-size:.72rem;line-height:1.4}
.choice-list{display:grid;gap:7px;margin-top:8px}
.choice-btn{background:#10283b;color:#fff;border:1px solid #21465f;border-radius:9px;padding:10px;text-align:left;font-weight:800}
.age-next-btn{width:100%;margin-top:9px}
.section-row{display:flex;justify-content:space-between;align-items:center;color:#b8c9d6;font-size:.78rem}
.attribute-bars{display:grid;gap:8px}
.attr-row{display:grid;grid-template-columns:94px 1fr 28px;gap:9px;align-items:center;font-size:.76rem}
.attr-row>span{color:#dce8f1}
.attr-track{height:9px;background:#1a3347;border-radius:3px;overflow:hidden}
.attr-track i{display:block;height:100%;background:linear-gradient(90deg,#55c943,#78da58)}
.attr-row strong{text-align:right}
.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:9px}
.quick-card{min-height:68px;background:linear-gradient(180deg,#0b1d2d,#071622);color:#fff;border:1px solid #17364c;border-radius:10px;font-size:1.3rem}
.quick-card span{display:block;font-size:.64rem;font-weight:900;margin-top:5px}
.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.info-grid div,.info-grid p{margin:0;background:#0d2234;border:1px solid #17384f;border-radius:9px;padding:9px}
.info-grid span{display:block;color:#8fa5b7;font-size:.65rem}
.info-grid strong{font-size:.82rem}
.list-rows{display:grid;gap:6px}
.list-row{display:grid;grid-template-columns:1fr auto;gap:10px;background:#0d2234;border:1px solid #17384f;border-radius:8px;padding:9px 10px;font-size:.74rem}
.list-row span{color:#9fb1c0}
.hero-number{text-align:center;font-size:2rem;font-weight:1000;color:#79e45d}
.muted-center{text-align:center;color:#8196a8;font-size:.72rem}
.martial-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.martial-card{background:#0d2234;border:1px solid #17384f;border-radius:8px;padding:9px;font-size:.72rem}
.martial-card strong,.martial-card span{display:block}
.martial-card span{color:#92a8b8;margin-top:2px}
.people-list{display:grid;gap:7px}
.person{display:grid;grid-template-columns:1fr auto;background:#0d2234;border:1px solid #17384f;border-radius:8px;padding:9px}
.person strong{font-size:.8rem}
.person small{display:block;color:#92a8b8;margin-top:2px}
.status-box{background:#0d2234;border:1px solid #17384f;border-radius:9px;padding:10px;color:#a9bdcb;font-size:.75rem;line-height:1.5}
.list-buttons{display:grid;gap:7px}
.list-button{display:grid;grid-template-columns:1fr auto;background:#0d2234;color:#fff;border:1px solid #17384f;border-radius:8px;padding:10px;text-align:left}
.list-button small{display:block;color:#90a7b8;margin-top:2px}
.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.life-feed{display:grid;gap:7px;max-height:360px;overflow:auto}
.feed-item{border-left:3px solid #178dff;background:#0d2234;border-radius:7px;padding:9px}
.feed-item strong{display:block;color:#72baff;font-size:.66rem;margin-bottom:2px}
.feed-item p{margin:0;color:#adc0ce;font-size:.73rem;line-height:1.4}
.bottom-nav{position:fixed;bottom:0;width:min(100%,460px);height:calc(66px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(5,1fr);background:rgba(4,14,23,.97);border-top:1px solid #17364c;backdrop-filter:blur(12px);z-index:20}
.nav-btn{background:transparent;color:#a4b3bf;border:0;font-size:1.05rem}
.nav-btn span{display:block;font-size:.58rem;margin-top:2px}
.nav-btn.active{color:#4aa6ff}
.toast{position:fixed;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(25px);opacity:0;background:#0d2334;color:#fff;border:1px solid #285878;padding:9px 13px;border-radius:999px;font-size:.75rem;font-weight:800;transition:.2s;z-index:40}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
@media(min-width:461px){.app-shell{box-shadow:0 0 80px rgba(0,0,0,.5)}}

.quick-card small{
  display:block;
  color:#7fb9e8;
  font-size:.52rem;
  margin-top:4px;
  line-height:1.15;
}
.quick-card:active,.nav-btn:active,.top-tab:active{
  transform:scale(.97);
}
.bottom-view.active,.content-section.active{
  animation:viewIn .12s ease-out;
}
@keyframes viewIn{
  from{opacity:.55;transform:translateY(3px)}
  to{opacity:1;transform:translateY(0)}
}

.status-strip{
  display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:8px 0;
  background:#18364d;border:1px solid #18364d;border-radius:10px;overflow:hidden
}
.status-strip div{background:#071827;padding:8px 4px;text-align:center;min-width:0}
.status-strip span,.status-strip strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.status-strip span{font-size:.48rem;color:#7794aa;font-weight:900;letter-spacing:.08em}
.status-strip strong{font-size:.65rem;color:#eaf5fd;margin-top:2px}
.panel-title{display:flex;justify-content:space-between;align-items:center;gap:8px}
.panel-title small{font-size:.48rem;color:#6488a3;font-weight:900;letter-spacing:.06em;text-align:right}
.primary-btn,.secondary-btn,.danger-btn,.age-next-btn,.quick-card,.nav-btn,.top-tab,.choice-btn,.list-button,.martial-card{
  -webkit-tap-highlight-color:transparent;touch-action:manipulation
}
.primary-btn:active,.secondary-btn:active,.age-next-btn:active,.choice-btn:active,.list-button:active{
  transform:scale(.985);filter:brightness(1.12)
}
.quick-card{position:relative;transition:transform .1s,background .1s,border-color .1s}
.quick-card:hover{border-color:#245270}
.age-next-btn{min-height:48px;font-size:.8rem}
.list-row strong{color:#eaf4fb}
.status-box strong{color:#fff}
.content-area{min-height:410px}
@media(max-width:360px){
  .headline-stats strong{font-size:.82rem}
  .attr-row{grid-template-columns:80px 1fr 25px}
  .status-strip strong{font-size:.58rem}
}

.training-types{display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.train-type{background:#0d2234;color:#fff;border:1px solid #1a405a;border-radius:9px;padding:9px 2px;font-size:1rem;-webkit-tap-highlight-color:transparent}
.train-type span{display:block;font-size:.46rem;font-weight:900;margin-top:4px}
.train-type:active{transform:scale(.96);border-color:#168bff}
.road-stage{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:8px}
.road-step{background:#0d2234;border:1px solid #17384f;border-radius:8px;padding:8px}
.road-step span,.road-step strong{display:block}
.road-step span{font-size:.5rem;color:#7693a8;font-weight:900;letter-spacing:.07em}
.road-step strong{font-size:.72rem;margin-top:3px;color:#f4f8fb}
.road-panel{border-color:#1d5278}

.season-actions{align-items:stretch}
.season-actions .age-next-btn,.season-actions .primary-btn{margin:0}
.season-lock-note{font-size:.64rem;color:#e6b95b;text-align:center;margin-top:7px;min-height:14px}
.recruit-ranking{margin-top:7px;text-align:center;color:#d5e8f7}
.offer-list{display:grid;gap:6px;margin-top:7px}
.offer-card{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;background:#0d2234;border:1px solid #1c4059;border-radius:9px;padding:9px}
.offer-card strong,.offer-card small{display:block}
.offer-card small{color:#84a1b5;margin-top:2px;font-size:.62rem}
.offer-card>span{font-size:.55rem;color:#62c2ff;font-weight:1000;border:1px solid #1f5d87;border-radius:5px;padding:4px 6px}
.trophy-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.trophy{display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:center;background:#0d2234;border:1px solid #1d4159;border-radius:9px;padding:9px}
.trophy>span{font-size:1.1rem}
.trophy strong,.trophy small{display:block}
.trophy strong{font-size:.7rem}
.trophy small{font-size:.57rem;color:#8da6b8;margin-top:2px}

.focus-panel{background:linear-gradient(180deg,#0a2033,#071827);border-color:#1b557c}
.next-step-card{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:center}
.next-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;background:#102f47;font-size:1.25rem}
.next-step-card strong{font-size:.76rem;letter-spacing:.04em}
.next-step-card p{font-size:.64rem;line-height:1.35;color:#94acbd;margin:4px 0 0}
.season-progress{height:7px;background:#07131d;border-radius:20px;overflow:hidden;margin-top:8px;border:1px solid #163349}
#season-progress-bar{height:100%;width:0;background:linear-gradient(90deg,#1884d8,#48b6ff);transition:width .25s ease}
.progress-caption{font-size:.57rem;color:#7897ad;text-align:right;margin:4px 1px 8px}
.player-status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.player-status-grid>div{background:#0d2234;border:1px solid #17394f;border-radius:8px;padding:8px}
.player-status-grid span,.player-status-grid strong{display:block}
.player-status-grid span{font-size:.52rem;color:#7896aa;font-weight:900;text-transform:uppercase}
.player-status-grid strong{font-size:.72rem;margin-top:3px;color:#f2f8fc}
button:disabled{opacity:.42;filter:saturate(.45);cursor:not-allowed;transform:none!important}
@media(max-width:390px){.training-types{grid-template-columns:repeat(3,1fr)}}

.draft-night-panel{border-color:#5e4c1a;background:linear-gradient(180deg,#1a180d,#0b1724)}
#draft-night-box strong{color:#ffd75e}
#college-hub-box strong{color:#6bc2ff}
#nil-panel{margin-top:8px}

.pro-career-panel{border-color:#2a5b3a;background:linear-gradient(180deg,#0b2417,#071827)}
#pro-career-box strong{color:#78e28a}
#endorsement-list{margin-top:8px}

.legacy-career-panel{border-color:#654a8b;background:linear-gradient(180deg,#1a1028,#071827)}
#legacy-career-box strong{color:#c69cff}

.onboarding-panel{border-color:#1f5d87;background:linear-gradient(180deg,#0b2338,#071827)}
.onboarding-steps{display:grid;gap:7px;margin-bottom:9px}
.onboarding-steps>div{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:center;background:#0d2234;border:1px solid #17384f;border-radius:8px;padding:8px}
.onboarding-steps>div>span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#1488f7;font-size:.65rem;font-weight:1000}
.onboarding-steps p{margin:0;font-size:.65rem;color:#9fb3c2;line-height:1.35}
.onboarding-steps strong{color:#f2f7fb}
.event-hint{font-size:.58rem;color:#6f93ac;text-align:center;margin-top:6px}

.boot-status{
  position:fixed;top:calc(env(safe-area-inset-top) + 6px);left:50%;transform:translateX(-50%);
  z-index:9999;background:#12334b;color:#fff;border:1px solid #285b7c;border-radius:999px;
  padding:6px 10px;font-size:.62rem;font-weight:900;transition:.25s;white-space:nowrap
}
.boot-status.ready{background:#174d2d;border-color:#2d8a50}
.boot-status.error{background:#6b1f26;border-color:#b94753}
.boot-status.hide{opacity:0;pointer-events:none}

.family-person{
  width:100%;color:inherit;text-align:left;cursor:pointer;
  -webkit-tap-highlight-color:transparent
}
.family-person:active{transform:scale(.99);border-color:#2b668f}
.family-interaction-panel{
  margin-top:9px;background:#0b2032;border:1px solid #1d4966;border-radius:10px;padding:10px
}
.family-interaction-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.family-interaction-head small,.family-interaction-head strong{display:block}
.family-interaction-head small{font-size:.5rem;color:#7796aa;font-weight:900}
.family-interaction-head strong{font-size:.82rem;margin-top:2px}
.mini-close{width:30px;height:30px;border-radius:8px;background:#102b40;color:#fff;border:1px solid #22506d;font-size:1rem}

.childhood-panel{border-color:#355b72;background:linear-gradient(180deg,#0b2331,#071827)}
.childhood-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:9px}
.child-action{background:#0d2738;color:#fff;border:1px solid #1d4961;border-radius:9px;padding:10px;font-size:1.15rem}
.child-action span{display:block;font-size:.55rem;font-weight:900;margin-top:4px}
.child-action:active{transform:scale(.98);border-color:#49a7db}
.friend-person{width:100%;color:inherit;text-align:left;-webkit-tap-highlight-color:transparent}
.youth-sports-panel{border-color:#315f3e;background:linear-gradient(180deg,#0b2618,#071827)}.sport-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:9px}.sport-choice{background:#0d2635;border:1px solid #1d455c;border-radius:10px;color:#fff;padding:11px 7px;text-align:center}.sport-choice-icon{display:block;font-size:1.45rem;margin-bottom:5px}.sport-choice strong,.sport-choice small{display:block}.sport-choice strong{font-size:.62rem}.sport-choice small{font-size:.5rem;color:#7898ac;margin-top:3px}.sport-choice.selected{border-color:#55bd70;background:#103621}.martial-style-picker{grid-column:1/-1;background:#0b1d2a;border:1px solid #24485d;border-radius:10px;padding:9px}.martial-style-picker>strong{display:block;font-size:.57rem;margin-bottom:7px}.martial-style-picker>div{display:flex;gap:5px;flex-wrap:wrap}.martial-style{font-size:.54rem;padding:7px;background:#102b3e;color:#fff;border:1px solid #23506b;border-radius:7px}.martial-style.selected{border-color:#e6bd49;background:#493b11}
.portrait-avatar{overflow:hidden;padding:0}
.portrait-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.portrait-person{grid-template-columns:42px 1fr auto!important;align-items:center}
.person-portrait{width:38px;height:38px;border-radius:9px;object-fit:cover;border:1px solid #28506a;background:#102333;flex:0 0 auto}
.selected-person-wrap{display:flex;align-items:center;gap:8px}
.mini-portrait{width:42px;height:42px;border-radius:9px;overflow:hidden;border:1px solid #28506a;background:#102333}
.mini-portrait img{width:100%;height:100%;display:block}
.dating-person{display:flex;align-items:center;gap:9px}
.coach-mini{display:flex;align-items:center;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid #1d3a4f}
.coach-mini .person-portrait{width:32px;height:32px}
.coach-mini span{font-size:.67rem;color:#d7e7f2;font-weight:800}

.creation-v2{margin:12px 0;display:grid;gap:10px}
.creation-title{font-size:.7rem;font-weight:1000;letter-spacing:.08em;color:#eaf6ff}
.creation-title small{display:block;color:#6f93ac;font-size:.48rem;margin-top:2px}
.creation-section{background:#0b2031;border:1px solid #1d4865;border-radius:12px;padding:10px}
.creation-section-title,.sibling-builder-head{font-size:.58rem;font-weight:1000;letter-spacing:.08em;margin-bottom:8px}
.avatar-creator{display:flex;gap:10px;align-items:center}
.setup-avatar-preview{width:76px;height:76px;border-radius:16px;border:1px solid #2d607f;background:#102c40;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}
.setup-avatar-preview img{width:100%;height:100%;object-fit:cover}
.setup-avatar-preview span{font-size:1.5rem}.setup-avatar-preview small{font-size:.42rem;color:#7d9eb2}
.avatar-creator-actions{display:grid;gap:6px;flex:1}
#player-photo-input,#family-photo-input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.photo-button,.family-photo-label{display:flex;align-items:center;justify-content:center;cursor:pointer}
.privacy-note,.empty-family-note{font-size:.49rem;line-height:1.35;color:#718fa2;margin-top:7px}
.creation-label{display:block;font-size:.5rem;color:#8aa6b8;font-weight:900;margin:7px 0 4px}
.creation-input{width:100%;box-sizing:border-box;background:#071a28;border:1px solid #20465f;color:#fff;border-radius:8px;padding:9px;font-size:.7rem}
.sibling-builder-head{display:flex;align-items:center;justify-content:space-between;margin-top:10px}
.sibling-builder-row{display:grid;grid-template-columns:1fr 32px;gap:6px;margin-top:6px}

.world-panel{border-color:#435f86;background:linear-gradient(180deg,#0a2038,#071827)}
.world-summary{display:grid;gap:6px}
.world-year{font-size:.58rem;color:#7595ad;text-align:right}
.world-year strong{color:#fff}
.world-champ{display:grid;grid-template-columns:1fr auto;gap:8px;background:#0d2234;border:1px solid #183a52;border-radius:8px;padding:8px}
.world-champ span{font-size:.58rem;color:#8da5b7}.world-champ strong{font-size:.64rem}
.world-stars{display:grid;gap:6px;margin-top:9px}
.world-star{display:grid;grid-template-columns:38px 1fr auto;gap:8px;align-items:center;background:#0b1d2b;border:1px solid #17384e;border-radius:9px;padding:7px}
.world-star strong,.world-star small{display:block}.world-star strong{font-size:.67rem}.world-star small{font-size:.52rem;color:#809aac;margin-top:2px;line-height:1.3}.world-star>span{font-size:.57rem;color:#ffd36b;font-weight:900}
.rival-row{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center}
.rival-row strong,.rival-row small{display:block}.rival-row small{font-size:.58rem;color:#8ea6b7;margin-top:3px;line-height:1.35}
.world-news.champion{border-left-color:#e7c75a}.world-news.award{border-left-color:#b785ff}.world-news.transaction{border-left-color:#4cc6d8}.world-news.retirement{border-left-color:#9b9b9b}.world-news.coach{border-left-color:#71c77f}.world-news.rival{border-left-color:#e1646b}

.relationship-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:7px}
.relationship-meta>div{background:#0d2234;border:1px solid #17384f;border-radius:8px;padding:8px}
.relationship-meta span,.relationship-meta strong{display:block}
.relationship-meta span{font-size:.48rem;color:#7896aa;font-weight:900}
.relationship-meta strong{font-size:.68rem;margin-top:3px}
.memory-list{display:grid;gap:5px;margin-top:7px}
.memory-item{background:#0a1b28;border-left:3px solid #2f78a6;border-radius:6px;padding:7px;font-size:.58rem;color:#9db2c1;line-height:1.35}
.memory-item span{display:block;color:#67a9d2;font-size:.48rem;font-weight:900;margin-bottom:2px}
.muted-memory{border-left-color:#40505d;color:#748897}
.coach-relationship-box{margin-top:8px}

.dna-panel{border-color:#654b2b;background:linear-gradient(180deg,#23190d,#071827)}
.dna-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:8px}
.dna-card{background:#0d2234;border:1px solid #263f51;border-radius:8px;padding:8px}
.dna-card span,.dna-card strong,.dna-card small{display:block}
.dna-card span{font-size:.5rem;color:#8ca3b4;font-weight:900;text-transform:uppercase}
.dna-card strong{font-size:.72rem;margin-top:3px;color:#f4d27b}
.dna-card small{font-size:.48rem;color:#71899a;margin-top:2px}
.game-day-panel{border-color:#5a3c3c;background:linear-gradient(180deg,#221111,#071827)}
.game-plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}
.game-plan-btn{background:#0d2234;color:#fff;border:1px solid #1d4259;border-radius:9px;padding:9px;font-size:1.05rem;text-align:left}
.game-plan-btn span,.game-plan-btn small{display:block}
.game-plan-btn span{font-size:.58rem;font-weight:1000;margin-top:4px}
.game-plan-btn small{font-size:.46rem;color:#7f9aad;margin-top:2px;line-height:1.25}
.game-plan-btn.selected{border-color:#f1b84a;background:#3a2b10}

.timeline-panel{border-color:#41556f;background:linear-gradient(180deg,#101d2b,#071827)}
.timeline-list,.journal-list{display:grid;gap:7px}
.timeline-item{display:grid;grid-template-columns:58px 1fr;gap:8px;background:#0b1e2d;border-left:3px solid #4e91c4;border-radius:7px;padding:8px}
.timeline-item.sports{border-left-color:#60b86f}.timeline-item.college{border-left-color:#b98950}.timeline-item.pro{border-left-color:#e2c15e}.timeline-item.legacy{border-left-color:#a67bd6}
.timeline-age{font-size:.5rem;color:#74a5c8;font-weight:1000}
.timeline-item strong{font-size:.65rem}.timeline-item p{font-size:.53rem;color:#829bab;margin:2px 0 0}
.journal-entry{background:#0b1e2d;border:1px solid #17384d;border-radius:8px;padding:9px}
.journal-entry span,.journal-entry strong{display:block}.journal-entry span{font-size:.48rem;color:#6f9abb;font-weight:900}.journal-entry strong{font-size:.67rem;margin-top:2px}.journal-entry p{font-size:.55rem;color:#8ba2b2;line-height:1.35;margin:4px 0 0}
.teammate-card{display:grid;grid-template-columns:40px 1fr auto;gap:8px;align-items:center;background:#0d2234;border:1px solid #17384f;border-radius:8px;padding:7px}
.teammate-card strong,.teammate-card small{display:block}.teammate-card strong{font-size:.65rem}.teammate-card small{font-size:.5rem;color:#829aac;margin-top:2px}
.teammate-actions{display:grid;gap:4px}.teammate-actions button{font-size:.48rem;background:#123149;color:#fff;border:1px solid #28546f;border-radius:6px;padding:5px 7px}

.featured-moment-panel{border-color:#5e4a22;background:linear-gradient(180deg,#21180b,#071827)}
.featured-moment-box{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}
.featured-icon{width:48px;height:48px;border-radius:12px;background:#3a2a0e;border:1px solid #7b6226;display:grid;place-items:center;font-size:1.4rem}
.featured-moment-box strong{font-size:.72rem}.featured-moment-box p{font-size:.56rem;color:#94a8b8;line-height:1.35;margin:3px 0}.featured-moment-box small{font-size:.48rem;color:#d7b85c}
.milestone-modal{position:fixed;inset:0;z-index:9998;display:grid;place-items:center;padding:20px;opacity:0;pointer-events:none;transition:.18s}
.milestone-modal.active{opacity:1;pointer-events:auto}
.milestone-backdrop{position:absolute;inset:0;background:rgba(1,6,11,.78);backdrop-filter:blur(8px)}
.milestone-card{position:relative;width:min(100%,390px);background:linear-gradient(180deg,#10273a,#071522);border:1px solid #35698b;border-radius:22px;padding:24px;text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.55);transform:translateY(10px) scale(.98);transition:.18s}
.milestone-modal.active .milestone-card{transform:translateY(0) scale(1)}
.milestone-icon{width:74px;height:74px;margin:0 auto 12px;border-radius:22px;background:linear-gradient(145deg,#1a4261,#0d2639);border:1px solid #3c769d;display:grid;place-items:center;font-size:2rem}
.milestone-kicker{font-size:.58rem;font-weight:1000;letter-spacing:.14em;color:#69baf3}
.milestone-card h2{margin:7px 0 8px;font-size:1.45rem}
.milestone-card p{margin:0;color:#a5bac9;font-size:.75rem;line-height:1.45}
.milestone-meta{margin:12px 0;color:#efc86c;font-size:.65rem;font-weight:900}
.milestone-card .primary-btn{width:100%;margin-top:4px}

.school-life-panel{border-color:#405f7b;background:linear-gradient(180deg,#0d2237,#071827)}
.school-activity-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}
.school-activity-grid button{background:#0e293d;border:1px solid #24506b;border-radius:9px;color:#fff;padding:10px;text-align:left;font-size:1rem}
.school-activity-grid button span,.school-activity-grid button small{display:block}
.school-activity-grid button span{font-size:.57rem;font-weight:1000;margin-top:4px}
.school-activity-grid button small{font-size:.46rem;color:#7e9bae;margin-top:2px}
.school-activity-grid.school-disabled{opacity:.42;pointer-events:none}
.school-club-box{margin-top:8px;background:#0a1d2b;border:1px solid #173b52;border-radius:8px;padding:8px;font-size:.56rem;color:#8ea6b7}
.school-club-box strong{color:#fff}

.health-panel{border-color:#32635a;background:linear-gradient(180deg,#0b2824,#071827)}
.health-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px}
.health-grid>div{background:#0b202d;border:1px solid #1b4650;border-radius:8px;padding:8px}
.health-grid span,.health-grid strong{display:block}.health-grid span{font-size:.47rem;color:#78a4a5;font-weight:900}.health-grid strong{font-size:.66rem;margin-top:3px}
.health-action-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:8px}
.health-action-grid button{background:#0e2932;border:1px solid #24565b;border-radius:9px;color:#fff;padding:10px;text-align:left;font-size:1rem}
.health-action-grid span,.health-action-grid small{display:block}.health-action-grid span{font-size:.56rem;font-weight:1000;margin-top:4px}.health-action-grid small{font-size:.46rem;color:#83a4a7;margin-top:2px}

.decision-panel{border-color:#6a5130;background:linear-gradient(180deg,#21180e,#071827)}
.decision-choice-list{display:grid;gap:7px;margin-top:8px}
.decision-choice{background:#0f2637;border:1px solid #2e5369;border-radius:9px;color:#fff;padding:10px;text-align:left}
.decision-choice strong,.decision-choice span{display:block}
.decision-choice strong{font-size:.64rem}.decision-choice span{font-size:.5rem;color:#89a3b4;margin-top:3px;line-height:1.3}
.decision-choice:active{transform:scale(.99);border-color:#e0b060}
.decision-skip{background:transparent;border:1px dashed #4b5f6d;color:#7894a7;border-radius:8px;padding:8px;font-size:.52rem;font-weight:900}
.decision-history-mini{display:grid;gap:5px;margin-top:8px}
.decision-history-mini>div{display:grid;grid-template-columns:48px 1fr auto;gap:6px;background:#0a1b28;border-radius:7px;padding:6px}
.decision-history-mini span,.decision-history-mini strong,.decision-history-mini small{font-size:.48rem}
.decision-history-mini span{color:#6f96b0}.decision-history-mini strong{color:#dce8f0}.decision-history-mini small{color:#c9a85c}

.special-skill-panel{border-color:#6a5632;background:linear-gradient(180deg,#241b0e,#071827)}
.special-skill-box{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center}
.special-skill-icon{width:48px;height:48px;border-radius:12px;background:#3a2e12;border:1px solid #816c32;display:grid;place-items:center;font-size:1.35rem}
.special-skill-box strong,.special-skill-box small{display:block}.special-skill-box strong{font-size:.72rem}.special-skill-box p{font-size:.54rem;color:#8da5b7;line-height:1.35;margin:3px 0}.special-skill-box small{font-size:.48rem;color:#e0bd62}
.special-skill-progress{height:8px;background:#07131d;border-radius:20px;overflow:hidden;border:1px solid #3d341d;margin-top:9px}
#special-skill-bar{height:100%;width:0;background:linear-gradient(90deg,#c59a2f,#f3d26f);transition:width .25s ease}

.position-mastery-panel{border-color:#35567a;background:linear-gradient(180deg,#0d1d32,#071827)}
.position-mastery-progress{height:8px;background:#07131d;border-radius:20px;overflow:hidden;border:1px solid #274158;margin-top:9px}
#position-mastery-bar{height:100%;width:0;background:linear-gradient(90deg,#377cc5,#69b8f3);transition:width .25s ease}
.position-options-list{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:8px}
.position-option{display:flex;justify-content:space-between;gap:8px;background:#0d2234;border:1px solid #1d435a;color:#fff;border-radius:8px;padding:8px;text-align:left}
.position-option strong{font-size:.56rem}.position-option span{font-size:.48rem;color:#7fa4bb}
.position-option.selected{border-color:#61a9db;background:#11324a}

.postseason-panel{border-color:#66541e;background:linear-gradient(180deg,#211b09,#071827)}
.postseason-bracket{display:grid;gap:6px;margin-top:8px}
.bracket-row{display:grid;grid-template-columns:80px 1fr auto;gap:7px;align-items:center;background:#0d2234;border:1px solid #1f4156;border-radius:8px;padding:8px}
.bracket-row span{font-size:.5rem;color:#86a1b3;font-weight:900}.bracket-row strong{font-size:.62rem}.bracket-row small{font-size:.5rem;color:#9bb1bf}
.bracket-row.won{border-left:3px solid #5dbb6d}.bracket-row.lost{border-left:3px solid #b95e66}
.record-book{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.record-row{display:flex;justify-content:space-between;gap:8px;background:#0d2234;border:1px solid #17394f;border-radius:8px;padding:8px}
.record-row span{font-size:.52rem;color:#829eaf}.record-row strong{font-size:.64rem;color:#f0cf70}

.season-goals-panel{border-color:#315a43;background:linear-gradient(180deg,#0b2519,#071827)}
.season-goals-list{display:grid;gap:7px}
.season-goal{background:#0b202d;border:1px solid #1a4050;border-radius:8px;padding:8px}
.season-goal>div:first-child{display:flex;justify-content:space-between;gap:8px}.season-goal strong{font-size:.6rem}.season-goal span,.season-goal small{font-size:.49rem;color:#89a4b5}
.season-goal.complete{border-color:#4d9a61}.season-goal.complete strong{color:#76d18a}
.goal-track{height:6px;background:#07131c;border-radius:10px;overflow:hidden;margin:6px 0}.goal-track div{height:100%;background:#58a96b}
.awards-race-panel{border-color:#655326;background:linear-gradient(180deg,#211b0c,#071827)}
.awards-race-box{display:grid;gap:8px}.award-race-main{background:#0e2230;border:1px solid #5c4c23;border-radius:10px;padding:10px;text-align:center}
.award-race-main span,.award-race-main strong,.award-race-main small{display:block}.award-race-main span{font-size:.48rem;color:#bca45d;font-weight:1000}.award-race-main strong{font-size:.9rem;margin:3px 0}.award-race-main small{font-size:.5rem;color:#8da3b2}
.award-factors{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.award-factors span{background:#0b1d29;border-radius:7px;padding:7px;font-size:.5rem;color:#91a8b7}
.earned-awards{display:grid;gap:4px}.earned-awards strong{font-size:.55rem}.earned-awards span{font-size:.52rem;color:#e2c36e}

.league-history-panel{border-color:#394f74;background:linear-gradient(180deg,#0d1c31,#071827)}
.league-leaders-box,.league-history-list,.rivalry-history-list{display:grid;gap:6px}
.league-leader,.history-row,.rival-history-row{display:grid;grid-template-columns:90px 1fr auto;gap:7px;align-items:center;background:#0c2030;border:1px solid #193b50;border-radius:8px;padding:8px}
.league-leader span,.history-row span,.rival-history-row span{font-size:.48rem;color:#7697ad;font-weight:900}
.league-leader strong,.history-row strong,.rival-history-row strong{font-size:.59rem}
.league-leader small,.history-row small,.rival-history-row small{font-size:.48rem;color:#8ca5b6}
.rival-history-row.win{border-left:3px solid #58b96a}.rival-history-row.loss{border-left:3px solid #ba5f67}

.recruiting2-panel{border-color:#5b4824;background:linear-gradient(180deg,#21180b,#071827)}
.recruiting-board{display:grid;gap:7px;margin-top:8px}
.recruit-card{display:grid;grid-template-columns:1fr auto;gap:7px;background:#0c2030;border:1px solid #274356;border-radius:9px;padding:9px}
.recruit-card strong,.recruit-card small{display:block}.recruit-card strong{font-size:.62rem}.recruit-card small{font-size:.49rem;color:#88a1b1;margin-top:2px}
.recruit-card>span{font-size:.47rem;font-weight:1000;padding:4px 6px;border-radius:5px;height:max-content}.recruit-card>span.offer{background:#214c2c;color:#7ed38b}.recruit-card>span.watch{background:#283542;color:#90a5b4}
.recruit-card-actions{grid-column:1/-1;display:flex;gap:6px}.recruit-card-actions button{flex:1;background:#102d40;border:1px solid #315a70;color:#fff;border-radius:6px;padding:7px;font-size:.48rem;font-weight:900}

.milestone-modal.hidden{display:none!important}
.milestone-card button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

.league-sport-nav-panel{position:sticky;top:0;z-index:5;border-color:#264a64;background:linear-gradient(180deg,#0d2030,#071827)}
.league-sport-selector{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.league-sport-selector::-webkit-scrollbar{display:none}
.league-sport-chip{flex:0 0 auto;display:flex;align-items:center;gap:6px;background:#0d2434;border:1px solid #21455c;color:#fff;border-radius:999px;padding:8px 11px}
.league-sport-chip span{font-size:.95rem}.league-sport-chip strong{font-size:.55rem;white-space:nowrap}
.league-sport-chip.selected{background:#123b5a;border-color:#4ba4df}
.league-sport-header{display:flex;align-items:center;gap:9px;margin-top:4px;padding:9px;background:#091c2a;border:1px solid #173b52;border-radius:10px}
.league-header-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#12324a;font-size:1.25rem}
.league-sport-header strong,.league-sport-header small{display:block}.league-sport-header strong{font-size:.7rem}.league-sport-header small{font-size:.5rem;color:#84a0b3;margin-top:2px}
.sport-hidden{display:none!important}
#league-view .panel{margin-bottom:9px}

.league-sport-selector{padding-top:2px}

#sport-select,#position-select{touch-action:manipulation}

.two-way-position-box{margin-top:8px;padding:9px;background:#0b2030;border:1px solid #28506a;border-radius:10px}
.two-way-position-box label{display:block;font-size:.5rem;color:#8ea7b8;font-weight:900;margin:6px 0 4px}
.two-way-position-box select{width:100%;background:#071a28;color:#fff;border:1px solid #21465e;border-radius:8px;padding:9px;font-size:.7rem}

.youth-sport-card.current-sport{opacity:.68;border-color:#4d8f66;background:#102c23}
.youth-sport-card.current-sport small{color:#79d493;font-weight:1000}
.youth-sport-card:disabled{cursor:default}
#join-sport-button.current-sport-button{background:#173129!important;border-color:#38634a!important;color:#82c997!important;opacity:.78}

.physical-profile-panel{border-color:#355568}
.physical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.physical-grid>div{background:#0a1e2c;border:1px solid #24465a;border-radius:9px;padding:9px;text-align:center}
.physical-grid small,.physical-grid strong{display:block}.physical-grid small{font-size:.42rem;color:#809bad}.physical-grid strong{font-size:.67rem;margin-top:3px}
.physical-profile p{font-size:.48rem;color:#8ba2b2;line-height:1.45;margin:8px 0 0}
.physical-controls{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.physical-controls label{font-size:.46rem;color:#8ba2b2}.physical-controls select{display:block;width:100%;margin-top:3px;background:#071a28;color:#fff;border:1px solid #284b60;border-radius:7px;padding:7px}

[id*="sexuality" i],[class*="sexuality" i],[data-field="sexuality"]{display:none!important}

/* v0.32.0 mobile layout repair */
#physical-profile-panel{
  width:100%;
  max-width:100%;
  min-width:0;
  grid-column:1 / -1;
  align-self:stretch;
}
.physical-profile-panel,
.physical-profile{
  box-sizing:border-box;
}
@media (max-width: 900px){
  #physical-profile-panel{
    display:block;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    grid-column:1 / -1!important;
    position:static!important;
    float:none!important;
  }
  .physical-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width: 560px){
  .physical-grid{
    grid-template-columns:1fr 1fr;
  }
  .physical-grid>div:last-child{
    grid-column:1 / -1;
  }
  .physical-controls{
    grid-template-columns:1fr;
  }
}

@media (max-width: 900px){
  .app-main,
  .main-content,
  .home-content,
  .overview-content,
  .content-grid,
  .dashboard-grid,
  .screen-content{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

#start-button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
