.gc-competitive-hub{--hub-accent:190 66% 64%;--hub-accent-ink:190 54% 84%;--hub-accent-wash:190 62% 55% / .11;--hub-art-tint:224 76% 10%;--hub-art-shade-top:.7;--hub-art-shade-middle:.82;max-width:1120px;color:hsl(var(--foreground));margin:0 auto}.gc-competitive-hub[data-game=go]{--hub-accent:164 47% 62%;--hub-accent-ink:158 42% 82%;--hub-accent-wash:164 47% 60% / .1;--hub-hero-art:url(/images/competitive/pokemon-go-key-art.webp)}.gc-competitive-hub[data-game=pocket]{--hub-accent:36 77% 69%;--hub-accent-ink:39 68% 84%;--hub-accent-wash:36 77% 65% / .1;--hub-hero-art:url(/images/competitive/pokemon-pocket-key-art.jpg)}.gc-competitive-hub[data-game=champions]{--hub-hero-art:url(/images/competitive/pokemon-champions-key-art.webp)}.gc-competitive-hub *,.gc-competitive-hub :before,.gc-competitive-hub :after{box-sizing:border-box}.gc-hub-hero{isolation:isolate;border:1px solid hsl(var(--border));background:radial-gradient(ellipse at 92% 4%, hsl(var(--hub-art-tint) / .14), transparent 44%), linear-gradient(125deg, hsl(var(--surface)) 0%, #101523 100%);border-radius:23px;padding:clamp(23px,5vw,52px);position:relative;overflow:hidden}.gc-competitive-hub[data-game=champions] .gc-hub-hero:before,.gc-competitive-hub[data-game=go] .gc-hub-hero:before,.gc-competitive-hub[data-game=pocket] .gc-hub-hero:before{z-index:0;background-image:linear-gradient(180deg, hsl(var(--hub-art-tint) / var(--hub-art-shade-top)) 0%, hsl(var(--hub-art-tint) / var(--hub-art-shade-middle)) 52%, transparent 100%), var(--hub-hero-art);content:"";pointer-events:none;background-position:50%,50% 24%;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 34%,#0000 100%);mask-image:linear-gradient(#000 0% 34%,#0000 100%)}.gc-hub-hero-content{z-index:1;max-width:760px;position:relative}.gc-hub-eyebrow{color:hsl(var(--hub-accent-ink));font:500 10px/1.4 var(--app-font-mono);letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:9px;margin:0;display:inline-flex}.gc-hub-eyebrow:before{background:hsl(var(--hub-accent));content:"";width:19px;height:1px}.gc-hub-title{max-width:780px;font:800 clamp(34px, 6vw, 61px)/1.03 var(--app-font-display);letter-spacing:-.055em;margin:15px 0 12px}.gc-hub-description{max-width:640px;color:hsl(var(--muted-foreground));margin:0;font-size:clamp(13px,1.7vw,15px);line-height:1.75}.gc-hub-proofline{flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:25px;display:flex}.gc-hub-source-label{color:hsl(var(--hub-accent-ink));font:10px/1.4 var(--app-font-mono);align-items:center;display:inline-flex}.gc-hub-regulation-select:focus-visible,.gc-hub-tournament-link:focus-visible{outline:2px solid hsl(var(--hub-accent));outline-offset:3px}.gc-hub-updated{color:hsl(var(--muted-foreground));font:10px/1.5 var(--app-font-mono)}.gc-hub-updated strong{color:hsl(var(--foreground));font-weight:500}.gc-hub-main{grid-template-columns:minmax(0,1.45fr) minmax(260px,.78fr);align-items:start;gap:20px;margin-top:23px;display:grid}.gc-hub-panel{border:1px solid hsl(var(--border));background:hsl(var(--surface));border-radius:17px;min-width:0;overflow:hidden}.gc-hub-panel-header{border-bottom:1px solid hsl(var(--border));justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 21px 17px;display:flex}.gc-hub-heading-group{min-width:0}.gc-hub-panel-kicker{color:hsl(var(--hub-accent-ink));font:10px var(--app-font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;display:block}.gc-hub-panel-header h2{font:700 19px/1.2 var(--app-font-display);letter-spacing:-.035em;margin:0}.gc-hub-panel-header p{color:hsl(var(--muted-foreground));margin:6px 0 0;font-size:11px;line-height:1.5}.gc-hub-regulation-control{flex:none;gap:5px;display:grid}.gc-hub-regulation-control label{color:hsl(var(--muted-foreground));font:9px var(--app-font-mono);letter-spacing:.06em;text-transform:uppercase}.gc-hub-regulation-select{border:1px solid hsl(var(--border));min-width:132px;max-width:190px;height:34px;color:hsl(var(--foreground));background:hsl(var(--background));font:11px var(--app-font-sans);border-radius:8px;padding:0 28px 0 10px}.gc-hub-rank-table-wrap{overflow-x:auto}.gc-hub-rank-table{border-collapse:collapse;text-align:left;width:100%}.gc-hub-rank-table th{color:hsl(var(--muted-foreground));background:hsl(var(--background) / .3);font:9px var(--app-font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;padding:10px 15px}.gc-hub-rank-table th:first-child,.gc-hub-rank-table td:first-child{padding-left:21px}.gc-hub-rank-table td{border-top:1px solid hsl(var(--border) / .72);padding:13px 15px;font-size:12px}.gc-hub-rank-table tbody tr{transition:background .16s}.gc-hub-rank-table tbody tr:hover{background:hsl(var(--hub-accent-wash))}.gc-hub-rank-number{width:54px;color:hsl(var(--muted-foreground));font:11px var(--app-font-mono)}.gc-hub-rank-number strong{color:hsl(var(--hub-accent-ink));font-size:12px}.gc-hub-rank-name{font-weight:700}.gc-hub-rank-identity{grid-template-columns:32px minmax(0,1fr);align-items:center;gap:9px;min-height:34px;display:grid}.gc-hub-rank-sprite{object-fit:contain;width:32px;height:32px;display:block}.gc-hub-rank-sprite-empty{background:hsl(var(--surface-2));border-radius:50%}.gc-hub-rank-label{overflow-wrap:anywhere;min-width:0;line-height:1.35}.gc-competitive-hub[data-game=pocket] .gc-hub-rank-identity{grid-template-columns:40px minmax(0,1fr);gap:11px;min-height:58px}.gc-hub-rank-card{border:1px solid hsl(var(--border));background:hsl(var(--surface-2));object-fit:contain;border-radius:4px;width:40px;height:56px;display:block;box-shadow:0 2px 7px #06060f4d}.gc-hub-rank-card-empty{background:linear-gradient(145deg, hsl(var(--surface-2)), hsl(var(--background)))}.gc-hub-rank-usage{min-width:108px}.gc-hub-usage-value{font:11px var(--app-font-mono);white-space:nowrap;justify-content:space-between;align-items:center;gap:9px;display:flex}.gc-hub-usage-track{background:hsl(var(--border));border-radius:99px;height:3px;margin-top:7px;display:block;overflow:hidden}.gc-hub-usage-track span{border-radius:inherit;background:hsl(var(--hub-accent));height:100%;display:block}.gc-hub-rank-count{color:hsl(var(--muted-foreground));font:10px var(--app-font-mono);text-align:right;white-space:nowrap}.gc-hub-table-foot{border-top:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));font:9px/1.5 var(--app-font-mono);flex-wrap:wrap;justify-content:space-between;gap:8px 14px;padding:12px 20px;display:flex}.gc-hub-empty{text-align:center;place-content:center;justify-items:center;min-height:190px;padding:25px;display:grid}.gc-hub-empty-mark{border:1px solid hsl(var(--hub-accent) / .28);width:36px;height:36px;color:hsl(var(--hub-accent-ink));background:hsl(var(--hub-accent-wash));font:14px var(--app-font-mono);border-radius:11px;place-items:center;margin-bottom:11px;display:grid}.gc-hub-empty h3{font:700 13px var(--app-font-display);margin:0}.gc-hub-empty p{max-width:310px;color:hsl(var(--muted-foreground));margin:7px 0 0;font-size:11px;line-height:1.6}.gc-hub-skeleton{background:linear-gradient(90deg, hsl(var(--surface-2)), hsl(var(--background)), hsl(var(--surface-2)));background-size:200% 100%;border-radius:5px;height:13px;margin:15px 20px;animation:1.45s infinite gc-hub-shimmer}.gc-hub-skeleton:first-child{margin-top:22px}.gc-hub-skeleton:last-child{margin-bottom:22px}@keyframes gc-hub-shimmer{to{background-position:-200% 0}}.gc-hub-tournaments{grid-auto-rows:120px;display:grid}.gc-hub-tournament{border-top:1px solid hsl(var(--border) / .75);grid-template-columns:58px minmax(0,1fr) 30px;align-items:center;gap:12px;height:120px;padding:12px 18px;display:grid;overflow:hidden}.gc-hub-tournament:first-child{border-top:0}.gc-hub-tournament-date{color:hsl(var(--hub-accent-ink));font:9px/1.15 var(--app-font-mono);text-align:center;text-transform:uppercase;align-content:center;justify-items:center;gap:3px;display:grid}.gc-hub-tournament-date svg{color:hsl(var(--hub-accent));margin-bottom:2px}.gc-hub-tournament-date strong{font-size:14px}.gc-hub-tournament-copy{min-width:0;max-height:100%;overflow:hidden}.gc-hub-tournament-link{color:hsl(var(--foreground));font:700 12px/1.35 var(--app-font-display);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.gc-hub-tournament-meta{color:hsl(var(--muted-foreground));font:9px/1.35 var(--app-font-mono);flex-wrap:wrap;gap:3px 10px;margin-top:7px;display:flex}.gc-hub-tournament-meta span{align-items:center;gap:4px;min-width:0;display:inline-flex}.gc-hub-tournament-source{color:hsl(var(--muted-foreground));text-decoration:none}.gc-hub-tournament-linkout{border:1px solid hsl(var(--hub-accent) / .26);width:30px;height:30px;color:hsl(var(--hub-accent-ink));background:hsl(var(--hub-accent-wash));border-radius:8px;place-items:center;transition:color .18s,border-color .18s,background .18s;display:grid}.gc-hub-tournament-linkout:hover{border-color:hsl(var(--hub-accent) / .55);color:hsl(var(--foreground));background:hsl(var(--hub-accent) / .18)}.gc-hub-tournament-linkout:focus-visible{outline:2px solid hsl(var(--hub-accent));outline-offset:2px}.gc-hub-tournament-empty{color:hsl(var(--muted-foreground));padding:23px 19px;font-size:11px;line-height:1.65}.gc-hub-error{border:1px solid hsl(var(--destructive) / .3);color:hsl(var(--destructive));background:hsl(var(--destructive) / .07);border-radius:12px;align-items:flex-start;gap:10px;margin-top:20px;padding:15px 17px;font-size:12px;line-height:1.55;display:flex}.gc-hub-error strong{margin-bottom:2px;font-size:12px;display:block}.gc-hub-error p{margin:0}.gc-hub-method-note{color:hsl(var(--muted-foreground));margin:17px 2px 0;font-size:10px;line-height:1.65}.gc-hub-method-note strong{color:hsl(var(--foreground));font-weight:600}@media (max-width:760px){.gc-hub-main{grid-template-columns:1fr;gap:14px;margin-top:15px}.gc-hub-hero{border-radius:17px}.gc-hub-panel-header{padding:17px 16px 14px}.gc-hub-rank-table th:first-child,.gc-hub-rank-table td:first-child{padding-left:15px}.gc-hub-rank-table td,.gc-hub-rank-table th{padding-left:10px;padding-right:10px}.gc-hub-rank-usage{min-width:94px}.gc-hub-tournament{grid-template-columns:52px minmax(0,1fr) 30px;gap:10px;padding:10px 15px}}@media (max-width:430px){.gc-hub-panel-header{flex-direction:column}.gc-hub-regulation-control{width:100%}.gc-hub-regulation-select{width:100%;max-width:none}.gc-hub-proofline{flex-direction:column;align-items:flex-start;gap:9px}.gc-hub-rank-count{font-size:9px}.gc-competitive-hub[data-game=pocket] .gc-hub-rank-table{min-width:460px}.gc-competitive-hub[data-game=pocket] .gc-hub-rank-identity{grid-template-columns:34px minmax(0,1fr);gap:8px;min-height:50px}.gc-competitive-hub[data-game=pocket] .gc-hub-rank-card{width:34px;height:48px}}@media (prefers-reduced-motion:reduce){.gc-competitive-hub *,.gc-competitive-hub :before,.gc-competitive-hub :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.gc-hub-source-switch{justify-content:flex-end;gap:8px;width:min(100% - 40px,1200px);margin:18px auto 0;display:flex}.gc-hub-source-switch button{border:1px solid hsl(var(--border));color:hsl(var(--muted-foreground));background:hsl(var(--surface));font:inherit;cursor:pointer;border-radius:9px;padding:9px 13px;font-size:11px;font-weight:650}.gc-hub-source-switch button[aria-pressed=true]{border-color:hsl(var(--primary));color:hsl(var(--foreground));background:hsl(var(--primary)/.15)}.gc-hub-meta-metric{color:hsl(var(--muted-foreground));white-space:nowrap;font-size:11px}@media (max-width:620px){.gc-hub-source-switch{flex-direction:column;justify-content:stretch}.gc-hub-source-switch button{text-align:left}}
