
/* Faithful Lichess layout: only local puzzle interaction elements. */
.puzzle__controls .button{margin:.3em}
.puzzle .puzzle__controls{height:auto;min-height:3rem;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5em;align-content:start}
.puzzle .puzzle__controls .button{margin:0;width:100%;min-height:3em;white-space:normal;padding:.65em .5em;line-height:1.3}
.puzzle__tools p{padding:1em}
.puzzle cg-board piece{position:absolute;width:12.5%;height:12.5%;pointer-events:none;background-size:contain}
.puzzle cg-board square.selected{position:absolute;width:12.5%;height:12.5%;background:#e6c50070;pointer-events:none}

.mirror-puzzle-overview{max-width:950px;margin:2em auto;padding:2em}
.mirror-puzzle-overview h1{margin-bottom:.7em}.mirror-puzzle-overview p{margin:1em 0}
.mirror-puzzle-overview>.button{margin:.5em .5em .5em 0}
.mirror-puzzle-progress{display:grid;grid-template-columns:repeat(auto-fit,minmax(65px,1fr));gap:.5em;margin-top:1.5em}
.opening__nexts [hidden],.studies [hidden]{display:none!important}
.opening__next__san{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.puzzle__board cg-board{display:block;position:absolute!important;inset:0;width:100%;height:100%;line-height:0;user-select:none;touch-action:manipulation}
.puzzle__board cg-board::before{content:'';position:absolute;inset:0;width:100%;height:100%;background-size:cover;pointer-events:none}
.puzzle__board piece,.puzzle__board square{top:0;left:0}
.puzzle-square{position:absolute;width:12.5%;height:12.5%;padding:0;border:0;border-radius:0;background:none!important;box-shadow:none!important;z-index:3;cursor:pointer}
.puzzle-square:focus-visible{outline:3px solid var(--c-primary);outline-offset:-3px}
.puzzle-coordinate{position:absolute;bottom:2px;right:3px;font-size:11px;line-height:1;color:#555;pointer-events:none}
.lobby__app__content.local-lobby{display:flex;flex-direction:column;gap:1em;padding:1.5em;background:var(--c-bg-box);border-radius:3px}
.local-lobby p{padding:0!important;margin:0;line-height:1.6}
.local-lobby .local-lobby-actions{display:flex;flex-wrap:wrap;gap:.6em}
.opening__next__title{flex-direction:column;align-items:stretch;gap:.35em;padding:.55em}
.opening__next__name{max-width:100%;font-size:1rem}
.opening__next__san{font-size:.85rem}
