/* AI Wired design tokens v4, 2026-10-14. Mirrors tokens.json.
   Canon: brands/ai-wired/VISUAL_IDENTITY.md. Change the canon first, then this file. */

@font-face { font-family: 'Inter'; font-weight: 400; font-style: normal; src: url('assets/fonts/Inter-400.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: 'Inter'; font-weight: 500; font-style: normal; src: url('assets/fonts/Inter-500.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: 'Inter'; font-weight: 600; font-style: normal; src: url('assets/fonts/Inter-600.ttf') format('truetype'); font-display: swap; }
@font-face { font-family: 'Inter'; font-weight: 700; font-style: normal; src: url('assets/fonts/Inter-700.ttf') format('truetype'); font-display: swap; }

:root {
  /* dark, the primary theme */
  --aw-dark-ground: radial-gradient(120% 100% at 85% 0%, #1F252C 0%, #0D1013 52%, #050506 100%);
  --aw-dark-flat: #0D1013;
  --aw-dark-surface: #14181D;
  --aw-dark-line: #262D35;
  --aw-dark-text: #EEF1F3;
  --aw-dark-muted: #8B96A1;
  --aw-dark-subtle: #5C6670;

  /* light: Silver */
  --aw-light-ground: radial-gradient(120% 100% at 85% 0%, #FFFFFF 0%, #DDE2E7 35%, #A9B2BC 100%);
  --aw-light-flat: #F1F3F5;
  --aw-light-surface: #FFFFFF;
  --aw-light-line: #CDD5DE;
  --aw-light-text: #0D1013;
  --aw-light-muted: #3F4955;
  --aw-light-subtle: #8B96A1;

  /* grain: an invisible noise tile laid over every gradient ground so screens do not band it (make-grain.py) */
  --aw-grain: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAALKklEQVR42q2d25IbOQxDif//6NmHrdr1tEngoJNUpZLx2G21WuIFBKGZ/Y9mZn5+fvTz8/Pf/x+vfb0+M/+9//M6n79//G77rJ6/38a1vG/97o/XPn//9drjs7OMU2Hcs4zBXef7xtyAwoXn8fl1so+HVU3a56LYxr8N8Plgjs+7h73e63Os4Xt/vf75u23luad5PqDHhbWsWPfzNYEyN3StqGshxc9/vn+7/4cFOK9nFuy6EFYzs6w2HatN22SZgdLrTRiHM3+n2dr+bxbOXIvk2I3X/K0/u231nEAFmxmf/NPkXDf1+V3XpB67dpJpevowsBPdAhpjntzOy453G6jZGc4O2xXubDW1qcd3RbNndvz6mT8Yp5BPvVbAYQJm2Q1rpLH5F+e4n87a3LiNqpKPCTsQRzKLqSKL7t/3lVFPcogTTJQuu2/suK5w+DKfl10OZiPdp/tXztQa86QUPSh98ZYTmAkmjriewG2nbHmLWd3oQbgI6bmAwgL9/Z6QwKymJtnypzM9VvLpN8IqGhPBkFAx+qHn/Ttzm3KF5z0BX3bHysfk2hVpkhoF/3PdBFrBx8TZJGrJZZpA4E3gwLfzFsuGJ+9WmZyzNSHo14MoIQHy8M/8xYWxxhFHE7cO6JmcpCyR7ILNLl+JC8RX2sXlst0YsTn4xpjS2xIsT/TCblxmWE2E2+5hFVv4Y5vMywEXmW3Cx1YfB/Ck32EoXF26nNM1KBIJAYxHwdE51JZkrWv8H0ytinlRCGairUSoXohirpWrw65OSJ4oDOASJMFoRWaBTcKqsGMG2HgyI2k1y2SbLtla/VMKi13IuMEsob5QzwtxvusHyBbZHCcwMTL+pEmQJq0sUzRCgNllWssIS8HhWyymrRRR80RifqXQMUEPzwirgFRQ7H4EIS5wuaO7azUHxJNgPfX2dTvDZNECjnOdGABr05pDEy7/f02HOB6w9GnD4U2QiEh/gCttJs9FVVditSWfCuPBpnvexO0QFHM+xaKex2q+nHhcZaFESvzHGtkYRJZB0I/XlQrOR1FbEJtBCV1IuuQwHhMuOmc65PsAhnQWqkIgoBQfpzKhChBM0Anb91/haWA9qI2+KL3FhKlqQlQBby93k5cNNNEUrZc20MUA8zAkctmSMUBQwJGWHdtFvEoPyeUELmmi9QFyo67eG0qhczEWYEyfPq+BXlkACk4QruXrtGwDMJZYAL/GDKORVOceAjc0OBCJZxG15MJHtrTfVLQm7BiSKySk0/qCchGI5DbED1w1X1TFKnH9K6FJHKO4qime4whajj8Ec4DbbBpIea4kDNJGrujluj6ysTSJSVhOCoWJ34KLcZr3pDrwvEnDgf2zxRPCgi4jrSYfGUi3GVAH+V5EZCUA6oYKXzGBko4csqlCYQ7QteNcPSCx5igH6td9N9TzkMYjT09W8EVlv2z0RR2hdQ4HtiXmG71+wsJIYkOiJSXf0CCiL6mMzn9YWnlZeElQjIiZa9BGO2EvcPTKNICKl6u+xSw5Ea0Kp5xYcSczjmSjb+gdIi1H2zYFZuOEkFPUQ8DE0h9Swq/WcLRgAtNYesCEvioTwrBUZdY7gOXc8KREa8GJNYAcauiwESwrUqw9cfF17e7w8JRoKwkvI/Sb0wknu+gKHMQZvvUNoZBja7ABxlbiHW1IKIHND2S1m3jAhSH4imhnyZFpq+hAUSrIm1CS1AZwJn618H59V0itJxBfiV0fUuB3IfBG4iIwODFnl8kCzRlVj8F6zWvLQuh23REgP7BYPBo4cKwFqup29AW3KAQFEVVY/UDLoYFm7LKpbf4gWEMeEAa7ZhFBVNU19jEuFWW2GYbv0CLMFiUZ+otCh6FoNAbIZoQtEQtODjY5r71tq0amIDzx1CN8Rk/J5BhoQWB3DO2QhxA4IeeezS2CjsRFDUoRzovMcS7fkmoYEDoRNG2ohFv0D98Fp9RPGwrRpzOirUZX69FRLxiqG7FFT0DMQ6ZpndaHneQDSul1Xcx1mBB6+eUo2yY42pdGfAfgNon2ITt/lvoD9JJwOkVrDq3GCbLZnFOvcaCyrvE6SpwQD89lCprPvrTPVbEDQOun6bl6jImZAwouONJMg6fUlb/BcrO7ENIGE7inANyhTHlJKpXg6Cs7FxDGOB1bscVJJkwhYdqtacnBTQ9A4KSukA0tLk0x+ThyCkXvmLy1CaKNNnq7T2CNIfIEJK8iyCUqDdJawt/oM3Y9AKQuUDyobcen60Yg0OnGjQHYKmo5fKDjvpeKQxVSBUMK81f835hcCrHr0o0r+rjknCiIKtQmhReMUpg/TK8PIF9jzr7mQo5TA/ETqlA4Rr7yDHcLDAZTFUNz3ys2NqBsioShE2gcIpP5ohQ5Rf9WCiEtzHBV+Ag15TKDBCi80FnS5a5SqE6UQlIQwaiOBHKkTmrGvScVWGhfRWLGWZ9AbVv6DNB9a2HwqPzyomWUcEQx8/nrwZIGt+laMZ3dp4UPh7ucGg+htNlweGQERU4I2+UlFyXfhXZIQ4ja+dC+eXVhOgRTZW9DBNSS2QF+LgqVrPNFKRkAzLrCT8FGiEmc+g0aJgJ/DZWyEYg1bECyUJVEiXhhwcAPYBuqbJxQktOnztpdp+hooSIjlWRlRU8sO0tw/1gKOxt64YsoaUoObNvY4mncgBVtYd9UioQF/dY0pp1iNYDe1DYuVDjd43MXCHJlFEJTGSIskfhVElgqD5dI/q0hojU1DwH6iypJ4BSBvIiVBcizlkgVMCOsgpVykKD+QiicZ3IrIobkis6ANVErorhDD5ImKeB40mbDKDySBKMIDnRq91xcTpckOfNEyphhLPOiUXDCmQJOH4jiUY38wVciprd9X0QhMcXVMU6GugxwxRNo+0/PlFFzSAbBO7a/dJUInCIhABtUmHuyy4nn48yG6ydumdBTcN1jttlIT9JCPjR787IeYJtQwmlQJ6mshONlTxcCZcTmgBtctyWirEXPV4S8gSpKurYSamADEJellsq4kbEGNR2ckqGgL3KiTOlQOV0SZU7cj/QsEOVI0Q5yeK7ANGRYotiSJpNk5aSDvS3sE4LYuaNCHuAAs3SOzDQpehl1WdElmH1P8zOVRCaFmjURAzyfq66Kq1l0K0Jthxq9JO1HVHmrVNLyDyWdt0KkA1ITAmkxpZ3rVKYGKilSEm3sOQtzl6XrN8d1QdRAfoDKvqiEsCOhDMb4jVjIIHSz1J2LQnlAMI+chIfSdke2aqKzQjM6NhuSqC2N9zSTQFeTHMY8RcvQ6y50SsQl5oqwH0AVkOrl3ey6oDKlRN4FkC5pXiZdOYI3Fs+5TLpuxQIbetIrTfrU0lSKY8Rxh8ylVd3qGpEieTqMx5VoCZUG+cem/cd1MYYtSEqXohS/Qpt6Wpkd2IQuKE0mIvqkN9qWtMie9PiL4jrNDWKUU8qrodNlS18p0hSnlxLtetNdYgpAOPm5MnmoPTcvSAJnX3TLjBuoWjiECNWckkRg3FKqGOufJpUTQi9JhN4o1l3UB2jSo7cnig7Tsm7BwvZ8hIFadPak2bYcKyC+QaFo1HZ6kVmJLJqrG7RH3tJdHr6vOYdN6XhB8mAam1xpa6bSZigzvv1D+wKsepgDNNfFc4lrkMTMilKb8K6Vg0kFo2n4+Ln2K3fmZYKfGyLXVRPQi654XDGicjCGpq7mLDNwjDgthzZ800b+ACmYk2M81DQvt4rp4OxKmUMglE5XeiuzDJodpy1DDjhNQ0TKgBwrAunjafXT068p80NNfgMp/hMlCmjGeAFdpiFZF+2DXh9o+NeZLUwy1bRvkTn5vM4/JU9av200O8cAAAAASUVORK5CYII=");

  --aw-font: 'Inter', system-ui, sans-serif;
  --aw-display-size: 72px; --aw-display-weight: 600; --aw-display-lh: 1.04; --aw-display-ls: -0.045em;
  --aw-h2-size: 28px; --aw-h2-weight: 600; --aw-h2-lh: 1.15; --aw-h2-ls: -0.02em;
  --aw-body-size: 16px; --aw-body-lh: 1.5;
  --aw-label-size: 12px; --aw-label-weight: 600; --aw-label-ls: 0.08em;
  --aw-caption-size: 13px;

  --aw-radius-sm: 8px; --aw-radius-md: 12px; --aw-radius-lg: 16px; --aw-radius-xl: 22px; --aw-radius-button: 10px; --aw-radius-pill: 999px;
  --aw-space-1: 4px; --aw-space-2: 8px; --aw-space-3: 12px; --aw-space-4: 16px;
  --aw-space-5: 24px; --aw-space-6: 32px; --aw-space-7: 48px; --aw-space-8: 64px;
}

/* Themes set the working variables; components only read these. Dark is the default. */
.aw, .aw-dark {
  --aw-ground: var(--aw-dark-ground); --aw-flat: var(--aw-dark-flat); --aw-surface: var(--aw-dark-surface);
  --aw-line: var(--aw-dark-line); --aw-text: var(--aw-dark-text); --aw-muted: var(--aw-dark-muted); --aw-subtle: var(--aw-dark-subtle);
  --aw-cta-bg: #EEF1F3; --aw-cta-text: #0D1013; --aw-shadow-card: none;
}
.aw-light {
  --aw-ground: var(--aw-light-ground); --aw-flat: var(--aw-light-flat); --aw-surface: var(--aw-light-surface);
  --aw-line: var(--aw-light-line); --aw-text: var(--aw-light-text); --aw-muted: var(--aw-light-muted); --aw-subtle: var(--aw-light-subtle);
  --aw-cta-bg: #0D1013; --aw-cta-text: #FFFFFF; --aw-shadow-card: 0 1px 2px rgba(13,16,19,0.06);
}
.aw { font-family: var(--aw-font); color: var(--aw-text); background: var(--aw-grain), var(--aw-ground); -webkit-font-smoothing: antialiased; }
.aw-dark, .aw-light { color: var(--aw-text); background: var(--aw-grain), var(--aw-ground); }
.aw-ground { background: var(--aw-grain), var(--aw-ground); } /* any element on the gradient: always with the grain */
.aw-flat { background: var(--aw-flat); }

/* Type: emphasis is weight, never colour */
.aw-display { font-size: var(--aw-display-size); font-weight: var(--aw-display-weight); line-height: var(--aw-display-lh); letter-spacing: var(--aw-display-ls); margin: 0; }
.aw-display .aw-qualifier, .aw-h2 .aw-qualifier { font-weight: 400; }
.aw-h2 { font-size: var(--aw-h2-size); font-weight: var(--aw-h2-weight); line-height: var(--aw-h2-lh); letter-spacing: var(--aw-h2-ls); margin: 0; }
.aw-body { font-size: var(--aw-body-size); line-height: var(--aw-body-lh); margin: 0; }
.aw-muted { color: var(--aw-muted); }
.aw-label { font-size: var(--aw-label-size); font-weight: var(--aw-label-weight); letter-spacing: var(--aw-label-ls); text-transform: uppercase; color: var(--aw-muted); }
.aw-caption { font-size: var(--aw-caption-size); color: var(--aw-muted); }
.aw a, .aw-link { color: var(--aw-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* Components */
.aw-btn { font-family: var(--aw-font); font-size: 15px; font-weight: 600; border-radius: var(--aw-radius-button); padding: 12px 22px; border: 1px solid transparent; cursor: pointer; line-height: 1.2; }
.aw-btn-primary { background: var(--aw-cta-bg); color: var(--aw-cta-text); }
.aw-btn-secondary { background: transparent; color: var(--aw-text); border-color: var(--aw-line); }
.aw-btn:focus-visible { outline: 2px solid var(--aw-text); outline-offset: 3px; }
.aw-card { background: var(--aw-surface); border: 1px solid var(--aw-line); border-radius: var(--aw-radius-lg); padding: var(--aw-space-5); box-shadow: var(--aw-shadow-card); }
.aw-icon-well { width: 40px; height: 40px; border-radius: 10px; border: 1px solid var(--aw-line); display: flex; align-items: center; justify-content: center; color: var(--aw-text); }
.aw-logo { display: block; height: auto; }

/* Report table: category / top pick (raised lane) / runner-up */
.aw-table { display: grid; grid-template-columns: 30% 37% 33%; }
.aw-table-head, .aw-row { display: contents; }
.aw-table-head > div { padding: 12px 16px; font-weight: 600; border-bottom: 1px solid var(--aw-line); }
.aw-table-head > div:first-child { padding-left: 0; font-weight: 500; color: var(--aw-muted); }
.aw-table-head > div:nth-child(2) { background: var(--aw-surface); border-radius: var(--aw-radius-md) var(--aw-radius-md) 0 0; }
.aw-table-head > div:nth-child(3) { color: var(--aw-muted); }
.aw-row > div { padding: 14px 16px; border-bottom: 1px solid var(--aw-line); display: flex; align-items: center; gap: var(--aw-space-3); }
.aw-row > div:first-child { padding-left: 0; color: var(--aw-muted); }
.aw-row > div:nth-child(2) { background: var(--aw-surface); font-weight: 600; }
.aw-row > div:nth-child(3) { color: var(--aw-muted); }
.aw-row:last-child > div { border-bottom: 0; }
.aw-row:last-child > div:nth-child(2) { border-radius: 0 0 var(--aw-radius-md) var(--aw-radius-md); }
