:root{--color-bg:#01143c;--color-bg-deep:#020b1f;--color-surface:#0d1d40;--color-primary:#e80c8e;--color-primary-dark:#c00a75;--color-secondary:#2525f5;--color-secondary-light:#6366f1;--color-accent-warm:#ff6b6b;--color-text:#fff;--color-text-muted:#98979d;--color-text-dim:#565e74;--color-border:#ffffff14;--color-border-hover:#e80c8e4d;--color-surface-glass:#ffffff08;--color-surface-glass-hover:#ffffff0f;--color-x:var(--color-primary);--color-o:var(--color-secondary-light);--gradient-cta:linear-gradient(135deg, #e80c8e, #2525f5);--gradient-page:linear-gradient(180deg, #01143c 0%, #0d1d40 100%);--gradient-highlight:linear-gradient(135deg, #e80c8e, #f54aaf);--shadow-glow:0 10px 30px #e80c8e4d;--shadow-glow-hover:0 15px 40px #e80c8e66;--shadow-card-hover:0 20px 40px #0000004d;--glow-x:0 0 15px #e80c8e, 0 0 30px #e80c8e80;--glow-o:0 0 15px #6366f1, 0 0 30px #6366f180;--font-display:"Orkney", "Poppins", system-ui, sans-serif;--font-body:"Poppins", "Lato", system-ui, sans-serif;--font-mono:"SFMono-Regular", Consolas, Menlo, monospace;--radius-pill:50px;--radius-card:20px;--radius-cell:12px;--radius-focus:4px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--transition-fast:.3s ease;--transition-lift:.4s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0}html{scroll-behavior:smooth;font-size:100%}body{background:var(--color-bg) var(--gradient-page) fixed;min-height:100vh;color:var(--color-text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5;overflow-x:hidden}body:before{content:"";z-index:-1;filter:blur(150px);pointer-events:none;background:radial-gradient(circle at 50% 20%,#e80c8e26,#0000 55%);position:fixed;inset:0}h1,h2,h3{font-family:var(--font-display);font-weight:700;line-height:1.2}h1{font-size:32px}h2{font-size:24px}h3{font-size:18px}a{color:inherit;text-decoration:none}p{margin:0}button,input{font:inherit;color:inherit}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-focus)}.label{letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:600}.muted{color:var(--color-text-muted)}.highlight-text{background:var(--gradient-highlight);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text}.card{border-radius:var(--radius-card);background:var(--color-surface-glass);border:1px solid var(--color-border);padding:var(--space-8);transition:transform var(--transition-lift), border-color var(--transition-fast), background var(--transition-fast), box-shadow var(--transition-fast);position:relative}.card--hover:hover{border-color:var(--color-border-hover);background:var(--color-surface-glass-hover);box-shadow:var(--shadow-card-hover);transform:translateY(-6px)}.btn{border-radius:var(--radius-pill);font-family:var(--font-display);color:var(--color-text);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), background var(--transition-fast), border-color var(--transition-fast), opacity var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:19px 32px 17px;font-size:15px;font-weight:600;line-height:1;display:inline-flex}.btn--sm{padding:12px 20px 10px;font-size:14px}.btn--primary{background:var(--gradient-cta);box-shadow:var(--shadow-glow)}.btn--primary:hover{box-shadow:var(--shadow-glow-hover);transform:translateY(-2px)}.btn--primary:active{background:var(--color-primary-dark)}.btn--secondary{background:var(--color-secondary)}.btn--secondary:hover{transform:translateY(-2px)}.btn--ghost{border-color:var(--color-border)}.btn--ghost:hover{border-color:var(--color-border-hover);background:var(--color-surface-glass-hover)}.btn[disabled],.btn[aria-disabled=true]{cursor:not-allowed;opacity:.6;box-shadow:none;transform:none}.field{gap:var(--space-2);flex-direction:column;display:flex}.field label{letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:600}.input{border-radius:var(--radius-cell);border:1px solid var(--color-border);background:var(--color-surface-glass);width:100%;color:var(--color-text);transition:border-color var(--transition-fast);padding:14px 18px}.input:hover{border-color:var(--color-border-hover)}.input[aria-invalid=true]{border-color:var(--color-accent-warm)}.field-error{color:var(--color-accent-warm);font-size:14px}.link{color:var(--color-primary);font-weight:600}.link:hover{text-decoration:underline}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=640px){h1{font-size:24px}h2{font-size:18px}.card{padding:var(--space-5)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}.card--hover:hover,.btn:hover{transform:none}}.wordmark[data-v-ee2c01d9]{align-items:baseline;gap:var(--space-3);display:inline-flex}.wordmark-name[data-v-ee2c01d9]{font-family:var(--font-display);letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1}.wordmark-label[data-v-ee2c01d9]{letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:600}@media (width<=640px){.wordmark-label[data-v-ee2c01d9]{display:none}}.toasts[data-v-cfda8d8a]{right:var(--space-4);bottom:var(--space-4);z-index:20;gap:var(--space-3);flex-direction:column;max-width:min(360px,100vw - 32px);display:flex;position:fixed}.toast[data-v-cfda8d8a]{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);background:var(--color-surface);border-color:var(--color-border-hover);box-shadow:var(--shadow-glow);display:flex}.toast-close[data-v-cfda8d8a]{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;font-size:20px;line-height:1}@media (width<=640px){.toasts[data-v-cfda8d8a]{bottom:80px}}.shell[data-v-ca9382bc]{flex-direction:column;min-height:100vh;display:flex}.shell-header[data-v-ca9382bc]{align-items:center;gap:var(--space-6);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);display:flex}.shell-nav[data-v-ca9382bc]{gap:var(--space-5);margin:0 auto;font-weight:600;display:flex}.shell-nav a[data-v-ca9382bc]{color:var(--color-text-muted);transition:color var(--transition-fast);border-bottom:2px solid #0000;padding:6px 2px}.shell-nav a[data-v-ca9382bc]:hover,.shell-nav a.router-link-active[data-v-ca9382bc]{color:var(--color-text);border-bottom-color:var(--color-primary)}.shell-user[data-v-ca9382bc]{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}.shell-username[data-v-ca9382bc]{font-weight:600}.shell-main[data-v-ca9382bc]{width:100%;max-width:1200px;padding:var(--space-8) var(--space-4) var(--space-12);flex:1;margin:0 auto}@media (width<=640px){.shell-header[data-v-ca9382bc]{padding:var(--space-4)}.shell-nav[data-v-ca9382bc]{z-index:10;padding:var(--space-3) var(--space-4) calc(var(--space-3) + env(safe-area-inset-bottom));background:var(--color-bg-deep);border-top:1px solid var(--color-border);justify-content:space-around;margin:0;position:fixed;inset:auto 0 0}.shell-main[data-v-ca9382bc]{padding-bottom:96px}}.empty[data-v-bd6a81ad]{align-items:flex-start;gap:var(--space-4);border-style:dashed;flex-direction:column;display:flex}.empty-message[data-v-bd6a81ad]{color:var(--color-text-muted)}.chip[data-v-fd00b359]{align-items:center;gap:var(--space-2);border-radius:var(--radius-pill);border:1px solid var(--color-border);background:var(--color-surface-glass);min-width:0;padding:8px 14px 8px 8px;display:inline-flex}.chip-mark[data-v-fd00b359]{width:28px;height:28px;font-family:var(--font-display);color:var(--color-text);border-radius:50%;place-items:center;font-weight:800;display:inline-grid}.chip--x .chip-mark[data-v-fd00b359]{background:var(--color-primary)}.chip--o .chip-mark[data-v-fd00b359]{background:var(--color-secondary)}.chip-name[data-v-fd00b359]{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.chip--empty .chip-name[data-v-fd00b359]{color:var(--color-text-muted);font-weight:400}.chip-you[data-v-fd00b359]{letter-spacing:1px;text-transform:uppercase;color:var(--color-text-muted);font-size:11px;font-weight:600}.badge[data-v-58426241]{align-items:center;gap:var(--space-2);letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:600;display:inline-flex}.badge-dot[data-v-58426241]{background:var(--color-text-dim);border-radius:50%;width:8px;height:8px}.badge--open .badge-dot[data-v-58426241]{background:var(--color-primary);box-shadow:0 0 8px var(--color-primary)}.badge--progress .badge-dot[data-v-58426241]{background:var(--color-secondary-light);box-shadow:0 0 8px var(--color-secondary-light)}.game-card[data-v-491acf82]{gap:var(--space-4);flex-direction:column;display:flex}.game-card-header[data-v-491acf82]{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.game-card-time[data-v-491acf82]{color:var(--color-text-muted);font-size:13px}.game-card-players[data-v-491acf82]{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.game-card-vs[data-v-491acf82]{letter-spacing:2px;text-transform:uppercase;color:var(--color-text-dim);font-size:12px;font-weight:600}.game-card-line[data-v-491acf82]{font-weight:600}.game-card-actions[data-v-491acf82]{justify-content:flex-end;display:flex}.game-list[data-v-47b6df75]{gap:var(--space-4);flex-direction:column;display:flex}.game-list-title[data-v-47b6df75]{letter-spacing:2px;text-transform:uppercase;color:var(--color-text-muted);font-size:12px;font-weight:600}.lobby[data-v-c6b24a4a]{gap:var(--space-8);flex-direction:column;display:flex}.lobby-header[data-v-c6b24a4a]{justify-content:space-between;align-items:flex-end;gap:var(--space-4);flex-wrap:wrap;display:flex}.lobby-cta[data-v-c6b24a4a]{top:var(--space-4);position:sticky}.lobby-offline[data-v-c6b24a4a]{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-cell);color:var(--color-accent-warm);border:1px solid #ff6b6b66;flex-wrap:wrap;font-weight:600;display:flex}.lobby-grid[data-v-c6b24a4a]{gap:var(--space-8);grid-template-columns:1fr;display:grid}@media (width>=900px){.lobby-grid[data-v-c6b24a4a]{gap:var(--space-6);grid-template-columns:repeat(3,1fr)}}.auth{place-items:center;min-height:60vh;display:grid}.auth-card{gap:var(--space-4);flex-direction:column;width:min(100%,420px);display:flex}.auth-form{gap:var(--space-5);margin-top:var(--space-2);flex-direction:column;display:flex}.auth-notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-cell);border:1px solid var(--color-border-hover);background:#e80c8e14}.auth-switch{color:var(--color-text-muted)}
