:root{font-family:var(--font-family);color:#20392d;background:#f4f7f4;font-synthesis:none;line-height:1.6;color-scheme:light;--green:#256648;--muted:#526456;--border:#dfe7df;--card:#fff;--soft:#f3f8f4}
*{box-sizing:border-box}body{margin:0}a{color:var(--green);text-underline-offset:3px}button,select{font:inherit}button,select,a{-webkit-tap-highlight-color:transparent}button,select{border:1px solid #cad9ce;border-radius:9px;background:var(--card);color:var(--green);min-height:40px;padding:7px 13px}button{cursor:pointer;font-weight:600;transition:background .15s}button:hover{background:#edf5ee}button:disabled{opacity:.4;cursor:default}button.primary{background:var(--green);border-color:var(--green);color:#fff}button.primary:hover{background:#1d543b}select{margin-left:7px;padding-right:26px}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #6dac8a;outline-offset:3px}.page{width:min(850px,100%);margin:auto;padding:26px 24px 28px}.back-link{display:inline-flex;align-items:center;gap:8px;font-size:var(--font-body,1rem);font-weight:600;text-decoration:none}.back-link:hover{text-decoration:underline}.heading{display:flex;gap:18px;align-items:center;margin:28px 0 22px}.game-icon{width:72px;height:72px;display:grid;place-items:center;background:#e4efe6;border:1px solid #cde1d2;border-radius:21px;flex-shrink:0}.game-icon img{display:block}.eyebrow{color:#526456;font-size:var(--font-small,.9375rem);font-weight:600;letter-spacing:normal;margin:0 0 2px}h1{font-size:var(--font-page,1.625rem);line-height:1.3;letter-spacing:normal;margin:0 0 6px;font-weight:600}.subtitle{font-size:var(--font-body,1rem);color:var(--muted);margin:0}.game-card{background:var(--card);border:1px solid var(--border);border-radius:18px;overflow:hidden;box-shadow:0 6px 24px #1b432606}.toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 20px;border-bottom:1px solid var(--border)}.toolbar label{font-size:var(--font-body,1rem);font-weight:600;white-space:nowrap}.steps{color:var(--muted);font-size:var(--font-small,.9375rem);margin:0}.steps strong{font-size:18px;color:var(--green);font-variant-numeric:tabular-nums;padding:0 3px}.actions{display:flex;gap:8px;margin-left:auto}.status{margin:18px auto 0;padding:8px 14px;min-height:40px;width:fit-content;max-width:calc(100% - 28px);display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--font-body,1rem);color:#38634a;background:var(--soft);border-radius:999px;text-align:center}.status-dot{height:7px;width:7px;border-radius:50%;background:#609877;flex-shrink:0}.status[data-state="win"]{background:#e2f2e4;color:#23603a}.status[data-state="win"] .status-dot{background:#298947}.status[data-state="lose"]{background:#fff2df;color:#936222}.status[data-state="lose"] .status-dot{background:#c58b30}.board{width:100%;max-width:570px;margin:0 auto;min-height:80px;touch-action:manipulation}.board canvas{display:block;width:100%!important;height:auto!important;max-width:570px;margin:0 auto;touch-action:none}.board-note{margin:0;padding:0 18px 20px;text-align:center;color:var(--muted);font-size:var(--font-small,.9375rem);display:flex;align-items:center;justify-content:center;gap:6px}.legend{display:inline-block;width:10px;height:10px;border-radius:50%}.legend.empty{background:#b3d9ff}.legend.wall{background:#036;margin-left:13px}.load-error{color:#a03e28;text-align:center;padding:32px 20px}.load-error[hidden]{display:none}.instructions{margin-top:20px;border:1px solid var(--border);background:var(--card);border-radius:14px;padding:18px 22px}.instructions h2{font-size:var(--font-section,1.375rem);margin:0 0 12px;font-weight:600}.instructions ol{padding:0;margin:0;list-style:none;counter-reset:steps;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.instructions li{counter-increment:steps;position:relative;padding-left:28px;font-size:var(--font-body,1rem)}.instructions li:before{content:counter(steps);position:absolute;left:0;top:0;width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#e7f0e8;color:#467653;font-size:var(--font-body,1rem);font-weight:600}.instructions strong{display:block;font-size:var(--font-body,1rem);margin:0 0 4px}.instructions li span{color:var(--muted)}.instructions>p{font-size:var(--font-body,1rem);color:var(--muted);margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--border)}footer{padding:20px 0 0;font-size:var(--font-small,.9375rem);color:var(--muted);text-align:center}footer a{color:var(--muted)}.credits{margin-top:24px}.credits h1{font-size:var(--font-page,1.625rem);margin:20px 0;font-weight:600}.credits h2{font-size:var(--font-section,1.375rem);margin:25px 0 8px;font-weight:600}.credits p,.credits li{font-size:var(--font-body,1rem);color:var(--muted)}.credits code{font-size:var(--font-small,.9375rem);overflow-wrap:anywhere}.credits article{padding:24px;background:var(--card);border:1px solid var(--border);border-radius:16px}
@media(max-width:600px){.page{padding:18px 12px 24px}.heading{gap:13px;margin:22px 4px 18px}.game-icon{width:57px;height:57px;border-radius:16px}.game-icon img{width:40px;height:40px}h1{font-size:var(--font-page,1.625rem);font-weight:600}.subtitle{font-size:var(--font-body,1rem)}.toolbar{gap:10px;padding:12px}.toolbar label{font-size:var(--font-body,1rem)}.toolbar button{font-size:var(--font-body,1rem);padding:7px 10px}.toolbar select{font-size:var(--font-body,1rem);min-height:36px;padding-left:8px;padding-right:14px}.steps{font-size:var(--font-small,.9375rem)}.steps strong{font-size:16px}.actions{gap:6px}.status{font-size:var(--font-body,1rem);margin-top:14px;min-height:36px}.board-note{padding-bottom:16px}.instructions{margin-top:14px;padding:16px}.instructions ol{grid-template-columns:1fr;gap:12px}.instructions strong{display:inline;margin-right:8px}.instructions li{line-height:var(--line-body,1.625)}.instructions h2{margin-bottom:14px;font-weight:600}.credits article{padding:18px}}
@media(max-width:370px){.toolbar{gap:8px}.actions{width:100%;margin-left:0}.actions button{flex:1}.steps{margin-left:auto}.subtitle{max-width:230px}.status{font-size:var(--font-body,1rem)}}
@media(prefers-color-scheme:dark){:root{color:#e2eee5;background:#14231b;--green:#a4d7b4;--muted:#adbfb0;--border:#34493a;--card:#203127;--soft:#2b4233}.game-icon{background:#cce2d1;border-color:#557660}.eyebrow{color:#9eb5a4}.toolbar select,.toolbar button{border-color:#4b6553}.toolbar button:hover{background:#2f4938}.toolbar button.primary{background:#387652;color:#fff;border-color:#488561}.toolbar button.primary:hover{background:#43895f}.status{color:#c0dfc9}.status[data-state="win"]{background:#294c32;color:#bbe8bf}.status[data-state="lose"]{background:#4d3f29;color:#efd49f}.instructions li:before{background:#38583f;color:#c5e2ca}.board{background:#fff}.board-note{padding-top:14px}.credits article{box-shadow:none}}
