:root{--bg:#f6f5f2;--card:#fff;--text:#1b1a17;--muted:#6d6a63;--border:#e3e0d9;--accent:#2f5bff;--accent-text:#fff;--error:#c4302b;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font:16px/1.5 var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#121211;--card:#1c1c1a;--text:#efede8;--muted:#9b978e;--border:#2e2d2a;--accent:#6b8bff;--accent-text:#0d0d0c;--error:#ff6b63}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.shell{flex-direction:column;gap:24px;max-width:520px;min-height:100vh;margin:0 auto;padding:32px 16px;display:flex}.brand{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.brand a{color:var(--text);letter-spacing:-.02em;font-size:20px;font-weight:700;text-decoration:none}.brand span{color:var(--muted);font-size:13px}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px}.stack{flex-direction:column;gap:16px;display:flex}h1{letter-spacing:-.01em;margin:0;font-size:22px}p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--error)}.filename{word-break:break-all;font-weight:600}.drop{border:2px dashed var(--border);text-align:center;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:40px 16px;transition:border-color .15s,background .15s;display:flex}.drop:hover,.drop.over{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent)}button,.button{font:inherit;background:var(--accent);color:var(--accent-text);cursor:pointer;text-align:center;border:0;border-radius:10px;padding:12px 18px;font-weight:600;text-decoration:none}button:disabled{opacity:.45;cursor:not-allowed}.ghost{color:var(--text);border:1px solid var(--border);background:0 0}.link-row{gap:8px;display:flex}.link-row input{min-width:0;font:14px var(--mono);border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:10px;flex:1;padding:10px 12px}.progress{background:var(--bg);border:1px solid var(--border);border-radius:8px;height:28px;position:relative;overflow:hidden}.progress div{background:var(--accent);height:100%;transition:width .2s}.progress span{mix-blend-mode:difference;color:#fff;place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.foot{color:var(--muted);text-align:center;font-size:13px}
