:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f1115;--bg-soft:#14181d;--surface:#161b20f0;--surface-raised:#1b2127f5;--surface-subtle:#ffffff0b;--surface-field:#04070a52;--line:#e0e8f01a;--line-strong:#e0e8f02e;--text:#f4f7fb;--text-soft:#d6dee7;--muted:#9aa6b2;--muted-strong:#b9c3ce;--accent:#4fa66a;--accent-strong:#67bd7d;--accent-soft:#4fa66a29;--blue:#4f7dbd;--blue-soft:#4f7dbd2e;--danger:#c75b55;--danger-soft:#c75b5526;--warning:#d5a846;--shadow:0 18px 44px #00000047;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;min-width:320px;min-height:100%;margin:0}body{background:var(--bg);line-height:1.45;overflow-x:hidden}button{font:inherit;transition:background-color .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s}button:focus-visible{outline-offset:2px;outline:2px solid #67bd7db8}.app-shell{background:linear-gradient(90deg, #4fa66a14, transparent 28%, #4f7dbd0f 78%, transparent 100%), linear-gradient(180deg, #171c21 0%, var(--bg) 44%, #0d1013 100%);min-height:100vh}.build-watermark{z-index:1200;pointer-events:none;border:1px solid var(--line-strong);color:#f4f7fbc2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080b0eb8;border-radius:6px;padding:4px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:1;position:fixed;bottom:8px;right:10px}.top-bar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0c0f12e6;grid-template-columns:minmax(210px,1fr) auto auto;align-items:center;gap:14px;padding:12px clamp(14px,3vw,30px);display:grid;position:sticky;top:0;box-shadow:0 1px #ffffff08,0 12px 30px #0000002e}.player-strip{align-items:center;gap:10px;min-width:0;display:flex}.player-strip strong,.player-strip span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.player-strip span,.muted,.history-item span,.offer-card p,.season-line span,.career-preview p{color:var(--muted)}.nav-tabs{border:1px solid var(--line);background:#ffffff09;border-radius:8px;gap:5px;padding:4px;display:flex;box-shadow:inset 0 1px #ffffff06}.nav-tabs button{min-height:36px;color:var(--muted-strong);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 12px}.nav-tabs button:hover{color:var(--text);background:#ffffff0e}.nav-tabs button.active{color:#fff;background:#4fa66a33;box-shadow:inset 0 0 0 1px #67bd7d75}.primary-button,.secondary-button,.ghost-button,.danger-button{color:#fff;cursor:pointer;border:1px solid #0000;border-radius:7px;min-height:40px;padding:0 16px;font-weight:800;box-shadow:0 8px 18px #0000002e}.primary-button{background:linear-gradient(180deg, var(--accent-strong), #3f9259);border-color:#8bdc9e57}.primary-button.small{min-height:36px}.secondary-button{background:linear-gradient(#5b85bd,#416c9d);border-color:#739cce57}.ghost-button{border-color:var(--line-strong);color:var(--text-soft);box-shadow:none;background:#ffffff0b}.danger-button{background:linear-gradient(180deg, var(--danger), #9f443f);border-color:#e1786f52}.primary-button:not(:disabled):hover,.secondary-button:not(:disabled):hover,.ghost-button:not(:disabled):hover,.danger-button:not(:disabled):hover,.training-button:not(:disabled):hover,.club-row:hover,.league-table-row:hover{filter:brightness(1.06);border-color:#f4f7fb42;transform:translateY(-1px)}.create-layout{grid-template-columns:minmax(0,1.1fr) minmax(260px,.7fr);align-items:center;gap:28px;width:min(1040px,100%);min-height:100vh;margin:0 auto;padding:32px clamp(16px,4vw,42px);display:grid}.intro-panel h1{letter-spacing:0;margin:0 0 12px;font-size:clamp(42px,8vw,78px);line-height:.92}.intro-panel p{max-width:650px;color:var(--text-soft);font-size:18px;line-height:1.6}.eyebrow{color:var(--accent-strong);text-transform:uppercase;letter-spacing:.12em;font-size:12px;font-weight:900}.career-preview{border:1px solid var(--line);background:linear-gradient(180deg, var(--surface-raised), #12171cf0);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:18px;padding:22px;display:flex}.preview-name{color:#fff;margin:0 0 4px;font-size:22px;font-weight:900}.dashboard-grid,.content-grid,.squad-layout,.league-layout,.preview-layout,.result-panel{gap:18px;width:min(1180px,100%);margin:0 auto;padding:22px clamp(14px,3vw,30px) 36px;display:grid}.dashboard-grid{grid-template-columns:minmax(0,1.35fr) minmax(300px,.8fr)}.content-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr)}.squad-layout{grid-template-columns:minmax(0,1.4fr) minmax(280px,.6fr)}.league-layout{grid-template-columns:minmax(280px,.45fr) minmax(0,1fr)}.league-layout.single,.league-layout.detail{grid-template-columns:minmax(0,1fr)}.preview-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.55fr)}.result-panel{align-content:center;max-width:760px;min-height:100vh}.panel{border:1px solid var(--line);box-shadow:var(--shadow);background:linear-gradient(#1d2329f2,#12171cf2);border-radius:8px;padding:18px}.panel h2{color:#fff;letter-spacing:0;margin:0 0 14px;font-size:18px}.panel>h2:first-child{border-bottom:1px solid #e0e8f014;align-items:center;gap:10px;min-height:28px;padding-bottom:10px;display:flex}.panel>h2:first-child:before{content:"";background:linear-gradient(180deg, var(--accent-strong), var(--blue));border-radius:999px;width:4px;height:18px}.player-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:18px;display:grid}.player-card h2{margin-bottom:6px;font-size:28px}.metric-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.metric-row.wide{grid-template-columns:repeat(4,minmax(100px,1fr))}.metric{background:#05080c52;border:1px solid #e0e8f014;border-radius:7px;min-width:0;padding:10px}.metric span,.stat-line span,.training-button span{color:var(--muted);text-transform:uppercase;font-size:12px;display:block}.metric strong{overflow-wrap:anywhere;margin-top:4px;font-size:20px;display:block}.match-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:16px;display:grid}.match-team-stats{background:#05080c47;border:1px solid #e0e8f014;border-radius:7px;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px;padding:12px;display:grid}.match-team-stats strong{grid-column:1/-1}.match-team-stats span{color:var(--muted);font-size:12px}.season-line{border-bottom:1px solid #e0e8f014;justify-content:space-between;gap:12px;padding:12px 0;display:flex}.button-row{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.stats-list,.log-list,.history-list,.offer-list,.league-list{gap:10px;display:grid}.table-title{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;margin:18px 0 8px;font-size:13px}.player-table{background:#0306092e;border:1px solid #e0e8f014;border-radius:7px;overflow:auto}.player-table-head,.player-table-row{grid-template-columns:58px minmax(150px,1.8fr) 46px 46px 50px 62px 54px minmax(76px,.8fr);align-items:center;gap:10px;min-width:760px;padding:9px 10px;display:grid}.player-table.compact .player-table-head,.player-table.compact .player-table-row{grid-template-columns:50px minmax(140px,1.8fr) 44px 44px 48px 58px 50px minmax(66px,.7fr);min-width:680px}.player-table-head{z-index:1;color:var(--muted);text-transform:uppercase;background:#11171d;font-size:11px;font-weight:900;position:sticky;top:0}.player-table-row{color:var(--text-soft);border-top:1px solid #e0e8f011}.player-table-row:nth-child(odd){background:#ffffff05}.player-table-row:hover{background:#ffffff0a}.player-table-row strong{color:#fff}.player-table-row.is-user{box-shadow:inset 3px 0 0 var(--accent-strong);background:#4fa66a2e}.selection-callout{background:#4fa66a1f;border:1px solid #67bd7d42;border-radius:7px;gap:6px;padding:14px;display:grid}.selection-callout span{color:var(--muted-strong)}.objective-card,.inbox-item{background:#05080c42;border:1px solid #e0e8f014;border-radius:7px;gap:7px;padding:13px;display:grid}.objective-card.success{background:#4fa66a24;border-color:#67bd7d6b}.objective-card.missed{background:var(--danger-soft);border-color:#e1786f61}.objective-card span,.objective-card em,.inbox-item p,.inbox-item span{color:var(--muted)}.objective-card em{font-style:normal;font-weight:800}.inbox-list{gap:10px;display:grid}.inbox-list.compact .inbox-item{padding:10px}.inbox-item.unread{box-shadow:inset 3px 0 0 var(--accent);border-color:#67bd7d5c}.inbox-item span{text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:900;display:block}.inbox-item p{margin:0;line-height:1.45}.preview-versus{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;display:grid}.preview-versus div{background:#05080c4d;border:1px solid #e0e8f014;border-radius:7px;gap:6px;padding:14px;display:grid}.preview-versus span,.preview-versus small{color:var(--muted)}.preview-versus strong{font-size:28px}.preview-versus b{color:var(--accent-strong)}.league-group{gap:6px;display:grid}.league-heading{justify-content:space-between;align-items:end;gap:12px;margin-top:10px;display:flex}.league-heading h3{color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;margin:8px 0 2px;font-size:13px}.league-heading span{color:var(--muted);font-size:12px;font-weight:800}.league-tabs{background:#05080c3d;border:1px solid #e0e8f014;border-radius:8px;flex-wrap:wrap;gap:7px;margin-bottom:12px;padding:4px;display:flex}.league-tabs button{min-height:34px;color:var(--muted-strong);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:0 11px;font-weight:800}.league-tabs button.active{color:#fff;background:#4fa66a33;border-color:#67bd7d70}.button-row.top-row{margin-top:0;margin-bottom:14px}.club-row{min-height:44px;color:var(--text-soft);text-align:left;cursor:pointer;background:#05080c3d;border:1px solid #e0e8f014;border-radius:7px;grid-template-columns:auto minmax(0,1fr) 52px 68px;align-items:center;gap:10px;padding:0 10px;display:grid}.club-row.active{background:#4fa66a2e;border-color:#67bd7d6b}.club-row strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.club-row span:not(.club-swatch){color:var(--muted);font-size:12px}.league-table-head,.league-table-row{grid-template-columns:42px minmax(150px,1fr) 34px 42px 44px;align-items:center;gap:8px;min-width:0;display:grid}.league-table-head{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;padding:0 10px 3px;font-size:10px;font-weight:900}.league-table-row{width:100%;min-height:38px;color:var(--text-soft);text-align:left;cursor:pointer;background:#05080c3d;border:1px solid #e0e8f013;border-radius:7px;padding:0 10px}.league-table-row.active{background:#4fa66a2e;border-color:#67bd7d6b}.league-table-row>span:not(.club-name-cell){color:var(--muted);font-size:12px;font-weight:800}.club-name-cell{align-items:center;gap:8px;min-width:0;display:flex}.club-name-cell strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.club-swatch.small{width:10px;height:26px;box-shadow:inset 0 0 0 1px #ffffff2e}.stat-line{grid-template-columns:86px minmax(70px,1fr) 34px;align-items:center;gap:10px;display:grid}.stat-bar{background:#ffffff14;border:1px solid #e0e8f00f;border-radius:999px;height:8px;overflow:hidden}.stat-bar i{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--warning));height:100%;display:block}.log-list p{color:var(--text-soft);border-bottom:1px solid #e0e8f014;margin:0;padding:10px 0}.training-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;display:grid}.training-challenge{gap:12px;margin:16px 0;display:grid}.timing-track{background:#05080c57;border:1px solid #e0e8f01f;border-radius:7px;height:28px;position:relative;overflow:hidden}.target-zone,.timing-marker{height:100%;position:absolute;top:0}.target-zone{background:#4fa66aad}.timing-marker{background:#fff;width:4px;margin-left:-2px;box-shadow:0 0 14px #ffffff8c}.success-text,.fail-text{align-self:center;font-weight:900}.success-text{color:var(--accent-strong)}.fail-text{color:#e1786f}.training-button{color:#fff;cursor:pointer;background:#05080c47;border:1px solid #e0e8f014;border-radius:7px;justify-content:space-between;align-items:center;min-height:58px;padding:0 14px;display:flex}.training-button:disabled,.primary-button:disabled{cursor:not-allowed;opacity:.42}.training-button strong{font-size:22px}.offer-card,.history-item{border-bottom:1px solid #e0e8f014;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;display:grid}.offer-card h3,.offer-card p{margin:0}.club-swatch{border-radius:4px;width:14px;height:42px;box-shadow:inset 0 0 0 1px #ffffff2e}.avatar{flex:none;width:92px;height:112px;position:relative}.avatar.compact{width:42px;height:52px}.avatar .face{background:var(--skin);border-radius:45% 45% 42% 42%;width:48%;height:44%;position:absolute;top:16%;left:26%}.avatar .hair{background:var(--hair);z-index:2;border-radius:50% 50% 20% 20%;width:54%;height:24%;position:absolute;top:10%;left:23%}.avatar .hair.curls{box-shadow:8px 0 0 var(--hair), -8px 0 0 var(--hair);border-radius:45%}.avatar .shirt{background:#f1cd39;border-radius:8px 8px 4px 4px;width:64%;height:38%;position:absolute;top:58%;left:18%}.match-screen{background:var(--bg);grid-template-rows:auto minmax(0,1fr);height:100vh;display:grid;overflow:hidden}.match-header{border-bottom:1px solid var(--line);background:#0c0f12f0;justify-content:space-between;align-items:center;gap:12px;min-height:54px;padding:8px 14px;display:flex;box-shadow:0 12px 28px #00000038}.match-header span{color:var(--muted-strong)}.match-stage,.phaser-host{min-width:0;min-height:0}.match-stage{position:relative}.phaser-host{touch-action:none;width:100%;height:100%}.boot-error{z-index:5;border:1px solid var(--danger);background:#1b1214;border-radius:8px;padding:16px;position:absolute;inset:12px;overflow:auto}@media (width<=820px){.top-bar{grid-template-columns:1fr;gap:10px}.nav-tabs{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.nav-tabs::-webkit-scrollbar{display:none}.nav-tabs button{white-space:nowrap;flex:none}.dashboard-grid,.content-grid,.squad-layout,.league-layout,.preview-layout,.create-layout{grid-template-columns:1fr}.metric-row,.metric-row.wide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.top-bar{padding:10px 12px}.player-strip .avatar{display:none}.dashboard-grid,.content-grid,.squad-layout,.league-layout,.preview-layout,.result-panel{padding:14px 10px 34px}.panel{padding:14px}.player-card{grid-template-columns:1fr}.offer-card{grid-template-columns:auto minmax(0,1fr)}.offer-card button{grid-column:2;justify-self:start}.stat-line{grid-template-columns:74px minmax(60px,1fr) 30px}}
