/* gw-analytics.css — Analytics hub layout + shared data view (analytics0930). Needs gw-tokens.css. */
.gwa{max-width:1280px;margin:0 auto;padding:96px 24px 56px;display:grid;grid-template-columns:200px minmax(0,1fr);gap:28px;font-variant-numeric:tabular-nums}
.gwa *{box-sizing:border-box}
.gwa [hidden]{display:none!important}
.gwa a{color:inherit}
@media(max-width:1023px){.gwa{grid-template-columns:minmax(0,1fr);padding:84px 16px 40px;gap:14px}}

/* left rail + mobile select bar: moved to gw-rail.css (hubsidebar1001) — the one copy shared with every rail page.
   Link gw-rail.css AFTER this file (".gwa a{color:inherit}" above must not win over ".gwa-rail a"). */

.gwa-main{min-width:0}
.gwa-crumbs{font-size:12px;color:var(--tm);margin-bottom:8px}
.gwa-crumbs a{color:var(--purp-l);text-decoration:none}
.gwa-h1{font-size:var(--fs-title);font-weight:850;letter-spacing:-.02em;color:var(--tw);line-height:1.2;margin:0 0 6px}
.gwa-sub{font-size:14px;color:var(--t2);margin:0 0 18px;max-width:760px;line-height:1.55}
.gwa-meta{font-size:12px;color:var(--tm);margin:-8px 0 16px}

/* sport tabs */
.gwa-tabs{display:flex;gap:4px;overflow-x:auto;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--bd);margin-bottom:16px;scrollbar-width:none}
.gwa-tabs::-webkit-scrollbar{display:none}
.gwa-tab{flex:0 0 auto;background:none;border:0;border-bottom:2px solid transparent;color:var(--t2);font:600 13px/1 inherit;font-family:inherit;padding:11px 14px;cursor:pointer;white-space:nowrap}
.gwa-tab:hover{color:var(--t1)}
.gwa-tab[aria-selected="true"]{color:var(--t1);border-bottom-color:var(--purp)}
.gwa-tab:focus-visible,.gwa-btn:focus-visible,.gwa-th button:focus-visible,.gwa-railsel:focus-visible,.gwa-in:focus-visible{outline:none;box-shadow:var(--ring)}

/* panel */
.gwa-panel{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r-md);overflow:hidden}
.gwa-panel+.gwa-panel{margin-top:18px}
.gwa-ph{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;flex-wrap:wrap}
.gwa-pt{font-size:var(--fs-panel);font-weight:750;color:var(--t1);margin:0}
.gwa-ps{font-size:12px;color:var(--tm);margin-top:2px}
.gwa-tools{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.gwa-btn{display:inline-flex;align-items:center;gap:6px;background:var(--bg3);color:var(--t2);border:1px solid var(--bd);border-radius:var(--r-sm);padding:6px 10px;font:600 12px/1 inherit;font-family:inherit;cursor:pointer;white-space:nowrap}
.gwa-btn:hover{color:var(--t1);border-color:var(--bd-a)}
.gwa-btn[aria-pressed="true"]{color:var(--gold);border-color:var(--bd-a);background:rgba(212,160,23,.08)}
.gwa-btn:disabled{opacity:.45;cursor:not-allowed}
.gwa-btn svg{width:14px;height:14px}
.gwa-in{background:var(--bg3);color:var(--t1);border:1px solid var(--bd);border-radius:var(--r-sm);padding:6px 9px;font:500 12px/1.2 inherit;font-family:inherit;min-width:0}
select.gwa-in{padding-right:24px}

/* popover */
.gwa-popwrap{position:relative}
.gwa-pop{position:absolute;right:0;top:calc(100% + 6px);z-index:50;width:min(320px,calc(100vw - 32px));max-height:min(70vh,520px);overflow:auto;background:var(--pop);border:1px solid var(--bd);border-radius:var(--r-md);box-shadow:0 16px 40px rgba(0,0,0,.55);padding:12px;display:none}
.gwa-pop.open{display:block}
.gwa-pop h4{font-size:var(--fs-group);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tm);margin:10px 0 6px}
.gwa-pop h4:first-child{margin-top:0}
.gwa-pop label{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--t2);padding:4px 2px;cursor:pointer}
.gwa-pop label input{accent-color:var(--purp)}
.gwa-pop .gwa-row{display:flex;gap:6px;align-items:center;margin:4px 0}
.gwa-pop .gwa-row .gwa-in{flex:1}

/* table */
.gwa-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border-top:1px solid var(--bd)}
table.gwa-t{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--fs-data);color:var(--tnum)}
.gwa-t th,.gwa-t td{padding:0 4px;white-space:nowrap;text-align:right;height:43px;border-bottom:1px solid var(--div)}
.gwa-t thead th{height:auto;background:var(--bg2);position:relative}
.gwa-t thead tr.gwa-g th{font-size:var(--fs-group);font-weight:750;letter-spacing:.06em;text-transform:uppercase;color:var(--t2);text-align:center;padding:9px 4px 3px;border-bottom:0}
.gwa-t thead tr.gwa-g th span{display:block;border-bottom:1px solid var(--bd);padding-bottom:4px;margin:0 4px}
.gwa-t thead tr.gwa-c th{padding:4px 4px 8px;vertical-align:bottom}
.gwa-th button{background:none;border:0;color:var(--tm);font:600 11.5px/1.2 inherit;font-family:inherit;cursor:pointer;padding:3px 4px;border-radius:5px;display:inline-flex;align-items:center;gap:3px;white-space:nowrap}
.gwa-th button:hover{color:var(--t1)}
.gwa-th[aria-sort="ascending"] button,.gwa-th[aria-sort="descending"] button{color:var(--gold)}
.gwa-th .gwa-arr{font-size:9px;opacity:.75}
.gwa-t td.gwa-id,.gwa-t th.gwa-id{position:sticky;left:0;z-index:2;background:var(--bg2);text-align:left;padding-left:12px;box-shadow:1px 0 0 var(--div)}
.gwa-t thead th.gwa-id{z-index:3}
.gwa-t td.gwa-rk,.gwa-t th.gwa-rk{text-align:center;color:var(--tm);width:34px;padding:0 2px 0 10px}
.gwa-t tbody tr:hover td{background:color-mix(in oklab,var(--bg2) 85%,#fff 3%)}
.gwa-t tbody tr:hover td.gwa-id{background:color-mix(in oklab,var(--bg2) 85%,#fff 3%)}
.gwa-team{display:flex;align-items:center;gap:9px;min-width:150px;max-width:220px}
.gwa-logo{width:24px;height:24px;flex:0 0 24px;object-fit:contain}
.gwa-tile{width:24px;height:24px;flex:0 0 24px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:800;letter-spacing:-.02em;color:#fff;background:#3a2a2a}
.gwa-tn{font-size:var(--fs-team);font-weight:650;color:var(--t1);line-height:1.15;overflow:hidden;text-overflow:ellipsis}
.gwa-tr{font-size:11.5px;color:var(--tm);line-height:1.2}
.gwa-ab{display:none}
@media(max-width:640px){
  .gwa-team{min-width:0;max-width:118px;gap:7px}
  .gwa-tn{font-size:13px;white-space:nowrap}
  .gwa-full{display:none}.gwa-ab{display:inline}
  .gwa-t td.gwa-id,.gwa-t th.gwa-id{padding-left:8px;padding-right:6px}
  .gwa-t td.gwa-rk,.gwa-t th.gwa-rk{width:26px;padding-left:6px}
  .gwa-cell{min-width:44px;padding:4px 5px}
  .gwa-ph{padding:12px 12px 8px}
}
.gwa-cell{display:inline-block;min-width:52px;padding:5px 7px;border-radius:6px;text-align:right}
.gwa-h-p1{background:var(--heat-pos-1)}.gwa-h-p2{background:var(--heat-pos-2)}.gwa-h-p3{background:var(--heat-pos-3)}.gwa-h-p4{background:var(--heat-pos-4);color:#fff}
.gwa-h-n1{background:var(--heat-neg-1)}.gwa-h-n2{background:var(--heat-neg-2)}.gwa-h-n3{background:var(--heat-neg-3)}.gwa-h-n4{background:var(--heat-neg-4);color:#fff}
.gwa-s-1{background:var(--seq-1)}.gwa-s-2{background:var(--seq-2)}.gwa-s-3{background:var(--seq-3)}.gwa-s-4{background:var(--seq-4)}
.gwa-na{color:var(--tm)}
.gwa-up{color:var(--gn);font-size:10px;margin-left:3px}.gwa-dn{color:var(--rd);font-size:10px;margin-left:3px}
.gwa-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 16px 12px;font-size:11.5px;color:var(--tm)}
.gwa-state{padding:36px 16px;text-align:center;color:var(--t2);font-size:13px}
.gwa-state button{margin-top:10px}

/* scatter */
.gwa-chart{position:relative;padding:8px 12px 14px;border-top:1px solid var(--bd)}
.gwa-chart canvas{display:block;width:100%!important;max-height:720px}
.gwa-chart-ctl{display:flex;gap:8px;flex-wrap:wrap;align-items:center;padding:10px 16px;border-top:1px solid var(--bd);font-size:12px;color:var(--tm)}
.gwa-legend{display:flex;gap:14px;flex-wrap:wrap;font-size:11.5px;color:var(--t2);padding:0 16px 12px}
.gwa-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}

/* fullscreen */
.gwa-panel.gwa-fs{position:fixed;inset:0;z-index:10000;border-radius:0;overflow:auto;margin:0!important}
.gwa-panel.gwa-fs .gwa-scroll{max-height:none}

/* hub cards */
.gwa-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}
.gwa-card{display:block;background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r-md);padding:16px 16px 14px;text-decoration:none;transition:border-color .15s,transform .15s}
.gwa-card:hover{border-color:var(--bd-a);transform:translateY(-1px)}
.gwa-card h3{font-size:15px;font-weight:750;color:var(--t1);margin:0 0 4px;display:flex;gap:8px;align-items:center}
.gwa-card p{font-size:12.5px;color:var(--t2);margin:0;line-height:1.5}
.gwa-badge{font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:5px;background:rgba(212,160,23,.12);color:var(--gold);border:1px solid var(--bd-a)}
.gwa-badge.free{background:rgba(34,197,94,.10);color:#4ade80;border-color:rgba(34,197,94,.3)}
.gwa-sec{font-size:var(--fs-group);font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--tm);margin:26px 0 10px}

/* stat tiles */
.gwa-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
@media(max-width:700px){.gwa-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gwa-tile-s{background:var(--bg2);border:1px solid var(--bd);border-radius:var(--r-md);padding:12px 14px}
.gwa-tile-s .v{font-size:22px;font-weight:800;color:var(--t1);line-height:1.15}
.gwa-tile-s .v.pos{color:var(--gn)}.gwa-tile-s .v.neg{color:var(--rd)}
.gwa-tile-s .l{font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tm);margin-top:3px}

/* lock / members */
.gwa-lockbox{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(135deg,rgba(98,28,45,.35),rgba(20,10,10,.6));border:1px solid var(--bd-a);border-radius:var(--r-md);padding:16px;font-size:13px;color:var(--t2);line-height:1.55}
.gwa-lockbox strong{color:var(--t1)}
.gwa-lockbox a{color:var(--gold);text-decoration:underline}
.gwa-note{font-size:12px;color:var(--tm);line-height:1.55;margin:12px 0 0}

/* calculators */
.gwa-calc{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px;align-items:start}
@media(max-width:820px){.gwa-calc{grid-template-columns:minmax(0,1fr)}}
.gwa-form{padding:16px;display:grid;gap:12px}
.gwa-f label{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tm);margin-bottom:5px}
.gwa-f .gwa-in{width:100%;font-size:15px;padding:10px 12px}
.gwa-f .hint{font-size:11px;color:var(--tm);margin-top:4px}
.gwa-f .err{font-size:11.5px;color:#f87171;margin-top:4px;min-height:0}
.gwa-f2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gwa-res{padding:16px;display:grid;gap:10px}
.gwa-big{display:flex;gap:14px;align-items:center}
.gwa-big .sq{min-width:84px;height:84px;flex:0 0 auto;padding:0 12px;border-radius:var(--r-md);background:var(--bg3);border:1px solid var(--bd-a);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:850;color:var(--gold)}
.gwa-big .cap{font-size:13px;color:var(--t2);line-height:1.5}
.gwa-kv{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.gwa-kv>div{background:var(--bg3);border:1px solid var(--bd);border-radius:var(--r-sm);padding:9px 10px}
.gwa-kv .v{font-size:16px;font-weight:750;color:var(--t1)}
.gwa-kv .l{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tm)}
.gwa-kv .v.pos{color:var(--gn)}.gwa-kv .v.neg{color:var(--rd)}
.gwa-seg{display:inline-flex;background:var(--bg3);border:1px solid var(--bd);border-radius:var(--r-sm);padding:2px;gap:2px;flex-wrap:wrap}
.gwa-seg button{background:none;border:0;color:var(--t2);font:600 12px/1 inherit;font-family:inherit;padding:7px 10px;border-radius:6px;cursor:pointer}
.gwa-seg button[aria-pressed="true"]{background:var(--wine-a);color:var(--t1)}
.gwa-article{max-width:780px;margin-top:26px;font-size:14px;line-height:1.7;color:var(--t2)}
.gwa-article h2{font-size:18px;color:var(--t1);margin:22px 0 8px}
.gwa-article code,.gwa-article pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:var(--bg3);border:1px solid var(--bd);border-radius:6px}
.gwa-article code{padding:1px 5px}
.gwa-article pre{padding:10px 12px;overflow-x:auto;color:var(--tnum)}
.gwa-article a{color:var(--gold)}
.gwa-article ul{padding-left:20px}
.gwa-bars{display:flex;align-items:flex-end;gap:2px;height:110px;padding:6px 2px 0}
.gwa-bars div{flex:1;background:var(--seq-2);border-radius:2px 2px 0 0;position:relative}
.gwa-bars div.w{background:oklch(.55 .12 152 / .75)}.gwa-bars div.p{background:var(--seq-4)}.gwa-bars div.l{background:oklch(.50 .15 25 / .6)}
.gwa-bars-x{display:flex;justify-content:space-between;font-size:10px;color:var(--tm);padding:2px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
