/* v0.8 - challenge gallery and focused tabletop. No gameplay CSS changes outside puzzle mode. */
.puzzle-intro{display:flex;flex-direction:column;gap:6px;margin:4px 0 18px;padding:14px 16px;border-radius:12px;background:#102937;border:1px solid #31556a}
.puzzle-intro strong{font-size:17px;color:#9df0e6}.puzzle-intro p{margin:0;font-size:12px;color:#a9c5d1;line-height:1.6}
.puzzle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;padding:0 1px 5px}
.puzzle-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:8px;min-width:0;min-height:154px;padding:16px;background:linear-gradient(145deg,#142c3d,#0e1d30);border:1px solid #35546b;border-radius:12px;color:#e7f3f7;cursor:pointer;transition:background .2s,border-color .2s,transform .2s}
.puzzle-card:hover,.puzzle-card:focus-visible{background:linear-gradient(145deg,#194454,#102a40);border-color:#6be8da;transform:translateY(-2px);outline:none}
.puzzle-card.solved{border-color:#487b6c}
.puzzle-card .puzzle-index{font-size:11px;letter-spacing:.08em;color:#80f3d3;font-weight:900}
.puzzle-card .puzzle-tier{position:absolute;top:15px;right:14px;font-size:9px;letter-spacing:.08em;font-weight:850;color:#92aab9}
.puzzle-card strong{font-size:16px;line-height:1.3}.puzzle-card small{font-size:11px;line-height:1.4;color:#acc0cb;flex:1}
.puzzle-card .puzzle-play{font-size:10px;font-weight:900;letter-spacing:.09em;color:#75e3df}
.layout-puzzle .rt-player-column{display:flex;align-items:stretch;justify-content:flex-start;padding:8px 4px}
.puzzle-status{display:flex;flex-direction:column;gap:14px;padding:15px 11px;border:1px solid #355c6e;border-radius:12px;background:#142838;max-width:100%;height:max-content}
.puzzle-status small,.puzzle-label{font-size:9px;font-weight:850;letter-spacing:.1em;color:#7faab9}
.puzzle-status strong{font-size:14px;line-height:1.3;color:#f1f6f8;overflow-wrap:anywhere}
.puzzle-status span{font-size:11px;line-height:1.4;color:#93b3c4}
.puzzle-status .mini-btn{white-space:normal;min-height:35px}
.puzzle-side{display:flex;flex-direction:column;gap:10px;overflow-y:auto;padding:6px}
.puzzle-panel{border:1px solid #315066;border-radius:11px;padding:14px 12px;background:#142538;display:flex;flex-direction:column;gap:10px}
.puzzle-panel strong{font-size:15px;color:#ecf6fa}.puzzle-panel p{font-size:12px;color:#b5cbd4;line-height:1.55;margin:0;overflow-wrap:anywhere}
.puzzle-panel p.puzzle-valid{color:#a1efcf}
.puzzle-panel .puzzle-hint{border-radius:8px;background:#203c43;color:#c7f5e9;padding:10px}
.puzzle-objective{border:1px solid #386e75;border-radius:8px;background:#143c44;padding:9px;color:#9ce5df;font-size:11px;font-weight:800}
.puzzle-side .btn{font-size:11px;min-height:36px;width:100%}
.puzzle-result{text-align:center;padding:14px 0 25px}
.puzzle-result-glyph{font-size:68px;line-height:1.1;color:#94f5df;text-shadow:0 0 32px #61dbc784}
.puzzle-result h3{font-size:22px;color:#f3fafc;margin:9px 0}.puzzle-result p{font-size:13px;color:#b5d1d9;line-height:1.5;max-width:400px;margin:0 auto 15px}
.puzzle-result small{font-size:11px;color:#9bf2de;font-weight:800}
.layout-puzzle .rail-info{display:none}
@media(max-width:1050px){.puzzle-status{padding:10px 7px;gap:10px}.puzzle-side{padding:4px}.puzzle-panel{padding:10px 8px}.puzzle-panel p{font-size:11px}}
@media(max-width:650px){.puzzle-grid{grid-template-columns:1fr;gap:8px}.puzzle-card{min-height:119px;padding:12px}.layout-puzzle .puzzle-status{flex-direction:row;flex-wrap:wrap;align-items:center}.layout-puzzle .puzzle-status span{display:none}.layout-puzzle .puzzle-status strong{flex:1;min-width:110px}.puzzle-side{gap:5px}.puzzle-panel{gap:4px}.puzzle-panel p{font-size:11px}.puzzle-side .puzzle-panel+.puzzle-panel{padding:8px}}
@media(prefers-reduced-motion:reduce){.puzzle-card{transition:none}.puzzle-card:hover{transform:none}}
