:root{color-scheme:dark}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;background:#0b0d10;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}canvas{display:block;touch-action:none}.crosshair{position:fixed;top:50%;left:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#ffffffb3;pointer-events:none;z-index:10}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(120% 90% at 50% -10%,rgba(48,70,105,.5),transparent 55%),linear-gradient(180deg,#080b1080,#06080ce6);color:#eef2f6;z-index:20;-webkit-user-select:none;user-select:none;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overflow-y:auto}.hero{width:100%;max-width:560px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px;animation:heroIn .5s cubic-bezier(.2,.7,.2,1) both}@keyframes heroIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.eyebrow{font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:#9fb3c8;font-weight:600}.overlay h1{font-size:clamp(36px,6vw,62px);font-weight:800;letter-spacing:-.015em;line-height:1.02;background:linear-gradient(180deg,#fff,#bccde0);-webkit-background-clip:text;background-clip:text;color:transparent}.lede{font-size:clamp(14px,1.7vw,16px);line-height:1.55;color:#b3bfcd;max-width:470px}.card{width:100%;margin-top:8px;padding:18px;border-radius:16px;background:#ffffff0b;border:1px solid rgba(255,255,255,.1);box-shadow:0 16px 48px #0006;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card-head{font-size:13px;font-weight:600;letter-spacing:.02em;color:#cdd8e4;margin-bottom:12px}.actions{display:flex;align-items:center;gap:20px;margin-top:8px;flex-wrap:wrap;justify-content:center}.cta-primary{padding:13px 30px;border-radius:999px;border:none;background:linear-gradient(180deg,#5a8dff,#2f6df0);color:#fff;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 10px 26px #2f6df06b;transition:transform .12s ease,box-shadow .12s ease}.cta-primary:hover{transform:translateY(-1px);box-shadow:0 12px 30px #2f6df08c}.cta-link{color:#9fb6d6;font-size:14px;text-decoration:none;border-bottom:1px solid transparent;transition:color .15s,border-color .15s}.cta-link:hover{color:#d6e4f8;border-bottom-color:#9fb6d680}.controls{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-top:8px;font-size:12px;color:#8a96a4}.controls span{display:inline-flex;align-items:center;gap:5px}.controls kbd{font-family:inherit;font-size:11px;padding:2px 6px;border-radius:5px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);color:#cdd8e4}.upload{display:flex;flex-direction:column;align-items:center;gap:12px}.btn{display:inline-block;padding:11px 22px;border-radius:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.18);color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s}.btn:hover{background:#ffffff29}.btn-disabled{opacity:.55;cursor:progress}.upload-hint{font-size:12px;color:#8a96a4}.seg{display:inline-flex;background:#ffffff0d;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:3px;gap:3px}.seg-btn{padding:7px 14px;font-size:13px;background:transparent;color:#aeb9c6;border:none;border-radius:7px;cursor:pointer;transition:background .15s,color .15s}.seg-btn:disabled{cursor:not-allowed}.seg-on{background:#2f6df0;color:#fff}.upload-status{font-size:13px;color:#e9c46a;min-height:16px;max-width:440px}.inv-label{font-size:11px;color:#8a96a4;letter-spacing:.04em}.inventory{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.inv-item{width:54px;height:54px;padding:0;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:#ffffff0f;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center}.inv-item:disabled{opacity:.4;cursor:not-allowed}.inv-item img{width:100%;height:100%;object-fit:contain}.hint{position:fixed;bottom:16px;left:50%;transform:translate(-50%);color:#ffffff8c;font-size:12px;z-index:10;pointer-events:none}.prompt{position:fixed;top:58%;left:50%;transform:translate(-50%);padding:7px 16px;border-radius:8px;background:#0a0e14a8;border:1px solid rgba(233,196,106,.5);color:#f3e7c8;font-size:14px;letter-spacing:.02em;text-transform:capitalize;z-index:10;pointer-events:none;white-space:nowrap}.held{position:fixed;top:18px;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px;background:#0a0e1499;color:#ffffffd9;font-size:13px;text-transform:capitalize;z-index:10;pointer-events:none}
