.d-stack { grid-template-columns: minmax(0, 1fr); }
.xa-pick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.xa-sheet td, .xa-sheet th { white-space: nowrap; }
.xa-sheet th { background: var(--paper-2); }
.xa-warn { background: var(--sun-soft); }
.xa-bad { text-decoration: line-through; color: var(--ink-2); }
.xa-tabs { display: inline-flex; padding: 4px; gap: 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-2); }
.xa-tabs .d-btn { background: transparent; color: var(--ink); border-color: transparent; }
.xa-tabs .d-btn[aria-pressed="true"] { background: var(--ink); color: var(--on-ink); border-color: var(--ink); }
.xa-layout { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 12px; align-items: start; }
.xa-prog { display: grid; gap: 10px; }
.xa-prog li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 8px; line-height: 1.45; color: var(--ink-2); }
.xa-prog li.is-on { color: var(--ink); }
.xa-dot { width: 16px; height: 16px; margin-top: 3px; border: 2px solid var(--control); border-radius: 50%; }
.xa-prog li.is-on .xa-dot { border-color: var(--ink); background: var(--sun); }
.xa-sim { padding: 8px 12px; border: 1px dashed var(--control); border-radius: 10px; font-size: var(--t-s); color: var(--ink-2); }
@media (max-width: 960px) { .xa-layout { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 640px) { .xa-pick { grid-template-columns: minmax(0, 1fr); } }
