@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700;800;900&family=Inter:wght@300;400;500;600;700&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--brand-h:199;--brand-s:89%;--brand-l:48%;--primary:hsl(var(--brand-h),var(--brand-s),var(--brand-l));--primary-hover:hsl(var(--brand-h),var(--brand-s),calc(var(--brand-l) - 10%));--sand-50:#fffdf5;--sand-100:#fef9c3;--sand-200:#fef08a;--sand-300:#fde047;--sea-50:#f0f9ff;--sea-100:#e0f2fe;--sea-400:#38bdf8;--sea-600:#0284c7;--green-50:#f0fdf4;--green-100:#dcfce7;--green-500:#22c55e;--green-600:#16a34a;--grad-primary:linear-gradient(135deg,#0ea5e9,#22c55e);--grad-azure:linear-gradient(135deg,#0284c7,#0ea5e9);--grad-sand:linear-gradient(135deg,#fde047,#facc15);--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--game-color:#f59e0b;--training-color:#0ea5e9;--tournament-color:#8b5cf6;--camp-color:#16a34a;--bg:#f9fbfd;--surface:#ffffffd9;--surface-top:#fffffffa;--border:#0000000a;--border-bright:#fff9;--text:var(--gray-800);--text-muted:var(--gray-500);--radius-sm:8px;--radius:14px;--radius-lg:20px;--radius-xl:32px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-md:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--shadow-lg:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--ease:cubic-bezier(.4,0,.2,1);--transition:.3s var(--ease)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--gray-900);letter-spacing:-.02em;font-family:Outfit,sans-serif;font-weight:800;line-height:1.1}a{color:inherit;transition:var(--transition);text-decoration:none}button{cursor:pointer}img{max-width:100%;display:block}.container{max-width:1280px;margin:0 auto;padding:0 2rem}.container-sm{max-width:640px;margin:0 auto;padding:0 1.5rem}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.btn{border-radius:var(--radius);transition:all var(--transition);cursor:pointer;white-space:nowrap;text-align:center;border:1px solid #0000;justify-content:center;align-items:center;gap:.625rem;padding:.75rem 1.5rem;font-family:Outfit,sans-serif;font-size:.9375rem;font-weight:600;line-height:1.2;display:inline-flex}.btn-primary{background:var(--grad-azure);color:#fff;box-shadow:0 4px 12px #2563eb33}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px);box-shadow:0 8px 20px #2563eb4d}.btn-secondary{color:var(--gray-700);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm);background:#fff}.btn-secondary:hover{border-color:var(--primary);color:var(--primary);background:hsl(var(--brand-h),var(--brand-s),98%)}.btn-ghost{color:var(--gray-600);background:0 0}.btn-ghost:hover{background:var(--gray-100);color:var(--gray-900)}.btn-danger{color:#ef4444;background:#fef2f2;border:1px solid #fee2e2}.btn-danger:hover{color:#dc2626;background:#fee2e2}.btn-sm{border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.8125rem}.btn-lg{padding:1rem 2.25rem;font-size:1.0625rem}.btn-full{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.badge{border-radius:var(--radius-full);letter-spacing:.01em;align-items:center;gap:.375rem;padding:.25rem .75rem;font-family:Outfit,sans-serif;font-size:.75rem;font-weight:600;display:inline-flex}.badge-game{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.badge-training{color:#0284c7;background:#f0f9ff;border:1px solid #bae6fd}.badge-tournament{color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe}.badge-camp{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.badge-outline{background:0 0;border:1px solid}.card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-bright);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(20px);transition:all var(--transition);overflow:hidden}.card:hover{box-shadow:var(--shadow-md);border-color:#fff9;transform:translateY(-2px)}.card-body{padding:1.5rem}.form-group{flex-direction:column;gap:.625rem;display:flex}.form-label{color:var(--gray-700);margin-left:.25rem;font-family:Outfit,sans-serif;font-size:.875rem;font-weight:600}.form-input,.form-select,.form-textarea{border:1px solid var(--gray-200);border-radius:var(--radius);color:var(--gray-900);width:100%;transition:all var(--transition);background:#fff;outline:none;padding:.875rem 1.25rem;font-family:Inter,sans-serif;font-size:.9375rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px hsl(var(--brand-h),var(--brand-s),95%);background:#fff}.form-input::placeholder{color:var(--gray-400)}.form-textarea{resize:vertical;min-height:120px}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 4rem);padding:4rem 1rem;display:flex}.auth-card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border-bright);width:100%;max-width:420px;box-shadow:var(--shadow);padding:2rem}.error-message{color:#ef4444;margin:.5rem 0 1rem;font-weight:600}.w-full{width:100%;display:inline-block}.form-error{color:#ef4444;align-items:center;gap:.375rem;margin-top:.25rem;font-size:.8125rem;font-weight:500;display:flex}.spinner{border:3px solid var(--gray-200);border-top-color:var(--azure-500);border-radius:50%;width:2rem;height:2rem;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-center{justify-content:center;align-items:center;min-height:200px;display:flex}.empty-state{text-align:center;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:3rem 1.5rem;display:flex}.empty-state img{object-fit:contain;opacity:.85;width:140px;height:140px}.avatar{background:linear-gradient(135deg,var(--azure-400),var(--azure-600));color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Outfit,sans-serif;font-weight:700;display:inline-flex}.avatar-sm{width:2rem;height:2rem;font-size:.75rem}.avatar-md{width:2.5rem;height:2.5rem;font-size:.875rem}.avatar-lg{width:3.5rem;height:3.5rem;font-size:1.125rem}.avatar-xl{width:5rem;height:5rem;font-size:1.5rem}.alert{border-radius:var(--radius);border-left:4px solid;padding:.875rem 1rem;font-size:.9rem}.alert-success{background:var(--green-100);border-color:var(--green-600);color:#15803d}.alert-error{color:#dc2626;background:#fee2e2;border-color:#dc2626}.alert-info{background:var(--azure-100);border-color:var(--azure-600);color:var(--azure-700)}.alert-warning{color:#b45309;background:#fef3c7;border-color:#d97706}.divider{border:none;border-top:1px solid var(--border);margin:1.5rem 0}.grid-2{grid-template-columns:1fr 1fr;gap:1.5rem;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.page-header{color:#fff;background:radial-gradient(circle at 100% 0,#1e3a8a,#0f172a);padding:5rem 0 7rem;position:relative;overflow:hidden;box-shadow:inset 0 -20px 40px -20px #0000004d}.page-header:before{content:"";background-image:radial-gradient(#ffffff0d 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0}.page-header:after{content:"";background:linear-gradient(to top,var(--bg),transparent);height:120px;position:absolute;bottom:0;left:0;right:0}.page-header h1{color:#fff;letter-spacing:-.02em;text-shadow:0 4px 12px #0000004d;font-size:3rem;font-weight:800}.nav{z-index:100;background:var(--surface-top);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-bright);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin:0 1rem;position:sticky;top:1rem}.nav-inner{align-items:center;gap:1.5rem;max-width:1240px;height:4.5rem;margin:0 auto;padding:0 1.5rem;display:flex}.nav-logo{color:var(--gray-900);align-items:center;gap:.625rem;margin-right:auto;font-family:Outfit,sans-serif;font-size:1.375rem;font-weight:800;text-decoration:none;display:flex}.nav-logo span{background:var(--grad-sand);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.nav-links{align-items:center;gap:.5rem;display:flex}.nav-link{border-radius:var(--radius-full);color:var(--gray-600);transition:all var(--transition);padding:.5rem 1rem;font-family:Outfit,sans-serif;font-size:.9375rem;font-weight:600}.nav-link:hover{color:var(--primary);background:hsl(var(--brand-h),var(--brand-s),97%)}.nav-link.active{color:var(--primary);background:hsl(var(--brand-h),var(--brand-s),95%)}.venue-link:hover h2{color:var(--primary)!important}.footer{background:var(--gray-900);color:var(--gray-400);text-align:center;border-top:1px solid #ffffff0d;margin-top:6rem;padding:4rem 0;font-size:.9375rem}@media (max-width:768px){.grid-2,.grid-3{grid-template-columns:1fr}.nav-links{display:none}.page-header{padding:2rem 0 3rem}}:root{--profile-avatar-size:clamp(80px,22vw,180px)}.profile-header{border-radius:var(--radius-xl)var(--radius-xl)0 0;align-items:flex-end;height:clamp(200px,30vh,360px);display:flex;position:relative;overflow:hidden}.profile-header-bg{background-size:cover;position:absolute;inset:0}.profile-avatar-wrapper{top:calc(-1*var(--profile-avatar-size)/2 - 1rem);z-index:12;position:absolute;left:1.5rem}.profile-avatar{width:var(--profile-avatar-size);height:var(--profile-avatar-size);background:var(--grad-sand);color:#fff;box-shadow:var(--shadow-lg);object-fit:cover;border:8px solid #fff;border-radius:12px;justify-content:center;align-items:center;font-family:Outfit;font-size:clamp(2rem,6vw,4.5rem);font-weight:800;display:flex;overflow:hidden}.profile-card-body{padding-top:calc(var(--profile-avatar-size)/2 + 1rem);padding-left:1.5rem;padding-right:1.5rem;position:relative}@media (max-width:640px){.profile-card-body{padding-left:1rem;padding-right:1rem}.profile-avatar-wrapper{left:1rem}}.profile-actions .btn{justify-content:center;align-items:center;gap:.5rem;min-width:200px;height:48px;padding:.5rem 1rem;font-size:.95rem;display:inline-flex}.profile-actions .btn.btn-lg{min-width:200px;height:48px}.profile-actions span{font-size:.95rem}
