*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#c8cbbd;color:#f8f6ed;font:13px system-ui,-apple-system,sans-serif}canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none}button,select,input{font:inherit;touch-action:manipulation}button{cursor:pointer;color:inherit;border:1px solid #ffffff28;background:#25382be8;border-radius:6px;padding:10px 14px}button:hover{background:#405844}button:focus-visible,select:focus-visible{outline:2px solid #ead2a0;outline-offset:3px}header{position:absolute;top:22px;left:24px;right:24px;display:flex;align-items:center;gap:16px;text-shadow:0 1px 8px #182b2d}.brand{color:inherit;text-decoration:none;font-size:23px;letter-spacing:-1px;font-weight:800}.brand span{font-weight:300;opacity:.65}.edition{font-size:9px;letter-spacing:1.5px}#resume{margin-left:auto}#reset{margin-left:auto}#resume:not([hidden])+#reset{margin-left:0}aside{position:absolute;top:76px;left:24px;display:flex;gap:14px;font:9px ui-monospace,monospace;text-shadow:0 1px 4px #182c20}aside b{font-weight:600;color:#fff}#reticle{position:absolute;left:50%;top:50%;width:5px;height:5px;border:1px solid #fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 5px #0008;pointer-events:none}#reticle:before,#reticle:after{content:'';position:absolute;background:#fff8}#reticle:before{width:1px;height:13px;left:1px;top:-5px}#reticle:after{height:1px;width:13px;top:1px;left:-5px}#reticle.target{border-color:#ffe5a4;background:#ffe5a4}.target-label{position:absolute;left:50%;bottom:126px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;pointer-events:none;text-shadow:0 1px 7px #000;font-size:10px;white-space:nowrap}#toolName{letter-spacing:2px;color:#ead7b0;font-size:9px}#message{opacity:.8}footer{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);max-width:96vw;width:max-content}.toolbar{display:flex;gap:4px;align-items:center;background:#1c2c24e8;padding:7px;border-radius:9px;box-shadow:0 8px 30px #0002}.toolbar button{border:0;background:transparent;height:44px}.toolbar small{color:#ffffff65;margin-right:7px;font-size:10px}.toolbar button.active{background:#d9d3bb;color:#273c2d}.toolbar button.active small{color:#55644a}label{display:flex;gap:6px;align-items:center;font-size:9px;padding:0 10px;color:#bdc5b6}input{width:65px;accent-color:#d7c59b}select{padding:9px 8px;border:0;border-radius:4px;background:#ffffff0d;color:#ecebdc;font-size:11px}select option{background:#25382b}.hints{text-align:center;font-size:9px;margin-top:12px;color:#fff9;text-shadow:0 1px 6px #000}#welcome{position:fixed;inset:0;background:linear-gradient(90deg,#14231fea,#18282088 65%,#18282022);display:flex;align-items:center;padding:8vw;backdrop-filter:blur(3px)}#welcome[hidden],button[hidden]{display:none}#welcome section{max-width:470px}.eyebrow{color:#c8c5a8;letter-spacing:2px;font-size:10px}h1{font:normal clamp(42px,6vw,76px)/1.03 Georgia,serif;letter-spacing:-2.5px;margin:26px 0}#welcome p{line-height:1.85;color:#c9cebd;font-size:14px;max-width:410px}.welcome-controls{display:flex;gap:30px;margin:30px 0;font:9px ui-monospace,monospace;color:#869984}.welcome-controls b{display:block;color:#dbdfcf;font:12px system-ui;margin-top:7px}#enter{display:flex;justify-content:space-between;width:100%;background:#ddd4b7;color:#25382b;border:0;padding:17px 20px;font-size:13px;margin-bottom:17px}#welcome small{font-size:10px;color:#93a28e}#touch{display:none}.playing .edition{opacity:.6}@media(pointer:coarse){#touch{display:flex;position:absolute;left:16px;right:16px;bottom:130px;justify-content:space-between;align-items:end;pointer-events:none}#touch button{pointer-events:auto;touch-action:none;min-width:43px;min-height:43px;padding:8px;background:#25382bbf}.move-pad>button{margin-left:47px;margin-bottom:4px}.move-pad>div{display:flex;gap:4px}.touch-actions{display:grid;gap:8px}.hints{display:none}#resume{display:none}}@media(max-width:700px){header{left:15px;right:15px;top:16px;gap:8px}.brand{font-size:20px}.edition{display:none}header button{padding:8px;font-size:10px}aside{left:16px;top:62px;gap:9px;font-size:8px}.toolbar{padding:5px;gap:1px;flex-wrap:wrap;justify-content:center;width:340px;max-width:94vw}.toolbar button{height:36px;padding:7px 9px;font-size:11px}label{font-size:8px;padding:0 5px}input{width:42px}select{font-size:10px}.hints{max-width:90vw;font-size:8px}.target-label{bottom:116px;font-size:9px;max-width:90vw;white-space:normal;justify-content:center}#message{max-width:210px}footer{bottom:16px}#welcome{padding:8vw}#welcome p{font-size:12px}.welcome-controls{gap:22px}#touch{bottom:145px}}
