:root{--background: 0 0% 100%;--foreground: 222.2 84% 4.9%;--card: 0 0% 100%;--card-foreground: 222.2 84% 4.9%;--primary: 239 84% 67%;--primary-hover: 239 80% 60%;--primary-foreground: 210 40% 98%;--secondary: 210 40% 96.1%;--secondary-foreground: 222.2 47.4% 11.2%;--muted: 210 40% 96.1%;--muted-foreground: 215.4 16.3% 46.9%;--accent: 210 40% 96.1%;--accent-foreground: 222.2 47.4% 11.2%;--destructive: 0 84.2% 60.2%;--destructive-foreground: 210 40% 98%;--border: 214.3 31.8% 91.4%;--input: 214.3 31.8% 91.4%;--ring: 239 84% 67%;--radius: .5rem}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:hsl(var(--background));color:hsl(var(--foreground));line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.page{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:960px;margin:0 auto;padding:0 24px}@media (max-width: 640px){.container{padding:0 16px}}.header{background:hsl(var(--background));border-bottom:1px solid hsl(var(--border));position:sticky;top:0;z-index:30}.header-inner{display:flex;align-items:center;justify-content:space-between;height:64px}@media (min-width: 768px){.header-inner{height:68px}}.logo{display:flex;align-items:center;gap:3px;font-size:1.25rem;font-weight:700;letter-spacing:-.03em;color:hsl(var(--foreground))}.logo-hash,.logo-dotcom{color:hsl(var(--primary))}.logo-sub{display:none;font-size:.75rem;font-weight:400;color:hsl(var(--muted-foreground));margin-left:12px;letter-spacing:normal}@media (min-width: 640px){.logo-sub{display:inline}}.auth-section{display:flex;align-items:center;gap:12px}.steam-btn{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 18px;background:hsl(var(--foreground));color:hsl(var(--primary-foreground));border-radius:calc(var(--radius) - 2px);font-size:.8125rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:opacity .2s ease}.steam-btn:hover{opacity:.85}.steam-icon{width:15px;height:15px;flex-shrink:0}.user-info{display:flex;align-items:center;gap:10px}.user-avatar{width:30px;height:30px;border-radius:9999px;object-fit:cover;border:2px solid hsl(var(--border))}.user-name{display:none;font-size:.875rem;font-weight:500;color:hsl(var(--foreground))}@media (min-width: 640px){.user-name{display:inline}}.logout-btn{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 14px;background:transparent;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:.8125rem;font-weight:500;color:hsl(var(--muted-foreground));cursor:pointer;transition:all .2s ease}.logout-btn:hover{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.nav{padding:28px 0 0}.nav-inner{display:inline-flex;align-items:center;height:40px;padding:3px;gap:2px;background:hsl(var(--muted));border-radius:calc(var(--radius) + 2px)}@media (max-width: 640px){.nav-inner{width:100%;display:flex}.tab-btn{flex:1}}.tab-btn{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 18px;border:none;border-radius:calc(var(--radius) - 2px);font-size:.8125rem;font-weight:500;color:hsl(var(--muted-foreground));background:transparent;cursor:pointer;white-space:nowrap;transition:all .2s ease}.tab-btn:hover{color:hsl(var(--foreground))}.tab-btn.active{background:hsl(var(--background));color:hsl(var(--foreground));box-shadow:0 1px 2px #0000000d}.main{flex:1;padding-bottom:48px}.section-hero{margin:28px 0}.section-title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:hsl(var(--foreground))}.section-title span{color:hsl(var(--primary))}.section-desc{margin-top:8px;font-size:.9375rem;color:hsl(var(--muted-foreground));max-width:480px}@media (max-width: 640px){.section-hero{margin:24px 0}.section-title{font-size:1.5rem}.section-desc{font-size:.875rem;max-width:none}}.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);box-shadow:0 1px 2px #0000000a}.card-header{display:flex;align-items:center;gap:8px;padding:20px 24px 0}.card-header-icon{width:16px;height:16px;color:hsl(var(--muted-foreground));flex-shrink:0}.card-header h2{font-size:.8125rem;font-weight:600;color:hsl(var(--muted-foreground))}.card-body{padding:20px 24px}@media (max-width: 640px){.card-header{padding:16px 16px 0}.card-body{padding:16px}}.leaderboard-grid{display:grid;grid-template-columns:1fr;gap:24px}@media (min-width: 768px){.leaderboard-grid{grid-template-columns:1fr 340px}}.table-wrap{overflow-x:auto}.frags-table{width:100%;border-collapse:collapse;font-size:.875rem}.frags-table th{height:40px;padding:0 12px;text-align:left;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border))}.frags-table td{padding:12px;border-bottom:1px solid hsl(var(--border));vertical-align:middle}.frags-table tbody tr:last-child td{border-bottom:none}.frags-table tbody tr{transition:background .15s ease}.frags-table tbody tr:hover{background:hsl(var(--muted))}.rank{font-weight:600;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}.player-cell{display:flex;align-items:center;gap:10px}.player-avatar{width:24px;height:24px;border-radius:9999px;object-fit:cover;flex-shrink:0}.player-name{font-weight:500}.map-cell{color:hsl(var(--muted-foreground))}.kills-cell{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;color:hsl(var(--foreground))}@media (max-width: 480px){.frags-table th,.frags-table td{padding:10px 8px;font-size:.8125rem}.player-avatar{width:20px;height:20px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center;gap:12px}.empty-state-icon{width:40px;height:40px;color:hsl(var(--muted-foreground));opacity:.4}.empty-state p{font-size:.875rem;color:hsl(var(--muted-foreground))}.frag-form{display:flex;flex-direction:column;gap:12px}.form-input{display:flex;height:40px;width:100%;padding:0 12px;border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-family:inherit;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease,box-shadow .2s ease}.form-input::placeholder{color:hsl(var(--muted-foreground))}.form-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.submit-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 20px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.submit-btn:hover{background:hsl(var(--primary-hover))}.submit-btn:active{transform:scale(.98)}.auth-prompt{font-size:.875rem;color:hsl(var(--muted-foreground));text-align:center;padding:16px 0}.auth-prompt a{color:hsl(var(--primary));font-weight:500;text-decoration:none}.auth-prompt a:hover{text-decoration:underline}.match-desc{font-size:.8125rem;color:hsl(var(--muted-foreground));margin-bottom:16px;line-height:1.5}.match-input-row{display:flex;gap:8px}@media (max-width: 480px){.match-input-row{flex-direction:column}}.match-input{display:flex;height:40px;flex:1;padding:0 12px;border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-family:SF Mono,Fira Code,ui-monospace,monospace;background:hsl(var(--background));color:hsl(var(--foreground));outline:none;transition:border-color .2s ease,box-shadow .2s ease}.match-input::placeholder{color:hsl(var(--muted-foreground));font-family:inherit}.match-input:focus{border-color:hsl(var(--ring));box-shadow:0 0 0 2px hsl(var(--ring) / .2)}.match-add-btn{display:inline-flex;align-items:center;justify-content:center;height:40px;padding:0 20px;background:hsl(var(--primary));color:hsl(var(--primary-foreground));border:none;border-radius:calc(var(--radius) - 2px);font-size:.875rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease}.match-add-btn:hover{background:hsl(var(--primary-hover))}.match-add-btn:active{transform:scale(.98)}.match-add-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 480px){.match-add-btn{width:100%}}.error-message{margin-top:8px;font-size:.8125rem;font-weight:500;color:hsl(var(--destructive))}.match-list{margin-top:20px}.match-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.match-count{font-size:.8125rem;font-weight:500;color:hsl(var(--muted-foreground))}.matches-table{width:100%;border-collapse:collapse}.matches-table th{height:40px;padding:0 12px;text-align:left;font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));border-bottom:1px solid hsl(var(--border))}.matches-table td{padding:12px;border-bottom:1px solid hsl(var(--border));vertical-align:middle;font-size:.875rem}.matches-table tbody tr:last-child td{border-bottom:none}.matches-table tbody tr:hover{background:hsl(var(--muted))}.match-code{color:hsl(var(--primary));font-family:SF Mono,Fira Code,ui-monospace,monospace;font-size:.8125rem;word-break:break-all}.match-id-cell{font-family:SF Mono,Fira Code,ui-monospace,monospace;font-size:.8125rem;color:hsl(var(--muted-foreground))}@media (max-width: 480px){.matches-table th,.matches-table td{padding:10px 8px;font-size:.8125rem}}.action-cell{text-align:right}.remove-btn{display:inline-flex;align-items:center;justify-content:center;height:30px;padding:0 12px;border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);font-size:.75rem;font-weight:500;color:hsl(var(--muted-foreground));background:transparent;cursor:pointer;transition:all .2s ease}.remove-btn:hover{color:hsl(var(--destructive));border-color:hsl(var(--destructive) / .3);background:hsl(var(--destructive) / .05)}.no-matches{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px;text-align:center;gap:8px}.no-matches-icon{width:40px;height:40px;color:hsl(var(--muted-foreground));opacity:.4;margin-bottom:4px}.no-matches p{font-size:.875rem;color:hsl(var(--muted-foreground))}.no-matches p+p{font-size:.8125rem}.loading{display:flex;align-items:center;justify-content:center;gap:6px;min-height:120px}.loading-dot{width:8px;height:8px;border-radius:9999px;background:hsl(var(--muted-foreground));animation:loadingBounce 1.4s infinite both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}.loading-dot:nth-child(3){animation-delay:0s}@keyframes loadingBounce{0%,80%,to{transform:scale(0);opacity:.3}40%{transform:scale(1);opacity:1}}.footer{text-align:center;padding:32px 0;font-size:.75rem;color:hsl(var(--muted-foreground));border-top:1px solid hsl(var(--border));margin-top:auto}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-content{animation:fadeInUp .2s ease-out}
