@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/ibm-plex-sans-latin-700-normal-Bxkt5Cjx.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-700-normal-Bth3BMcD.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff) format("woff")}:root{--bg-app: #0f1114;--bg-panel: #1b1e24;--border-strong: #2c323b;--text-hi: #eef1f4;--text-lo: #8a939f;--accent: #3ad0c4;--danger: #ef5d63;--font-sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, monospace}*{box-sizing:border-box}body{margin:0;background:var(--bg-app);color:var(--text-hi);font-family:var(--font-sans);font-size:14px}.mono,.num,code,input[type=text],input[type=password]{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.app{max-width:760px;margin:0 auto;padding:32px 20px}.panel{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:10px;padding:24px}h1{font-size:20px;margin:0 0 4px}.sub{color:var(--text-lo);margin:0 0 24px}.dropzone{display:block;border:1px dashed var(--border-strong);border-radius:10px;padding:32px;text-align:center;cursor:pointer}.dropzone:hover{border-color:var(--accent)}.hidden-file{display:none}.btn{font-family:var(--font-sans);background:var(--accent);color:#08201e;border:0;border-radius:8px;padding:10px 16px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--text-hi);border:1px solid var(--border-strong)}.progress-track{height:8px;background:#0b0d10;border-radius:6px;overflow:hidden;border:1px solid var(--border-strong)}.progress-fill{height:100%;transition:width .3s ease}.row{display:flex;align-items:center;justify-content:space-between;gap:12px}.stage{color:var(--text-lo)}.pct{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.toast{position:fixed;right:16px;bottom:16px;background:var(--bg-panel);border:1px solid var(--danger);color:var(--text-hi);padding:12px 16px;border-radius:8px}.error-box{border:1px solid var(--danger);border-radius:8px;padding:16px;color:var(--text-hi);background:#ef5d6314}label.field{display:block;margin-bottom:12px}label.field span{display:block;color:var(--text-lo);margin-bottom:4px}input.text{width:100%;padding:10px;border-radius:8px;background:#0b0d10;border:1px solid var(--border-strong);color:var(--text-hi)}
