*{box-sizing:border-box}html,body,#root{min-height:100%}body{color:#fff;background-color:#0a0a0f;background-image:linear-gradient(#050812bd 0%,#050812ed 100%),url(/mkbg.png);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;min-height:100vh;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#161625}::-webkit-scrollbar-thumb{background:#2a2a45;border-radius:4px}.app-shell{min-height:100vh;padding:20px}.app-shell.game-mode{padding:10px;overflow:auto}.topbar{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a0a0fd1;border:1px solid #ffffff14;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;max-width:1440px;margin:0 auto 20px;padding:14px 16px;display:flex;position:sticky;top:0;box-shadow:0 18px 60px #00000057}.app-shell.game-mode .topbar{max-width:none;margin-bottom:10px;padding:10px 14px}.topbar-brand{align-items:center;gap:12px;min-width:0;display:flex}.topbar-brand img{flex:none;width:42px;height:42px}.topbar-brand strong,.topbar-brand span{display:block}.topbar-brand strong{font-size:18px;font-weight:900}.topbar-brand span{color:#9ca3af;font-size:12px;font-weight:700}.connection-pill,.live-dot{color:#d1d5db;text-transform:uppercase;background:#0f172ac7;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:900;display:inline-flex}.connection-pill.online{color:#86efac;background:#10b9811f;border-color:#10b98159}.connection-pill.offline{color:#fcd34d;background:#f59e0b1f;border-color:#f59e0b5c}.notice{z-index:60;color:#fff;background:#0f172af0;border:1px solid #10b98159;border-radius:12px;max-width:min(92vw,560px);padding:12px 16px;position:fixed;top:92px;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #0000006b,0 0 22px #10b98129}.home-grid,.lobby-layout,.game-layout{max-width:1440px;margin:0 auto;animation:.26s ease-out both fadeIn}.app-shell.game-mode .game-layout{width:100%;max-width:none}.home-grid{grid-template-columns:minmax(340px,.92fr) minmax(420px,1.08fr);align-items:stretch;gap:20px;display:grid}.home-panel,.card,.hud-card,.match-panel{background:#1e1e32e0;border:1px solid #2a2a45;box-shadow:0 24px 80px #0000005c}.home-panel,.card,.hud-card{border-radius:14px}.brand-panel{flex-direction:column;justify-content:center;gap:26px;min-height:calc(100vh - 126px);padding:clamp(24px,4vw,44px);display:flex}.brand-logo{filter:drop-shadow(0 20px 34px #00000057);width:min(310px,78vw);max-width:100%;height:auto}.brand-copy h1,.lobby-head h1{letter-spacing:0;margin:0;font-size:clamp(38px,5vw,72px);font-weight:950;line-height:.95}.brand-copy p:not(.eyebrow){color:#d1d5db;max-width:560px;margin:14px 0 0;font-size:16px;line-height:1.65}.eyebrow{color:#10b981;letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:950}.hero-actions{grid-template-columns:1fr;gap:12px;max-width:420px;display:grid}.btn{color:#fff;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:9px;min-height:44px;padding:12px 16px;font-weight:900;text-decoration:none;transition:transform .16s,border-color .16s,background .16s,box-shadow .16s,opacity .16s;display:inline-flex}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.52}.btn-primary{background:#10b981;box-shadow:0 14px 34px #10b98138}.btn-primary:hover:not(:disabled){background:#059669;box-shadow:0 18px 42px #10b9814d}.btn-secondary{background:#2a2a45;border-color:#3a3a55}.btn-secondary:hover:not(:disabled){background:#3a3a55;border-color:#10b98194}.btn-compact{min-height:38px;padding:9px 12px;font-size:13px}.btn-full{width:100%}.name-card{background:#0f172a94;border:1px solid #ffffff14;border-radius:12px;max-width:420px;padding:14px}.rooms-panel{flex-direction:column;min-height:calc(100vh - 126px);padding:clamp(18px,3vw,30px);display:flex}.section-title{justify-content:space-between;align-items:center;gap:14px;margin-bottom:18px;display:flex}.section-title h2,.hud-card h2{color:#fff;margin:0;font-size:22px;font-weight:950}.section-title.compact{margin-bottom:12px}.rooms-list{gap:12px;padding-right:2px;display:grid;overflow:auto}.room-card{background:#0f172aa8;border:1px solid #ffffff14;border-radius:12px;justify-content:space-between;align-items:center;gap:14px;padding:14px;transition:border-color .16s,transform .16s,background .16s;display:flex}.room-card:hover{background:#0f172adb;border-color:#10b9817a;transform:translateY(-1px)}.room-main{align-items:center;gap:12px;min-width:0;display:flex}.room-icon{color:#10b981;background:#10b98129;border-radius:10px;flex:none;place-items:center;width:46px;height:46px;display:grid}.room-card h3{color:#fff;text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-size:16px;font-weight:950;overflow:hidden}.room-card p{color:#9ca3af;margin:0;font-size:13px;font-weight:700}.empty-state{color:#6b7280;text-align:center;background:#0f172a61;border:1px dashed #ffffff21;border-radius:12px;align-content:center;place-items:center;gap:10px;min-height:240px;display:grid}.empty-state strong{color:#d1d5db;font-size:18px}.empty-state span{color:#9ca3af;font-size:13px}.field-group{gap:8px;display:grid}.field-group span{color:#d1d5db;font-size:13px;font-weight:850}.field-group input,.field-group select{color:#fff;background:#0f172af0;border:1px solid #2a2a45;border-radius:10px;outline:none;width:100%;min-height:44px;padding:0 13px;transition:border-color .16s,box-shadow .16s}.field-group input:focus,.field-group select:focus{border-color:#10b981;box-shadow:0 0 0 4px #10b9811f}.field-group input::placeholder{color:#6b7280}.modal-shell{z-index:80;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b3;border:0;position:absolute;inset:0}.modal-card{background:#0a0a0f;border:1px solid #2a2a45;border-radius:14px;width:min(100%,560px);max-height:calc(100vh - 38px);animation:.18s ease-out both modalIn;position:relative;overflow:auto;box-shadow:0 26px 90px #00000094}.modal-head{border-bottom:1px solid #1e1e32;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;display:flex}.modal-head h2{margin:0;font-size:20px;font-weight:950}.icon-btn{color:#d1d5db;background:#1e1e32;border:0;border-radius:9px;place-items:center;width:36px;height:36px;font-size:22px;font-weight:800;display:grid}.icon-btn:hover{color:#fff;background:#2a2a45}.form-stack{gap:16px;padding:20px;display:grid}.form-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.toggle-card{color:#fff;background:#0f172af0;border:1px solid #2a2a45;border-radius:10px;grid-template-columns:auto 36px 1fr;align-items:center;gap:10px;min-height:44px;padding:0 12px;display:grid}.toggle-card input{accent-color:#10b981;width:16px;height:16px}.toggle-card span{color:#10b981;background:#10b98121;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.toggle-card strong{font-size:13px;font-weight:950}.lobby-layout{place-items:center;min-height:calc(100vh - 126px);display:grid}.lobby-card{width:min(100%,1060px);padding:clamp(18px,3vw,30px)}.lobby-head{grid-template-columns:auto 1fr auto;align-items:center;gap:18px;margin-bottom:22px;display:grid}.lobby-head h1{font-size:clamp(30px,4vw,52px)}.room-code-card{background:#10b9811a;border:1px solid #10b98142;border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:18px;display:flex;box-shadow:inset 0 1px #ffffff0d}.room-code-card span{color:#9ca3af;text-transform:uppercase;margin-bottom:4px;font-size:12px;font-weight:850;display:block}.room-code-card strong{color:#fff;font-size:clamp(30px,5vw,46px);font-weight:950}.room-code-card svg{color:#10b981}.lobby-meta{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0;display:grid}.lobby-meta span{color:#d1d5db;text-align:center;background:#0f172aa6;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:8px;font-size:13px;font-weight:850;display:flex}.teams-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.team-list{background:#0f172a9e;border:1px solid #ffffff1a;border-radius:12px;padding:14px}.team-list-head,.mini-team-head{align-items:center;gap:9px;display:flex}.team-list h2{margin:0;font-size:17px;font-weight:950}.team-dot{background:#ef4444;border-radius:3px;flex:none;width:10px;height:10px;display:inline-block;box-shadow:0 0 16px #ef44448c}.team-blue .team-dot{background:#3b82f6;box-shadow:0 0 16px #3b82f68c}.team-slots{gap:8px;margin-top:12px;display:grid}.player-row{background:#0307125c;border:1px solid #ffffff12;border-radius:9px;grid-template-columns:32px 1fr auto auto;align-items:center;gap:8px;min-height:42px;padding:7px 9px;display:grid}.player-number{color:#fff;background:#ef444457;border-radius:8px;place-items:center;width:28px;height:28px;font-weight:950;display:grid}.team-blue .player-number{background:#3b82f657}.player-row span:not(.player-number){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.player-row strong,.player-row em{color:#d1fae5;background:#10b98129;border-radius:999px;padding:3px 7px;font-size:11px;font-style:normal;font-weight:900}.player-row em{color:#fde68a;background:#f59e0b26}.muted-row{color:#6b7280;text-align:center;border:1px dashed #ffffff1c;border-radius:9px;margin:0;padding:14px}.lobby-actions{justify-content:space-between;align-items:center;gap:14px;margin-top:18px;display:flex}.current-player{color:#d1d5db;align-items:center;gap:9px;min-width:0;font-size:14px;display:inline-flex}.current-player svg{color:#10b981}.current-player strong{color:#fff}.game-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:stretch;gap:12px;display:grid}.match-panel{border-radius:14px;overflow:hidden}.scoreboard{background:#0a0a0fd1;border-bottom:1px solid #2a2a45;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.score-team{color:#d1d5db;align-items:center;gap:9px;min-width:0;font-weight:950;display:flex}.score-team:last-child{justify-content:flex-end}.score-team strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.score-core{text-align:center;background:#03071294;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:58px 88px 58px;justify-content:center;align-items:center;display:grid}.score-core span{padding:9px 0;font-size:28px;font-weight:950}.score-core small{color:#10b981;font-size:13px;font-weight:950}.field-shell{background:#064e3b;position:relative;overflow:hidden}.game-canvas{touch-action:none;background:#113d25;width:100%;height:min(82vh,900px);min-height:640px;display:block}.app-shell.game-mode .game-canvas{height:calc(100vh - 178px);min-height:660px}.goal-flash{z-index:5;pointer-events:none;background:#02061747;align-content:center;place-items:center;gap:8px;animation:1.8s ease-out forwards goalFlash;display:grid;position:absolute;inset:0}.goal-flash span{color:#facc15;text-shadow:0 0 28px #facc1585,0 10px 34px #00000094;font-size:clamp(54px,10vw,132px);font-weight:1000;line-height:.9}.goal-flash strong{color:#fff7ed;text-align:center;background:#0f172ad6;border:1px solid #facc1557;border-radius:999px;padding:8px 14px;font-size:14px}.result-overlay{z-index:6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000a8;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.result-card{text-align:center;background:#0a0a0ff0;border:1px solid #10b9814d;border-radius:14px;width:min(100%,420px);padding:24px;box-shadow:0 28px 80px #00000085}.result-card svg{color:#facc15}.result-card h2{margin:0 0 8px;font-size:28px;font-weight:950}.result-card strong{color:#10b981;margin-bottom:18px;font-size:42px;font-weight:950;display:block}.result-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.match-sidebar{gap:14px;display:grid}.hud-card{padding:16px}.active-player-card h2{overflow-wrap:anywhere}.status-good,.status-muted{border-radius:999px;margin-top:10px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.status-good{color:#d1fae5;background:#10b98129}.status-muted{color:#d1d5db;background:#6b72802e}.stamina-line{color:#d1d5db;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:12px;font-weight:900;display:flex}.stamina-line strong{color:#86efac}.stamina-track{background:#0f172adb;border:1px solid #10b9813d;border-radius:999px;height:9px;margin-top:7px;overflow:hidden}.stamina-track span{border-radius:inherit;background:linear-gradient(90deg,#10b981,#22d3ee);height:100%;transition:width .12s linear;display:block}.action-card{grid-template-columns:1fr 1fr;gap:10px;display:grid}.action-btn{color:#fff;background:#0f172abf;border:1px solid #ffffff17;border-radius:12px;place-items:center;gap:7px;min-height:84px;font-weight:950;transition:transform .16s,border-color .16s,background .16s;display:grid}.action-btn:hover{border-color:#10b9817a;transform:translateY(-1px)}.action-btn svg{color:#10b981}.action-btn.shoot svg{color:#f87171}.action-btn.pass svg{color:#38bdf8}.action-btn.longpass svg{color:#60a5fa}.action-btn.tackle svg{color:#facc15}.action-btn.sprint svg{color:#86efac}.mini-teams{gap:12px;max-height:360px;display:grid;overflow:auto}.mini-team{background:#0307125c;border:1px solid #ffffff14;border-radius:10px;gap:8px;padding:10px;display:grid}.mini-team-head strong{font-size:13px}.mini-player{color:#d1d5db;grid-template-columns:26px 1fr 16px;align-items:center;gap:8px;font-size:13px;display:grid}.mini-player span{color:#fff;background:#ffffff14;border-radius:7px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:950;display:grid}.mini-player p{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.mini-player svg{color:#facc15}.event-card h2{color:#d1d5db;margin-bottom:16px;font-size:15px;line-height:1.5}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes goalFlash{0%{opacity:0;transform:scale(.94)}15%{opacity:1;transform:scale(1.02)}70%{opacity:1}to{opacity:0;transform:scale(1.08)}}@media (width<=1120px){.home-grid,.game-layout{grid-template-columns:1fr}.brand-panel,.rooms-panel{min-height:auto}.match-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=780px){.app-shell{padding:12px}.app-shell.game-mode{overflow:auto}.topbar{border-radius:12px;margin-bottom:12px}.topbar-brand span{display:none}.home-grid,.game-layout{gap:12px}.brand-copy h1,.lobby-head h1{font-size:38px}.room-card,.lobby-actions,.lobby-head{flex-direction:column;grid-template-columns:1fr;align-items:stretch}.lobby-meta,.teams-grid,.form-grid,.match-sidebar,.result-actions,.scoreboard{grid-template-columns:1fr}.score-team,.score-team:last-child{justify-content:center}.score-core{justify-self:center}.game-canvas{height:66vh;min-height:500px}.app-shell.game-mode .game-canvas{height:68vh;min-height:520px}.action-card{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=460px){.brand-panel,.rooms-panel,.lobby-card,.hud-card{padding:14px}.hero-actions,.action-card{grid-template-columns:1fr}.room-code-card{flex-direction:column;align-items:flex-start}.score-core{grid-template-columns:48px 74px 48px}.score-core span{font-size:23px}.game-canvas{min-height:460px}}
