*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f4f6f8;color:#17212b}a{color:#0b62d6;text-decoration:none}.wrap{max-width:1100px;margin:auto;padding:16px}header{background:#101820;color:#fff}header .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.logo{color:#fff;font-weight:800}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{color:#cfe3ff}main{padding:20px 16px 40px}h1{font-size:1.5rem}h2{font-size:1.15rem}.card{background:#fff;border:1px solid #dde3ea;border-radius:12px;padding:16px;margin-bottom:16px}.narrow{max-width:420px;margin:40px auto}label{display:block;margin-bottom:12px;font-weight:600}input,select{width:100%;padding:10px;border:1px solid #b8c2cc;border-radius:8px;margin-top:5px;font-size:16px}button{background:#0b62d6;color:#fff;border:0;border-radius:8px;padding:10px 14px;font-weight:700;cursor:pointer}button.danger{background:#c62828}.small{padding:7px 10px;font-size:.85rem}.flash{padding:10px 12px;border-radius:8px;margin-bottom:12px}.flash.ok{background:#e6f6ea;color:#155724}.flash.error{background:#fdecea;color:#8b1c17}.search{display:flex;gap:8px;margin-bottom:16px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.group{display:block;color:inherit}.group .code{font-size:.75rem;font-weight:800;color:#0b62d6}.group h3{margin:6px 0 4px;font-size:1rem}.muted{color:#5d6b78;font-size:.9rem}.matches{display:grid;gap:10px}.match .meta{font-size:.85rem;color:#5d6b78}.athletes{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:8px 0;font-weight:600}.result{display:flex;gap:6px;flex-wrap:wrap}.result button{flex:1;min-width:74px;background:#eef2f6;color:#17212b;border:1px solid #c9d3dd}.result button.active{background:#0b62d6;color:#fff;border-color:#0b62d6}.result .clear{background:#fff}.esito{font-weight:700;color:#0b62d6}.table-wrap{overflow-x:auto;background:#fff;border:1px solid #dde3ea;border-radius:12px}table{width:100%;border-collapse:collapse;min-width:640px}th,td{padding:10px;border-bottom:1px solid #e6ebf0;text-align:left}th{background:#f0f4f8;position:sticky;top:0}footer{background:#101820;color:#9fb0bf;padding:14px 0;margin-top:30px}@media(max-width:600px){.wrap{padding:12px}.athletes{font-size:.95rem}.result button{min-width:64px;padding:9px 6px}}

/* PEGASO THEMES */
:root {
  color-scheme: light;
  --pg-bg: #f4f6f8;
  --pg-surface: #ffffff;
  --pg-soft: #f0f4f8;
  --pg-text: #17212b;
  --pg-muted: #526170;
  --pg-border: #cbd5e1;
  --pg-link: #0b62d6;
  --pg-field: #ffffff;
  --pg-hover: #eaf2ff;
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --pg-bg: #0f172a;
  --pg-surface: #1e293b;
  --pg-soft: #263449;
  --pg-text: #e5edf7;
  --pg-muted: #b6c4d5;
  --pg-border: #475569;
  --pg-link: #93c5fd;
  --pg-field: #111c30;
  --pg-hover: #293f5e;
}
body {
  background: var(--pg-bg);
  color: var(--pg-text);
}
a {
  color: var(--pg-link);
}
.card,
.table-wrap {
  background: var(--pg-surface);
  border-color: var(--pg-border);
}
.group {
  color: var(--pg-text);
}
.group .code,
.esito {
  color: var(--pg-link);
}
.muted,
.match .meta {
  color: var(--pg-muted);
}
input,
select,
textarea {
  background: var(--pg-field);
  color: var(--pg-text);
  border-color: var(--pg-border);
}
input::placeholder,
textarea::placeholder {
  color: var(--pg-muted);
  opacity: 1;
}
th {
  background: var(--pg-soft);
  color: var(--pg-text);
}
th,
td {
  border-bottom-color: var(--pg-border);
}
.result button {
  background: var(--pg-soft);
  color: var(--pg-text);
  border-color: var(--pg-border);
}
.result .clear {
  background: var(--pg-surface);
}
.result button.active {
  background: #1d4ed8;
  color: #ffffff;
  border-color: #60a5fa;
}
header .logo {
  color: #ffffff;
}
header nav {
  align-items: center;
}
header nav a {
  color: #cfe3ff;
}
#pegaso-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 0;
  padding: 7px 12px;
  border: 1px solid #7892b0;
  border-radius: 9px;
  background: #243449;
  color: #ffffff;
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
  cursor: pointer;
}
#pegaso-theme-toggle:hover {
  background: #344c68;
}
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid #60a5fa;
  outline-offset: 3px;
}
html[data-theme="dark"] .flash.ok {
  background: #14382c;
  color: #bbf7d0;
}
html[data-theme="dark"] .flash.error {
  background: #482327;
  color: #fecaca;
}

/* Finestra programmi: selettori specifici per gli stili già inseriti. */
html[data-theme] #giornate-gara {
  background: var(--pg-surface);
  color: var(--pg-text);
}
html[data-theme] #giornate-gara .giornate-heading {
  background: var(--pg-surface);
  border-color: var(--pg-border);
}
html[data-theme] #giornate-gara .giornate-heading button {
  background: var(--pg-soft);
  color: var(--pg-text);
  border-color: var(--pg-border);
}
html[data-theme] #giornate-gara .giornata-link {
  background: var(--pg-soft);
  color: var(--pg-text);
  border-color: var(--pg-border);
}
html[data-theme] #giornate-gara .giornata-link:hover,
html[data-theme] #giornate-gara .giornata-link:focus-visible {
  background: var(--pg-hover);
  border-color: var(--pg-link);
}
html[data-theme] #giornate-gara .giornata-data {
  color: var(--pg-muted);
}
html[data-theme="dark"] .pegaso-title-row .giornate-trigger {
  background: #203a60;
  color: #e0edff;
  border-color: #6ba4ee;
}
html[data-theme="dark"] .pegaso-title-row .giornate-trigger:hover {
  background: #2c4e7b;
}
html[data-theme="dark"] .pegaso-title-row .giornate-trigger svg {
  color: #93c5fd;
}
