:root {
  color-scheme: dark;
  font-family: Arial, Helvetica, sans-serif;
  font-synthesis: none;
  --background: #17191c;
  --bar: #202328;
  --border: #3b4048;
  --text: #e1e4e8;
  --muted: #a2a9b3;
  --gold: #e4b575;
  --blue: #82b8e5;
}

* { box-sizing: border-box; }
html, body { width: 100%; height: 100%; margin: 0; background: var(--background); }
body { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100dvh; overflow: hidden; color: var(--text); }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
a { color: var(--blue); text-underline-offset: 3px; }
button:focus-visible, a:focus-visible { outline: 2px solid var(--blue); outline-offset: -4px; }
[hidden] { display: none !important; }

.comparison-bar { z-index: 1; display: flex; align-items: center; gap: 30px; min-height: 58px; padding: 0 24px; background: var(--bar); border-bottom: 1px solid var(--border); box-shadow: 0 2px 8px #0003; }
.identity { display: flex; align-items: center; gap: 11px; flex: 0 0 auto; }
.brand-mark { color: var(--gold); flex: 0 0 auto; }
h1 { margin: 0; font: 600 17px/1.25 Georgia, 'Times New Roman', serif; letter-spacing: .1px; white-space: nowrap; }
.page-label { margin-left: 6px; padding-left: 17px; border-left: 1px solid #4b4e52; color: var(--muted); font-size: 12px; }
.version-tabs { display: flex; align-self: stretch; gap: 4px; }
.version-tabs button { position: relative; min-width: 47px; padding: 0 15px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--muted); font-size: 13px; font-weight: 600; cursor: pointer; }
.version-tabs button:hover { background: #ffffff06; color: var(--text); }
.version-tabs button[aria-selected="true"] { background: #e4b57508; border-bottom-color: var(--gold); color: var(--gold); }
.open-version { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 34px; margin-left: auto; padding: 0 10px; border: 1px solid #414951; border-radius: 3px; color: #bbcad8; text-decoration: none; white-space: nowrap; font-size: 12px; }
.open-version:hover { border-color: #6b7e8d; color: #d7e8f7; background: #ffffff05; }
.open-version svg { flex: 0 0 auto; }

main { position: relative; min-width: 0; min-height: 0; outline: none; }
.version-panel { position: absolute; inset: 0; }
.version-panel iframe { display: block; width: 100%; height: 100%; border: 0; background: var(--background); }
.loading { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: 11px; margin: 0; color: var(--muted); font-size: 13px; background: var(--background); pointer-events: none; }
.loading::before { content: ''; width: 14px; height: 14px; border: 2px solid #414951; border-top-color: var(--gold); border-radius: 50%; animation: spin .85s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .loading::before { animation: none; } }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: fixed; z-index: 3; left: 12px; top: -60px; padding: 10px 14px; background: var(--text); color: var(--background); font-size: 13px; }
.skip-link:focus { top: 8px; }
.no-script { position: absolute; inset: 0; z-index: 1; padding: 25px; background: var(--background); font-size: 14px; }
.no-script a { margin-right: 20px; }

@media (max-width: 900px) {
  .comparison-bar { gap: 20px; padding-inline: 16px; }
  .page-label { display: none; }
}

@media (max-width: 720px) {
  .comparison-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 12px; padding: 0 12px; }
  .identity { min-width: 0; min-height: 50px; gap: 7px; }
  .brand-mark { width: 20px; height: 22px; }
  h1 { font-size: 15px; }
  .version-tabs { grid-row: 2; grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; height: 40px; }
  .version-tabs button { min-width: 0; padding: 0 10px; }
  .open-version { grid-row: 1; grid-column: 2; min-height: 30px; width: 30px; padding: 0; }
  .open-version span { display: none; }
}
