.sw .sw-grid { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px; text-align:center; }
.sw .sw-grid button { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; min-width:0; padding:4px 1px; background:var(--shift); color:#173e47; }
.sw .sw-grid button[aria-pressed=true] { box-shadow:inset 0 0 0 2px #087d6f; }
.sw .sw-grid strong,.sw .sw-grid small { overflow-wrap:anywhere; max-width:100%; }
.sw .sw-grid small { font-size:.64rem; font-weight:400; }
.sw .sw-faded { opacity:.45; }
.sw .sw-year { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.sw .sw-mini { margin:0; }
.sw .sw-mini button { font-size:.72rem; }
.sw .sw-step { display:inline-flex; gap:4px; align-items:center; padding:4px; margin:4px; border:1px solid var(--pg-line); border-radius:5px; }
.sw #sw-rules { white-space:pre-wrap; }
.sw #sw-message { position:sticky; bottom:0; z-index:2; background:#fff; color:#174d48; }
.sw #sw-message:empty { display:none; }
@media(max-width:650px){.sw .sw-year {grid-template-columns:1fr}.sw .sw-grid small {display:none}.sw .sw-grid button {font-size:.78rem}}
@media print {
  .sw #pg-print .pg-table-wrap {overflow:visible}
  .sw #pg-print .sw-grid button {display:flex!important;background:var(--shift)!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .sw #pg-print .sw-year {grid-template-columns:repeat(3,minmax(0,1fr))}
  .sw #pg-print .sw-mini {break-inside:avoid}
  .sw #pg-print .sw-mini button {min-height:24px}
}

