/* One visual contract for real Canvas and DOM components. Locally hosted type. */
:root[data-sejm-ui="r37"] {
  --sk-ink: #101419; --sk-panel: #1a2026; --sk-raised: #252d34;
  --sk-paper: #f4f0e6; --sk-muted: #99a7b2; --sk-line: #69747a;
  --sk-lime: #c9ff3b; --sk-p1: #49e1c7; --sk-p2: #ff6a70;
  --sk-font-display: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --sk-font-ui: "Barlow", Arial, sans-serif;
  --sk-cut: 12px; --sk-space: clamp(8px, 1.2vw, 20px);
  --r37-menu-background: url("../../runtime-local/r37/ui/menu-background.webp");
  --b97-bg: var(--sk-ink); --b97-panel: var(--sk-panel); --b97-text: var(--sk-paper);
  --b97-muted: var(--sk-muted); --b97-gold: var(--sk-lime); --b97-line: var(--sk-line);
  color-scheme: dark;
}
[data-sejm-ui="r37"] .sk-r37-panel {
  color: var(--sk-paper); background: var(--sk-panel); border: 1px solid var(--sk-line);
  font: 400 16px/1.4 var(--sk-font-ui); padding: var(--sk-space);
  clip-path: polygon(var(--sk-cut) 0, 100% 0, calc(100% - var(--sk-cut)) 100%, 0 100%);
}
[data-sejm-ui="r37"] .sk-r37-title {
  margin: 0; color: var(--sk-paper); font: 800 clamp(28px, 4.8vw, 72px)/.98 var(--sk-font-display);
  text-transform: uppercase; letter-spacing: -.025em; font-style: italic;
}
[data-sejm-ui="r37"] .sk-r37-button {
  position: relative; min-height: 44px; padding: 9px 24px;
  color: var(--sk-paper); background: var(--sk-raised); border: 1px solid var(--sk-line);
  font: 700 clamp(17px, 1.7vw, 28px)/1 var(--sk-font-display); text-transform: uppercase;
  cursor: pointer; touch-action: manipulation;
  clip-path: polygon(10px 0, 100% 0, calc(100% - 10px) 100%, 0 100%);
}
[data-sejm-ui="r37"] .sk-r37-button:hover,
[data-sejm-ui="r37"] .sk-r37-button:focus-visible,
[data-sejm-ui="r37"] .sk-r37-button--primary,
[data-sejm-ui="r37"] .sk-r37-choice[aria-pressed="true"] {
  color: var(--sk-ink); background: var(--sk-lime); border-color: var(--sk-lime);
}
[data-sejm-ui="r37"] .sk-r37-button:focus-visible { outline: 3px solid var(--sk-paper); outline-offset: -5px; }
[data-sejm-ui="r37"] .sk-r37-button:disabled { opacity: .45; cursor: default; }
[data-sejm-ui="r37"] .sk-r37-field { display: grid; gap: 6px; color: var(--sk-paper); font: 400 16px/1.3 var(--sk-font-ui); }
[data-sejm-ui="r37"] .sk-r37-field__label { font: 700 22px/1.1 var(--sk-font-display); text-transform: uppercase; }
[data-sejm-ui="r37"] .sk-r37-field__hint { color: var(--sk-muted); font-size: 13px; }
[data-sejm-ui="r37"] .sk-r37-field select,
[data-sejm-ui="r37"] .sk-r37-field input:not([type="range"]):not([type="checkbox"]) {
  min-height: 40px; padding: 6px 10px; color: var(--sk-paper); background: var(--sk-ink); border: 1px solid var(--sk-line); font: inherit;
}
[data-sejm-ui="r37"] .sk-r37-field input[type="range"] { accent-color: var(--sk-lime); min-height: 32px; }
[data-sejm-ui="r37"] .sk-r37-tabs { display: flex; gap: 4px; align-items: stretch; }
[data-sejm-ui="r37"] .sk-r37-choice { border-radius: 0; color: var(--sk-paper); background: var(--sk-raised); border: 1px solid var(--sk-line); font: 600 20px var(--sk-font-display); min-height: 40px; padding: 6px 12px; }
@media (max-height: 480px) and (orientation: landscape) {
  :root[data-sejm-ui="r37"] { --sk-space: 8px; --sk-cut: 8px; }
  [data-sejm-ui="r37"] .sk-r37-title { font-size: clamp(26px, 5vw, 46px); }
  [data-sejm-ui="r37"] .sk-r37-button { min-height: 38px; font-size: 18px; padding: 7px 16px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-sejm-ui="r37"] .sk-r37-panel, [data-sejm-ui="r37"] .sk-r37-button { animation: none; transition: none; }
}
