:root{font-family:system-ui,-apple-system,sans-serif;color:#263e38;background:#e8eee3;font-synthesis:none}*{box-sizing:border-box}body{margin:0}#app{height:100dvh;min-height:570px;position:relative;overflow:hidden}#scene{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}header{position:absolute;z-index:1;left:32px;top:26px;pointer-events:none}small{font-size:10px;letter-spacing:.22em}h1{font-weight:500;font-size:30px;margin:10px 0}header p{font-size:13px;margin:0}.top-actions{position:absolute;right:24px;top:24px;display:flex;gap:8px}button{font:inherit;font-size:13px;border:1px solid #c6d1c2;border-radius:12px;min-height:44px;padding:10px 16px;color:#263e38;background:#fffdf6;cursor:pointer}button:hover:not(:disabled){background:#e6efdd}button:focus-visible{outline:3px solid #346e60;outline-offset:3px}button:disabled{opacity:.42;cursor:default}#confirm,#edit{background:#315b49;color:#fff;border-color:#315b49}#instructions{position:absolute;right:24px;top:80px;max-width:340px;background:#fffdf6;padding:18px;border-radius:16px;font-size:13px;line-height:1.8;z-index:3;box-shadow:0 5px 30px #25352a18}.editor{position:absolute;left:50%;bottom:max(18px,env(safe-area-inset-bottom));transform:translate(-50%);width:min(560px,calc(100% - 32px));padding:18px 22px 12px;background:#fffdf5f5;border:1px solid #fff;border-radius:22px;box-shadow:0 8px 40px #31433316}.editor-title{display:flex;justify-content:space-between;font-size:12px;letter-spacing:.04em}#position{font-size:11px}#status{font-size:13px;min-height:20px;margin:10px 0}.actions{display:flex;gap:8px}.actions button{flex:1;padding:9px 8px}.nudge{display:flex;gap:8px;margin-top:8px}.nudge button{flex:1;font-size:12px}.save{font-size:10px;color:#657268;margin:10px 0 0}.error{color:#a33a2a!important}@media(max-width:600px){header{left:18px;top:20px}h1{font-size:23px}header p{font-size:11px}.top-actions{top:114px;left:18px;right:auto}.top-actions button{font-size:11px;padding:8px 12px}#instructions{left:18px;right:18px;top:166px;max-width:none}.editor{padding:15px 14px 10px}.actions{gap:5px}.actions button,.editor-title{font-size:11px}}@media(max-height:600px)and (min-width:601px){#app{min-height:360px}header{top:14px;left:18px}h1{font-size:22px;margin:4px 0}header p{display:none}.editor{width:420px;left:auto;right:12px;transform:none;bottom:12px;padding:10px}.editor #status{margin:6px 0}.nudge,.save{margin-top:5px}}@media(max-height:600px){#app{height:100dvh;min-height:320px}.editor{max-height:56dvh;overflow:auto}#instructions{max-height:calc(100dvh - 180px);overflow:auto}}
