:root{font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#15233b;background:#f3f7fa}*{box-sizing:border-box}body{margin:0}main{max-width:1140px;margin:auto;padding:20px 16px 60px}header{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:20px}h1{font-size:clamp(2rem,5vw,3rem);margin:0}header p{color:#526477;margin:5px 0}.eyebrow{letter-spacing:.16em;font-size:.76rem;font-weight:800;color:#087e87}button,select,input{font:inherit}button,select{border:1px solid #b0c1ce;border-radius:9px;background:#fff;color:#142337;padding:9px 13px;cursor:pointer}button:hover{border-color:#087e87}button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #eaa326;outline-offset:2px}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#087e87;color:#fff;border-color:#087e87;font-weight:700}.toolbar,.actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.toolbar{margin-bottom:18px}.toolbar label{font-weight:700}#stats{color:#4c6278;font-weight:700}.layout{display:grid;grid-template-columns:minmax(0,650px) minmax(270px,1fr);gap:18px}.card{background:#fff;border:1px solid #d7e0e9;border-radius:18px;padding:17px;box-shadow:0 5px 20px #15233b0a}.card+.card{margin-top:16px}.card h2{margin:0 0 11px;font-size:1.2rem}#board{--n:3;width:min(100%,580px);aspect-ratio:1;display:grid;grid-template-columns:repeat(var(--n),1fr);grid-template-rows:repeat(var(--n),1fr);gap:2px;background:#fff;border:3px solid #24344c;border-radius:7px;overflow:hidden;touch-action:manipulation}#board button{padding:0;border:0;border-radius:0;min-width:0;min-height:0;background-repeat:no-repeat;position:relative}#board button.selected{outline:5px solid #ffbb2f;outline-offset:-5px;z-index:1}#board button.hint-source{outline:5px solid #ffbb2f;outline-offset:-5px;z-index:1}#board button.hint-target{outline:5px solid #087e87;outline-offset:-5px;z-index:1}#board button.correct:after{content:'✓';position:absolute;right:2px;bottom:2px;background:#fffbe9;border-radius:50%;font-size:12px;width:20px;height:20px;display:grid;place-items:center;color:#0b766f;font-weight:800}#board button:focus-visible{outline:5px solid #ffbb2f;outline-offset:-5px;z-index:2}#status{min-height:1.6em;font-weight:700}.actions{margin-top:10px}.hint-text{background:#fff4d8;border-left:4px solid #e7a331;padding:10px;margin-top:12px;line-height:1.5}.hint-text[hidden],.confirm[hidden]{display:none}.photo-preview{width:min(100%,270px);aspect-ratio:1;background-repeat:no-repeat;border:2px solid #24344c;border-radius:8px}.small{font-size:.88rem;color:#5b6c7d;line-height:1.5}.upload{display:inline-block;background:#e6f3f3;padding:10px 12px;border-radius:9px;font-weight:700;cursor:pointer}.upload input{display:block;margin-top:5px;max-width:100%;font-size:.85rem}.gallery{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.gallery button{aspect-ratio:1;padding:0;border:2px solid transparent;background-repeat:no-repeat}.gallery button.active{border:3px solid #087e87;box-shadow:0 0 0 2px #eaa326}.confirm{background:#fff4d8;border:1px solid #e4bc59;border-radius:12px;padding:12px 15px;margin-bottom:15px}.confirm p{margin:0 0 9px;font-weight:700}.confirm button{margin-right:6px}@media(max-width:800px){.layout{grid-template-columns:1fr}#board{margin:auto}.gallery{grid-template-columns:repeat(10,1fr)}}@media(max-width:500px){main{padding:12px 8px 40px}header{display:block}header select{margin-top:8px}.gallery{grid-template-columns:repeat(5,1fr)}.card{padding:11px}.actions button{padding:8px 9px}#board button.correct:after{display:none}}
.layout{align-items:start}
