*{box-sizing:border-box}body{margin:0;background:#102527;color:#e5eee5;font:16px/1.55 system-ui,sans-serif}main{max-width:740px;margin:auto;padding:30px 24px}header{text-align:center}.eyebrow{color:#bcca94;font-size:11px;letter-spacing:.25em}h1{font:500 clamp(34px,6vw,52px)/1.1 Georgia,serif;margin:15px 0 6px}.lead{color:#a9c0bb;margin:0 0 28px}.toolbar,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.toolbar{margin:0 auto 18px;max-width:560px}label{font-size:13px;color:#b4c9c5}select,button{font:inherit;color:#eff5e4;background:#284346;border:1px solid #496362;border-radius:8px;padding:10px 14px;cursor:pointer}select{margin-left:10px;font-size:14px}#progress{font-size:12px;color:#a9c0bb}.play{background:#172f31;padding:24px;border:1px solid #385152;border-radius:20px;box-shadow:0 16px 42px #07151670}#puzzle{position:relative;width:100%;max-width:520px;margin:auto}canvas{display:block;width:100%;height:100%;border-radius:3px}.clue{position:absolute;display:grid;place-items:center;font-size:clamp(18px,4.2vw,30px);color:#d8dfc9;pointer-events:none;font-weight:500}.clue.satisfied{color:#63d6b6}.clue.over{color:#f9a089}.edge{position:absolute;min-width:0;min-height:0;padding:0;background:transparent;border:0;border-radius:0;touch-action:manipulation}.edge:hover{background:#bde9da50}.edge:focus-visible{outline:3px solid #f1dfa3;outline-offset:3px;z-index:3}.edge:disabled{cursor:default}#status{min-height:28px;text-align:center;color:#d8dfb0;margin:20px 0 12px}.actions{justify-content:center}button:hover{background-color:#365755}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #ebd59e;outline-offset:3px}#next{background:#dce9a3;color:#14352f}kbd{font:11px system-ui;background:#49605d;padding:1px 5px;border-radius:3px;margin-left:8px}details{margin-top:25px;background:#193133;padding:16px 20px;border-radius:12px;color:#aac4bd;font-size:14px}summary{color:#e3ebd8;cursor:pointer}details p{margin-bottom:0}footer{text-align:center;font-size:11px;color:#8eaaa4;margin-top:24px}a{color:#cbd9a7}button[hidden]{display:none}@media(max-width:500px){main{padding:20px 14px}.play{padding:17px 12px}.toolbar{gap:8px}select{max-width:190px}.clue{font-size:21px}.actions button{font-size:13px;padding:9px 11px}details{padding:14px}header .lead{margin-bottom:22px}}
