/* Page-local layout only, on the brand tokens. gt-x-* is the one namespace a page may add. */
.gt-x-main { padding-top: var(--gt-space-6); padding-bottom: var(--gt-space-8); }
.gt-x-form { display: grid; gap: var(--gt-space-5); max-width: var(--gt-width-doc); }
.gt-x-row { display: grid; gap: var(--gt-space-4); grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr)); }
.gt-x-field { display: grid; gap: var(--gt-space-2); align-content: start; }
.gt-x-hint { color: var(--gt-text-muted); font-size: var(--gt-size-small); }
.gt-x-check { display: flex; gap: var(--gt-space-2); align-items: baseline; font-size: var(--gt-size-body); }
.gt-x-guide { border-left: var(--gt-rule-strong) solid var(--gt-accent); padding: var(--gt-space-3) var(--gt-space-4); background: var(--gt-bg-subtle); }
.gt-x-guide summary { cursor: pointer; color: var(--gt-accent-text); }
.gt-x-guide ol { margin: var(--gt-space-3) 0 0; padding-left: 1.25rem; display: grid; gap: var(--gt-space-2); }
.gt-x-guide code, .gt-x-code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.92em; background: var(--gt-bg); padding: 0 0.3em; overflow-wrap: anywhere; }
.gt-x-status { display: inline-block; padding: 0.1em 0.6em; font-size: var(--gt-size-micro); letter-spacing: var(--gt-tracking-caps); text-transform: uppercase; border: 1px solid var(--gt-border-strong); }
.gt-x-status--fail { background: var(--gt-bg-inverse); color: var(--gt-text-on-inverse); border-color: var(--gt-bg-inverse); }
.gt-x-status--none { color: var(--gt-text-muted); border-color: var(--gt-border); }
.gt-x-msg { padding: var(--gt-space-3) var(--gt-space-4); border: 1px solid var(--gt-border); }
.gt-x-msg--error { border-color: var(--gt-bg-inverse); }
.gt-x-checklist { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--gt-space-4); }
.gt-x-checklist > li { display: grid; grid-template-columns: 2rem 1fr; gap: var(--gt-space-3); }
.gt-x-tick { width: 1.5rem; height: 1.5rem; border: 1px solid var(--gt-border-strong); display: grid; place-items: center; font-size: var(--gt-size-small); }
.gt-x-tick--done { background: var(--gt-bg-accent); color: var(--gt-text-on-accent); border-color: var(--gt-bg-accent); }
.gt-x-danger { border-top: var(--gt-rule) solid var(--gt-border); padding-top: var(--gt-space-5); }
textarea.gt-textarea { min-height: 6rem; font-family: inherit; }
@media (max-width: 40rem) { .gt-x-hide-sm { display: none; } }
.gt-x-account-row th { text-align: left; background: var(--gt-color-surface-2, rgba(0,0,0,.03)); font-weight: 600; }
.gt-x-facts { display: grid; grid-template-columns: max-content 1fr; gap: var(--gt-space-2) var(--gt-space-4); margin: 0; }
.gt-x-facts dd { margin: 0; overflow-wrap: anywhere; }
.gt-x-bad { color: var(--gt-color-danger, #b3261e); }
.gt-x-link-row { grid-template-columns: minmax(14rem, 1fr) minmax(14rem, 1.5fr) max-content max-content; align-items: center; }
@media (max-width: 640px) { .gt-x-link-row { grid-template-columns: 1fr; } }

/* The Eye: one cell per site and category. Colour plus a symbol, so it reads without colour too. */
:root {
  --eye-red: #c0261c; --eye-red-text: #ffffff;
  --eye-yellow: #f3c63f; --eye-yellow-text: #1b1b1b;
  --eye-green: #2f7d3a; --eye-green-text: #ffffff;
  --eye-grey: #e3e2dc; --eye-grey-text: #5f5f5a;
}
.eye-table { border-collapse: separate; border-spacing: 3px; width: 100%; table-layout: fixed; min-width: 60rem; }
.eye-table col.eye-col-site { width: 11rem; }
.eye-table th, .eye-table td { padding: 0; text-align: center; vertical-align: middle; }
.eye-table thead th { font-size: var(--gt-size-micro); color: var(--gt-text-muted); font-weight: 500; padding: 0 1px 6px; line-height: 1.2; vertical-align: bottom; overflow-wrap: normal; word-break: normal; }
.eye-site { text-align: left !important; padding-right: var(--gt-space-3) !important; white-space: nowrap; position: sticky; left: 0; background: var(--gt-bg); z-index: 1; }
.eye-site small { display: block; color: var(--gt-text-muted); font-weight: 400; }
.eye-account th { text-align: left; padding: var(--gt-space-4) 0 var(--gt-space-1) !important; font-size: var(--gt-size-small); }
.eye-cell { display: flex; align-items: center; justify-content: center; gap: 4px; min-width: 2.6rem; height: 2.4rem; font-weight: 600; text-decoration: none; border-radius: 3px; font-variant-numeric: tabular-nums; }
.gt .eye-cell, .gt .eye-cell:visited, .gt .eye-cell:hover { text-decoration: none; border-bottom: 0; box-shadow: none; }
.gt .eye-cell.eye-red { background: var(--eye-red); color: var(--eye-red-text); }
.gt .eye-cell.eye-yellow { background: var(--eye-yellow); color: var(--eye-yellow-text); }
.gt .eye-cell.eye-green { background: var(--eye-green); color: var(--eye-green-text); }
.gt .eye-cell.eye-grey { background: var(--eye-grey); color: var(--eye-grey-text); font-weight: 400; }
a.eye-cell:hover, a.eye-cell:focus-visible { outline: 2px solid var(--gt-text); outline-offset: 1px; }
.eye-totals .eye-cell { height: 1.8rem; font-size: var(--gt-size-micro); }
.eye-headline { font-size: var(--gt-size-lede); margin: 0; }
.eye-legend { display: flex; flex-wrap: wrap; gap: var(--gt-space-2) var(--gt-space-4); font-size: var(--gt-size-small); color: var(--gt-text-muted); }
.eye-legend span { display: inline-flex; align-items: center; gap: 6px; }
.eye-legend .eye-cell { min-width: 1.6rem; height: 1.4rem; display: inline-flex; }
.eye-detail { margin-top: var(--gt-space-4); }
/* TV mode: no masthead, bigger cells, for a screen on the wall. */
body.gt-x-tv .gt-masthead { display: none; }
body.gt-x-tv .eye-cell { height: 3.4rem; font-size: 1.25rem; }
body.gt-x-tv .eye-site { font-size: 1.15rem; }
body.gt-x-tv .eye-table col.eye-col-site { width: 16rem; }
body.gt-x-tv .eye-legend .eye-cell { height: 1.6rem; font-size: 1rem; }
body.gt-x-tv .gt-page { max-width: none; }
.gt-x-select-small { padding-top: 4px; padding-bottom: 4px; font-size: var(--gt-size-small); min-width: 9rem; }
/* The Downloads table has more columns than most; keep its headers from running together. */
.gt-table.gt-x-downloads thead th, .gt-table.gt-x-downloads tbody td { padding-right: var(--gt-space-4); }
