:root{--bg:#131214;--surface:#1c1b1f;--surface2:#26242b;--ink:#eae8e2;--soft:#a39f96;--faint:#726e67;--line:#302e34;--amber:#eea84a;--amber-deep:#d98a2b;--go:#5fb584;--mono:ui-monospace, "SF Mono", Menlo, monospace;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif}@media (prefers-color-scheme:light){:root{--bg:#edece8;--surface:#f7f6f2;--surface2:#e6e4de;--ink:#1a1917;--soft:#57544d;--faint:#86827a;--line:#d4d1c9;--amber:#b0670f;--amber-deep:#d98a2b;--go:#2e7a4f}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}button{cursor:pointer;font-family:inherit}.wrap{max-width:560px;margin:0 auto;padding:22px 16px 60px}.head{text-align:center;padding:14px 0 8px}.brand{font-family:var(--mono);letter-spacing:.22em;text-transform:uppercase;color:var(--amber);margin:0 0 10px;font-size:11px}.head h1{letter-spacing:-.02em;text-wrap:balance;margin:0 0 8px;font-size:clamp(24px,7vw,32px);font-weight:750;line-height:1.08}.head h1 .amber{color:var(--amber)}.head p{color:var(--soft);max-width:30ch;margin:0 auto;font-size:14.5px}.drop{border:1.5px dashed var(--line);background:var(--surface);text-align:center;border-radius:16px;margin:22px 0;padding:34px 20px;transition:border-color .15s,background .15s}.drop.over{border-color:var(--amber);background:var(--surface2)}.drop .ic{font-size:34px}.drop b{margin-top:8px;font-size:16px;display:block}.drop span{color:var(--faint);margin-top:3px;font-size:13px;display:block}.btn{background:var(--amber);color:#17140c;border:none;border-radius:100px;margin-top:14px;padding:11px 20px;font-size:15px;font-weight:650;display:inline-block}.btn.ghost{color:var(--amber);border:1.5px solid var(--amber);background:0 0}input[type=file]{display:none}.stage{margin-top:8px}.baWrap{background:var(--surface);border:1px solid var(--line);border-radius:14px;position:relative;overflow:hidden;box-shadow:0 10px 30px #00000040}.baWrap canvas,.baWrap img{width:100%;display:block}.ba{-webkit-user-select:none;user-select:none;touch-action:none;position:relative}.ba .after{position:absolute;inset:0;overflow:hidden}.ba .after canvas{width:auto;max-width:none;height:100%;position:absolute;top:0;left:0}.ba .handle{background:var(--amber);width:2px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 1px #00000040}.ba .knob{background:var(--amber);color:#17140c;border-radius:50%;place-items:center;width:34px;height:34px;margin:-17px 0 0 -16px;font-size:15px;font-weight:700;display:grid;position:absolute;top:50%;box-shadow:0 2px 8px #00000059}.tag{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#fff;background:#00000080;border-radius:100px;padding:3px 8px;font-size:10px;position:absolute;top:8px}.tag.l{left:8px}.tag.r{color:var(--amber);right:8px}.plan{background:var(--surface);border:1px solid var(--line);border-radius:12px;margin-top:14px;padding:14px 16px}.plan .row{align-items:baseline;gap:10px;padding:2px 0;display:flex}.plan .k{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--faint);min-width:58px;font-size:10px}.plan .v{font-size:14.5px}.plan .v.mono{font-family:var(--mono);font-size:12.5px}.plan .v.amber{color:var(--amber);font-weight:600}.plan .why{border-top:1px dashed var(--line);color:var(--soft);margin-top:8px;padding-top:8px;font-size:13.5px}.actions{gap:10px;margin-top:14px;display:flex}.actions button{border:none;border-radius:100px;flex:1;padding:12px;font-size:15px;font-weight:640}.actions .dl{background:var(--amber);color:#17140c}.actions .again{background:var(--surface2);color:var(--ink);border:1px solid var(--line)}.status{text-align:center;color:var(--soft);margin-top:20px;font-size:14px}.spin{border:2px solid var(--line);border-top-color:var(--amber);vertical-align:-2px;border-radius:50%;width:15px;height:15px;margin-right:7px;animation:.7s linear infinite sp;display:inline-block}@keyframes sp{to{transform:rotate(360deg)}}.err{color:#e0715c}.foot{text-align:center;font-family:var(--mono);color:var(--faint);letter-spacing:.04em;margin-top:34px;font-size:11px}@media (prefers-reduced-motion:reduce){.spin{animation:none}}
