:root{color:#101828;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f5f7fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f5f7fb;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{color:#fff;cursor:pointer;background:#111827;border:0;border-radius:18px;width:100%;min-height:56px;font-weight:800}button:disabled{cursor:not-allowed;opacity:.45}input{color:#101828;background:#fff;border:1px solid #d0d5dd;border-radius:18px;width:100%;min-height:58px;padding:0 16px;font-size:16px}.app{width:100%;max-width:480px;min-height:100vh;padding:max(20px, env(safe-area-inset-top)) 16px max(28px, env(safe-area-inset-bottom));margin:0 auto}h1{margin:0 0 18px;font-size:28px;line-height:1.1}h2{margin:0 0 16px;font-size:22px}.card{background:#fff;border:1px solid #e4e7ec;border-radius:28px;padding:20px;box-shadow:0 18px 50px #10182814}.type-switch{background:#e4e7ec;border-radius:20px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px;padding:6px;display:grid}.type-switch button{color:#475467;background:0 0;min-height:48px}.type-switch button.active{color:#101828;background:#fff;box-shadow:0 6px 18px #10182814}.progress{background:#e4e7ec;border-radius:999px;height:8px;overflow:hidden}.progress span{border-radius:inherit;background:linear-gradient(90deg,#111827,#2563eb);height:100%;transition:width .18s;display:block}.step-meta{color:#667085;margin:10px 0 14px;font-size:14px;font-weight:700}.actions{grid-template-columns:.8fr 1.2fr;gap:10px;margin-top:16px;display:grid}.secondary{color:#101828;background:#e4e7ec}.counter{grid-template-columns:64px 1fr 64px;align-items:center;gap:12px;display:grid}.counter strong{text-align:center;font-size:32px}.preview,.row{gap:12px;display:grid}.row{border-bottom:1px solid #eef2f6;grid-template-columns:.75fr 1.25fr;padding:12px 0}.row span{color:#667085}.row strong{text-align:right;word-break:break-word}.notice{color:#1849a9;background:#eef4ff;border-radius:16px;margin:14px 0 0;padding:12px 14px;font-weight:700}.notice.error{color:#b42318;background:#fef3f2}.notice.success{color:#027a48;background:#ecfdf3}.upload{color:#344054;gap:10px;margin:18px 0;font-weight:800;display:grid}.loader{color:#667085;justify-items:center;gap:18px;padding:64px 0;font-weight:700;display:grid}.loader div{border:4px solid #d0d5dd;border-top-color:#111827;border-radius:999px;width:44px;height:44px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
