:root{font-family:system-ui,sans-serif;color:#172b27;background:#eef4ef;font-size:18px;line-height:1.55}*{box-sizing:border-box}body{margin:0;padding:1rem}main{max-width:1100px;margin:auto}.card{background:#fff;border:1px solid #b9cabe;border-radius:1.2rem;padding:clamp(1rem,3vw,2rem);box-shadow:0 8px 24px #143a2215}h1{font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.2;margin:.2rem 0 1rem}h2{font-size:1.3rem}.eyebrow{color:#285e4b;font-weight:700;margin:0}.layout{display:grid;grid-template-columns: minmax(0,1fr) minmax(0,1.15fr);gap:1.5rem}.grid{display:grid;grid-template-columns:repeat(var(--size),1fr);gap:.35rem;max-width:25rem}.tile{min-height:3.3rem;border:2px solid #779788;border-radius:.5rem;background:#f3f8f2;display:grid;place-items:center;font-weight:700;font-size:.9rem}.tile.wall{background:repeating-linear-gradient(135deg,#e2d4bc,#e2d4bc 8px,#f9f0e4 8px,#f9f0e4 16px);border-color:#765b39}.tile.here{outline:3px solid #204d77;outline-offset:-5px;background:#dfedfb}button{font:inherit;font-weight:700;min-height:48px;padding:.55rem .9rem;border:2px solid #285e4b;border-radius:.65rem;color:#173c2e;background:#fff;cursor:pointer}button:hover:not(:disabled){background:#e5f2e9}button:focus-visible,input:focus-visible{outline:3px solid #854d06;outline-offset:3px}button:disabled{opacity:.55;cursor:not-allowed}.buttons{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0}.controls{border-top:1px solid #b9cabe;padding-top:1rem}li{margin:.5rem 0}li button{min-height:44px;font-size:.9rem}fieldset{border:1px solid #779788;border-radius:.6rem;margin:1rem 0}label{display:block;padding:.5rem}.confirm{background:#fff5dc;border:2px solid #966a16;padding:1rem;border-radius:.6rem}.small{font-size:.9rem;color:#43554b}#status{border-left:4px solid #285e4b;padding:.5rem 1rem;background:#edf7f0}@media(max-width:700px){.layout{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
