@font-face{font-family:KothDisplay;src:local('Bahnschrift');font-display:swap}
#menu{background:linear-gradient(90deg,#06121f65,#06121f25),url('assets/menu/login.webp') center/cover;display:grid;place-items:center;padding:30px;z-index:8;font-family:'Trebuchet MS',sans-serif;overflow:auto}
#menu:before{content:'';position:fixed;inset:0;pointer-events:none;background:linear-gradient(0deg,#071320ed,transparent 55%,#07132075)}
#menu .back-to-website{position:fixed;bottom:max(16px,env(safe-area-inset-bottom));left:20px;z-index:4;padding:12px 16px;border:1px solid #cceeff55;border-radius:4px;background:#071827ef;color:#e8f1f8;text-decoration:none;font:700 13px 'Trebuchet MS',sans-serif;box-shadow:0 4px 12px #0004}
#menu .back-to-website:hover{background:#214d3b}
#menu .back-to-website:focus-visible{outline:3px solid #8bf2ae;outline-offset:3px}
#menu{padding-bottom:80px}
@media(max-width:750px){#menu{padding-bottom:80px!important}#menu .back-to-website{left:14px;font-size:12px}}
#menu .login-panel{position:relative;width:min(410px,92vw);padding:34px 36px;background:linear-gradient(145deg,#0c2031f5,#101e2aee);border:1px solid #cceeff38;border-top:3px solid #8bf2ae;box-shadow:0 28px 90px #0008;animation:menu-in .5s ease both}
#menu .menu-kicker{font:700 11px 'Trebuchet MS',sans-serif;letter-spacing:.26em;color:#a3f6bf;margin:0 0 12px}
#menu h1{font:900 44px/.98 KothDisplay,'Trebuchet MS',sans-serif;letter-spacing:-.035em;margin:0 0 24px;color:#fff}
#menu h1 span{color:#8bf2ae}#menu label{display:block;color:#c8d5e2;font-size:11px;font-weight:700;letter-spacing:.12em;margin:13px 0 7px}
#menu input,#menu #playerName,#menu #accountPassword{display:block;width:100%;margin:0;padding:13px 14px;background:#061320ba;border:1px solid #b5d3e140;color:#fff;font:16px 'Trebuchet MS',sans-serif;outline:none;border-radius:3px}
#menu input:focus{border-color:#8bf2ae;box-shadow:0 0 0 3px #8bf2ae18}#menu button{font:800 15px KothDisplay,'Trebuchet MS',sans-serif;letter-spacing:.055em;transition:transform .18s,background .18s,border-color .18s}
#menu button:hover:not(:disabled){transform:translateY(-2px)}#menu button:focus-visible{outline:3px solid white;outline-offset:4px}
#menu .menu-primary{width:100%;margin-top:16px;padding:15px;background:#8bf2ae;color:#09251a;border:0;border-radius:3px;box-shadow:0 4px 0 #309c62}
#menu .menu-secondary{width:100%;margin-top:14px;background:#e8eef7;color:#132333;border:0;border-radius:3px;padding:14px}
#menu .login-divider{display:flex;align-items:center;gap:14px;color:#8499ad;font-size:10px;font-weight:700;letter-spacing:.17em;margin:24px 0 10px}.login-divider:before,.login-divider:after{content:'';height:1px;background:#b5d3e12b;flex:1}
#menu #accountStatus{font-size:12px;line-height:1.5;min-height:18px;color:#c3d4e1;margin:16px 0 0}#menu #loadStatus{position:relative;text-align:center;color:#e8f1f8;letter-spacing:0;font:13px 'Trebuchet MS',sans-serif}
#menu #modeSelect{position:relative;width:min(1140px,94vw);animation:menu-in .4s ease both}#menu .mode-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}#menu .mode-top h2{font:900 40px KothDisplay,'Trebuchet MS',sans-serif;margin:0;letter-spacing:-.03em}#menu .mode-top button{background:#0d1e2be6;border-color:#cceeff40}
#menu .mode-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}
#menu .mode-card{position:relative;isolation:isolate;height:clamp(300px,52vh,560px);padding:0;overflow:hidden;text-align:left;border:2px solid #a1b6c833;background:#0b1520;border-radius:5px;opacity:1;cursor:pointer;box-shadow:0 16px 32px #0005;transition:transform .25s,border-color .25s}
#menu .mode-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 48%;filter:grayscale(1) brightness(.55);transition:filter .35s,transform .5s;z-index:-2}
#menu .mode-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#07111df5,transparent 65%);z-index:-1}
#menu .mode-card.selected{border-color:#8bf2ae;transform:translateY(-6px);box-shadow:0 20px 40px #0007,0 0 0 3px #8bf2ae18}#menu .mode-card.selected img{filter:none;transform:scale(1.025)}
#menu .mode-card:disabled{cursor:not-allowed}#menu .card-copy{position:absolute;left:24px;bottom:26px;right:20px}#menu .card-copy small{font:700 11px 'Trebuchet MS',sans-serif;letter-spacing:.16em;color:#98edb7;margin:0 0 9px}#menu .card-copy strong{display:block;font:900 clamp(25px,3vw,39px)/1 KothDisplay,'Trebuchet MS',sans-serif;letter-spacing:-.035em}#menu .card-copy p{font:14px/1.45 'Trebuchet MS',sans-serif;color:#c2cedb;margin:13px 0 0}#menu .mode-card:disabled small{color:#b3bdc8}
#menu .mode-options{margin-top:24px;padding:22px;background:#0c1d2bea;border:1px solid #cceeff27;display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-radius:4px}#menu .choice{min-width:155px;text-align:left;padding:14px 18px;background:#152c3f;border:1px solid #68889d70;border-radius:3px}#menu .choice small{font-size:12px;color:#b7cada;letter-spacing:0;margin-top:6px}#menu .choice.selected{border-color:#8bf2ae;background:#214d3b}#menu .choice:disabled{cursor:not-allowed;opacity:.4}#menu #start{width:auto;min-width:200px;margin:0 0 0 auto;text-align:center;font:900 20px KothDisplay,'Trebuchet MS',sans-serif;background:#8bf2ae;color:#09251a;border-radius:3px;box-shadow:0 4px 0 #309c62;padding:16px 22px}#menu #modeStatus{font-size:13px;color:#cee0ee;min-height:20px;margin:12px 0;text-align:center}
#matchBanner{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:6;padding:12px 24px;background:#091725e8;border-bottom:3px solid #88efae;color:white;text-align:center;font:700 17px 'Trebuchet MS',sans-serif;pointer-events:none}#matchBanner small{font-size:12px;letter-spacing:.02em;color:#c9d9e8}
#leaveMatch{position:fixed;bottom:24px;right:24px;z-index:9;background:#102535e8;color:#fff}#spectatorPanel{position:fixed;bottom:40px;left:50%;transform:translateX(-50%);z-index:8;background:#0d2030ec;padding:15px 22px;text-align:center;border-bottom:2px solid #8bf2ae;font:15px 'Trebuchet MS',sans-serif}#spectatorNext{margin-left:15px}
.endless-mode #teamScores,.endless-mode #capturePrompt,.endless-mode #flagTimer{display:none!important}.ui-hidden #matchBanner,.ui-hidden #spectatorPanel,.ui-hidden #leaveMatch{visibility:hidden}
@keyframes menu-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:750px){#menu{padding:16px}#menu .mode-cards{gap:9px}#menu .mode-card{height:330px}#menu .card-copy{left:12px;bottom:15px;right:10px}#menu .card-copy p{display:none}#menu .card-copy strong{font-size:23px}#menu .mode-options{padding:12px}#menu #start{margin-left:0;flex:1}#menu .mode-top h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){#menu *,#menu *:before,#menu *:after{animation:none!important;transition:none!important}}

#menu #walletAddress{display:block;width:100%;margin:0;padding:13px 14px;background:#061320ba;border:1px solid #b5d3e140;color:#fff;font:16px 'Trebuchet MS',sans-serif;outline:none;border-radius:3px}.wallet-notice{color:#ff5d5d;font-size:11px;line-height:1.35;margin:7px 0 12px;text-align:left}
