@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{color-scheme:dark;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background-color:#02030a;color:#e6ecff;--accent-primary: #6fdcff;--accent-secondary: #ff8a3d;--surface: rgba(8, 10, 18, .72);--surface-strong: rgba(11, 13, 20, .9);--surface-border: rgba(255, 255, 255, .08);--text-muted: rgba(230, 236, 255, .7);--player-card-width: 24%;--floating-menu-width: 28%}html,body,#app{margin:0;padding:0;width:100%;height:100%;background:transparent;color:inherit}body{position:relative;overflow:hidden}body:before{content:"";position:fixed;inset:0;z-index:-2;background:#02030a;background-image:radial-gradient(circle at 20% 20%,rgba(255,255,255,.25) 1px,transparent 0),radial-gradient(circle at 70% 30%,rgba(255,255,255,.3) 1px,transparent 0),radial-gradient(circle at 40% 70%,rgba(255,255,255,.2) 1px,transparent 0),radial-gradient(circle at 80% 80%,rgba(255,255,255,.15) 1px,transparent 0);background-size:600px 600px,800px 800px,700px 700px,900px 900px;filter:contrast(120%)}body:after{content:"";position:fixed;inset:0;z-index:-1;background:radial-gradient(circle at top,#11182966,#03040ad9);pointer-events:none}.app-shell{position:relative;width:100%;height:100%;overflow:hidden}.app-shell:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top center,rgba(255,255,255,.06),transparent 55%),radial-gradient(circle at bottom center,rgba(0,0,0,.35),transparent 45%);pointer-events:none}.screen-layer{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;pointer-events:none;z-index:2}.screen-panel{width:100%;max-width:520px;display:flex;justify-content:center;pointer-events:auto}.screen-panel[data-size=md]{max-width:420px}.screen-panel[data-size=sm]{max-width:360px}.panel{width:100%;background:var(--surface);border-radius:18px;padding:40px;display:flex;flex-direction:column;gap:20px;border:1px solid var(--surface-border);box-shadow:0 18px 48px #0000008c,inset 0 1px #ffffff0f;backdrop-filter:blur(24px)}.stack{display:flex;flex-direction:column;gap:16px}.stack--sm{gap:12px}label{font-size:14px;letter-spacing:.02em;opacity:.85}.text-input{border:1px solid rgba(255,255,255,.15);border-radius:10px;padding:12px 14px;background:#07090fcc;color:inherit;font-size:16px;transition:border-color .2s ease,box-shadow .2s ease}.text-input:focus{outline:none;border-color:#6fdcffcc;box-shadow:0 0 0 1px #6fdcff99,0 6px 18px #6fdcff3d}button{border:none;border-radius:999px;background:linear-gradient(135deg,#6fdcfff2,#208fd5f2);color:#fff;padding:12px 20px;font-size:14px;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;align-self:flex-start;box-shadow:0 12px 26px #176eb659}.button-group{display:flex;flex-wrap:wrap;gap:8px}.button-group button{flex:1 1 140px;align-self:stretch}.lobby-actions{gap:12px}.lobby-actions button{flex:1 1 200px}button:hover{transform:translateY(-1px);box-shadow:0 16px 30px #176eb673}button:disabled{opacity:.5;cursor:not-allowed}button.secondary{background:linear-gradient(135deg,#ff8a3df2,#ff6922e6);box-shadow:0 12px 26px #ff8a3d66}.tagline{font-size:14px;opacity:.8;color:var(--text-muted);letter-spacing:.02em}.hint{font-size:13px;opacity:.7;color:var(--text-muted)}.error{font-size:13px;color:#ff6b7a;min-height:18px}.panel h1,.panel h2{margin:0;font-weight:600;letter-spacing:.02em}.battlefield-layer{position:fixed;inset:0;z-index:0;pointer-events:auto}.battlefield-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;background:transparent}.runtime-error{position:absolute;bottom:24px;left:50%;transform:translate(-50%);background:#02030acc;color:#ff6b7a;padding:8px 16px;border-radius:999px;border:1px solid rgba(255,107,122,.4);font-size:13px}.match-overlay{position:fixed;inset:0;z-index:1;pointer-events:none}.player-card{position:absolute;display:flex;align-items:center;gap:16px;width:var(--player-card-width, 24%);padding:16px 20px;border-radius:16px;background:#080a12d1;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px #00000073;backdrop-filter:blur(18px);min-width:220px;pointer-events:auto;transition:top .6s ease,right .6s ease,bottom .6s ease,left .6s ease,transform .4s ease}.player-card .avatar{width:48px;height:48px;border-radius:999px;background:radial-gradient(circle,#fff3,#6fdcff59);display:grid;place-items:center;font-weight:600;letter-spacing:.05em}.player-card .card-info{display:flex;flex-direction:column;gap:4px;min-width:0}.player-card .name{font-weight:600;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-card .meta{font-size:12px;opacity:.7;letter-spacing:.04em}.player-card.opponent{top:32px;right:32px}.player-card.player{bottom:32px;left:32px}.player-card.player.docked{bottom:auto;left:auto;top:32px;right:calc(32px + var(--player-card-width, 24%) + 16px);transform:translate(0)}.app-shell[data-overlay-mode=stacked] .player-card{left:50%;right:auto;transform:translate(-50%)}.app-shell[data-overlay-mode=stacked] .player-card.opponent{top:20px}.app-shell[data-overlay-mode=stacked] .player-card.player{bottom:20px}.app-shell[data-overlay-mode=stacked] .player-card.player.docked{top:20px;bottom:auto;transform:translate(-50%)}.badge-action{margin-left:auto;border-radius:999px;padding:8px 14px;font-size:13px;box-shadow:none;background:#6fdcff33;border:1px solid rgba(111,220,255,.4)}.floating-menu{position:absolute;top:128px;right:32px;width:var(--floating-menu-width, 28%);max-height:360px;border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px;background:#080a12eb;border:1px solid rgba(255,255,255,.08);box-shadow:0 20px 60px #0000008c;opacity:0;transform:translateY(-8px);pointer-events:none;transition:transform .3s ease,opacity .3s ease}.app-shell[data-overlay-mode=stacked] .floating-menu{inset:auto auto 150px 50%;width:min(var(--floating-menu-width, 85%),calc(100vw - 64px));transform:translate(-50%,20px)}.floating-menu.open{opacity:1;transform:translateY(0);pointer-events:auto}.app-shell[data-overlay-mode=stacked] .floating-menu.open{transform:translate(-50%)}.menu-header{display:flex;justify-content:space-between;align-items:center;font-size:14px;letter-spacing:.02em}.menu-header .error{color:#ff6b7a;font-size:12px}.log{background-color:#ffffff09;border-radius:12px;padding:16px;overflow:auto}.log--panel{max-height:220px}.log--hud{flex:1;min-height:0}.log pre{margin:0;font-size:12px;line-height:1.4;white-space:pre-wrap;word-break:break-word}@media (max-width: 960px){.screen-panel{max-width:360px}}
