:root{color-scheme:dark;font-family:system-ui,sans-serif;background:#101419;color:#f1f4f8}*{box-sizing:border-box}body{margin:0;padding:20px 18px calc(20px + env(safe-area-inset-bottom))}main{max-width:580px;margin:auto}.brand{font-size:11px;letter-spacing:2px;color:#9db1c2}h1{font-size:27px;letter-spacing:-.7px;margin:12px 0 8px}header p,.hint,.foot{font-size:13px;color:#a4b0bd;line-height:1.5}#stage{position:relative;min-height:180px;background:#19212b;border:1px solid #303e4d;border-radius:16px;overflow:hidden;margin:20px 0 14px}#photo{display:block;width:100%;height:auto}#photo:not([src]){display:none}#mask{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}#placeholder{padding:70px 10px;text-align:center;color:#a4b0bd}.row{display:flex;gap:8px;margin-bottom:16px}button{border:1px solid #34414f;border-radius:10px;background:#1d2732;color:#e9f1f9;padding:12px;font:600 14px system-ui;cursor:pointer;min-height:44px}button.selected{background:#b4f27e;color:#172614;border-color:#b4f27e}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #b4f27e;outline-offset:3px}label{display:block;font-size:14px;margin:14px 0 9px}input[type=range]{width:100%;accent-color:#b4f27e;min-height:26px}textarea{width:100%;resize:vertical;background:#18212b;border:1px solid #34414f;border-radius:12px;color:#fff;padding:14px;font:16px system-ui}output{float:right;color:#b4f27e}.primary{width:100%;background:#b4f27e;color:#172614;border:0;font-size:16px;margin-top:8px}#status{font-size:14px;line-height:1.5;min-height:24px}.foot{font-size:11px}.busy #mask{pointer-events:none}
:root .download{display:block;text-align:center;background:#b4f27e;color:#172614;text-decoration:none;border-radius:10px;padding:14px;font-weight:700}.download[hidden],#result[hidden]{display:none!important}#result{width:100%;border-radius:14px;margin-top:16px}input[type=file]{display:block;margin-top:10px;max-width:100%;font-size:14px}input::file-selector-button{padding:10px;border:0;border-radius:8px;background:#263747;color:#fff;margin-right:10px}
