.puzzle-example{margin-block:28px;background:#fffaf0;border:1px solid #ddcba9;border-radius:10px;padding:22px}
.puzzle-example .puzzle-heading{display:flex;gap:12px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin-bottom:18px;font-size:.92rem}
.puzzle-heading span{color:var(--muted);font-size:.83rem}
.puzzle-diagram{width:min(100%,460px);margin-inline:auto}
.puzzle-diagram img{width:100%;height:auto}
.puzzle-diagram figcaption{margin-top:12px;font-size:.8rem;line-height:1.8;color:var(--muted)}
.puzzle-facts{font-size:.88rem;margin:24px 0 0;display:grid;grid-template-columns:6em 1fr;gap:8px 12px}
.puzzle-facts dt{font-weight:700}
.puzzle-facts dd{margin:0}
.diagram-key{font-size:.84rem;color:var(--muted);line-height:1.9;margin-top:20px}
.solution{margin-block:30px;border:2px solid #a5cbdc;border-radius:9px;background:#f7fbfc}
.solution>summary{cursor:pointer;min-height:60px;padding:17px 22px;font-weight:750;font-size:1rem}
.solution[open]>summary{border-bottom:1px solid #cbdfe7}
.solution-body{padding:5px 24px 24px}
.solution-body>p{font-size:.94rem;line-height:2;margin-block:18px}
.solution .answer-move{font-size:1.45rem;font-weight:800;color:var(--accent);margin-block:20px 10px}
.solution .answer-diagram{max-width:350px;margin-block:24px}
.solution .table-scroll{margin-block:20px}
.solution table td,.solution table th{font-size:.86rem;padding:10px 12px}
.solution tbody th{white-space:nowrap}
.solution .table-scroll caption{line-height:1.8}
.solution .answer-tip{border-left:3px solid #a5cbdc;padding-left:15px}
.puzzle-practice{margin-top:32px}
@media(max-width:650px){.puzzle-example{padding:16px 12px}.puzzle-heading{align-items:flex-start!important}.puzzle-facts{grid-template-columns:1fr;gap:2px;font-size:.85rem}.puzzle-facts dd+dt{margin-top:8px}.puzzle-diagram figcaption{font-size:.75rem}.diagram-key{font-size:.8rem}.solution>summary{padding:16px}.solution-body{padding:4px 14px 18px}.solution-body>p{font-size:.88rem}.solution .answer-move{font-size:1.22rem}.solution table td,.solution table th{font-size:.79rem;padding:9px 8px}.solution h2{font-size:1.12rem}.solution .answer-diagram{max-width:300px}}
@media print{.puzzle-example,.solution{break-inside:avoid}.solution{background:white}.puzzle-diagram{max-width:340px}}
