.xmas-page .xopts{display:grid;gap:10px;margin:14px 0;padding:0;list-style:none}
.xmas-page .xopt{display:block;width:100%;text-align:left;font:inherit;font-weight:700;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px;cursor:pointer}
.xmas-page .xopt:hover:not(:disabled){border-color:var(--accent)}
.xmas-page .xopt.right{border-color:#2f9e5b;background:rgba(47,158,91,.16)}
.xmas-page .xopt.wrong{border-color:#c0392b;background:rgba(192,57,43,.14)}
.xmas-page .xq-meta{color:var(--muted);font-weight:800;font-size:.9rem}
.xmas-page .xq-q{font-size:1.2rem;margin:6px 0}
.xmas-page .xq-fb{margin:8px 0}
.xmas-page .xq-src{font-size:.85rem;color:var(--muted);overflow-wrap:anywhere}
.xmas-page .xshare{width:100%;min-height:120px;font:inherit;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text)}
.xmas-page .xsheet{width:100%;border-collapse:collapse;font-size:.92rem}
.xmas-page .xsheet th,.xmas-page .xsheet td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}
.xmas-page .xsheet .src{font-size:.78rem;overflow-wrap:anywhere}
.xmas-page .xsheet{margin-top:10px}
@media print{
  body[data-print="sheet"] .xlist{display:none}
  body[data-print="qs"] #answer-sheet{display:none}
  body[data-print="qs"] .tq details{display:none}
  .xmas-page .xsheet tr{break-inside:avoid}
}

/* mobile: keep the answer sheet inside the screen */
.xsheet{width:100%;table-layout:fixed;border-collapse:collapse}
.xsheet th:first-child,.xsheet td:first-child{width:2em}
.xsheet td,.xsheet th{overflow-wrap:anywhere;word-break:break-word;vertical-align:top}
.xsheet td.src a{word-break:break-all}
