:root{color-scheme:light;--bg:#f5f7fa;--paper:#fff;--ink:#182a40;--muted:#748196;--line:#e2e8f0;--blue:#2b62d9;--soft-blue:#edf3ff;--green:#247559;--radius:16px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.5}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.5}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #85aaf1;outline-offset:4px}[hidden]{display:none!important}a{color:inherit;text-decoration:none}.site-header{height:88px;padding:0 max(28px,calc((100vw - 1320px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--paper);border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:650;letter-spacing:-.5px}.brand small{display:block;font-size:10px;letter-spacing:.15px;font-weight:400;color:var(--muted);margin-top:1px}.brand-icon{width:30px;height:36px;fill:none;stroke:var(--blue);stroke-width:1.8}.server-info{display:flex;align-items:center;gap:8px;color:#6c7b8e;font-size:11px;text-align:right}.server-dot{width:6px;height:6px;background:#aeb9c8;border-radius:50%;flex:none}.server-info.connected .server-dot{background:#5aa182}.server-info.unavailable .server-dot{background:#cd9366}
main{max-width:960px;margin:0 auto;padding:52px 28px 40px}.intro{text-align:center;margin-bottom:34px}.eyebrow,.small-label{font-size:10px;letter-spacing:1.3px;font-weight:600;color:#8b98aa}.eyebrow{color:#7f91ac;margin:0 0 14px}.intro h1{font-weight:560;font-size:32px;letter-spacing:-1px;margin:0 0 12px;line-height:1.2}.intro>p:last-child{margin:0;color:var(--muted);font-size:14px;line-height:1.75}.drop-zone{padding:35px 24px 26px;background:#fefefe;border:1.5px dashed #cbd6e6;border-radius:var(--radius);text-align:center;transition:border-color .15s,background .15s,box-shadow .15s;cursor:pointer}.drop-zone:hover,.drop-zone.dragging{border-color:#7399dd;background:#f8fbff;box-shadow:0 0 0 5px #e6edfa80}.upload-icon{width:68px;height:74px;border-radius:15px;background:var(--soft-blue);margin:0 auto 19px;display:grid;place-items:center}.upload-icon svg{width:39px;height:44px;fill:none;stroke:#547fce;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.drop-zone h2{font-size:20px;font-weight:540;letter-spacing:-.4px;margin:0 0 5px}.drop-zone>p{color:var(--muted);font-size:12px;margin:0 0 18px}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;border:1px solid transparent;border-radius:8px;padding:11px 17px;font-size:12px;font-weight:550;line-height:1.35;white-space:nowrap;transition:background .15s,border-color .15s}.button.primary{background:var(--blue);color:white;box-shadow:0 2px 3px #163b7610}.button.primary:hover{background:#2455bf}.button.secondary{color:#4b607d;background:white;border-color:#dce4ee}.button.secondary:hover{background:#f6f9fe;border-color:#bbcce2}.button span{font-size:17px;line-height:1}.drop-zone .file-formats{font-size:10px;margin:22px 0 4px;color:#8b98aa}.drop-zone .upload-limit{font-size:10px;margin:0;color:#8b98aa}.bottom-note{text-align:center;font-size:11px;color:#8a97a8;line-height:1.8;margin:24px 0 0}.site-footer{max-width:1320px;padding:24px 28px;margin:0 auto;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#9aa5b4;font-size:10px;gap:20px}.site-footer>span:first-child{font-weight:600;color:#8a97a8}
.notice{background:#edf3fb;border:1px solid #dce6f4;color:#5e7596;padding:12px 16px;border-radius:10px;font-size:12px;margin-bottom:20px}.work-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:28px 30px;box-shadow:0 5px 26px #223c5b04}.file-row{display:flex;align-items:center;gap:14px;padding-bottom:24px;border-bottom:1px solid #edf0f5}.file-symbol{width:44px;height:48px;display:grid;place-items:center;background:#f0f4fa;border-radius:9px;flex:none}.file-symbol svg{width:22px;height:27px;fill:none;stroke:#7690b0;stroke-width:1.6;stroke-linejoin:round}.file-description{min-width:0;flex:1}.file-description h2{font-size:14px;font-weight:550;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-description p{font-size:11px;color:#96a1b0;margin:4px 0 0}.status-badge{padding:5px 9px;border-radius:5px;background:#f0f4fb;color:#6b83a4;font-size:10px;white-space:nowrap}.steps{list-style:none;padding:23px 0 0;margin:0;display:flex;align-items:center;gap:25px}.steps li{display:flex;align-items:center;gap:7px;color:#a0abba;font-size:10px}.steps li span{width:21px;height:21px;border:1px solid #dbe2ec;border-radius:50%;display:grid;place-items:center;font-size:9px;color:#8d9aab}.steps li.active{color:#2c5db0}.steps li.active span{background:#eaf1ff;color:#2b62d9;border-color:#bfd0ed}.steps li.complete{color:#6a8b81}.steps li.complete span{background:#edf5f1;border-color:#d5e7de;color:#388367}.progress-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin:29px 0 18px}.small-label{margin:0;display:block;font-size:9px;letter-spacing:1px}.progress-heading h3{font-size:17px;font-weight:500;line-height:1.4;margin:8px 0 5px;letter-spacing:-.25px}.progress-detail{font-size:11px;color:#8c9aab;margin:0;min-height:17px}.elapsed{text-align:right;white-space:nowrap}.elapsed strong{display:block;font-size:25px;font-weight:450;font-variant-numeric:tabular-nums;letter-spacing:-.6px;margin-top:4px}.progress-track{height:5px;background:#eef2f8;border-radius:4px;overflow:hidden}.progress-track>span{display:block;background:#3e75df;width:0;height:100%;border-radius:inherit;transition:width .2s}.progress-track.indeterminate>span{width:32%!important;animation:processing 1.8s ease-in-out infinite;transition:none}@keyframes processing{from{transform:translateX(-110%)}to{transform:translateX(420%)}}
.resources{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:27px;padding:23px 0 4px;border-top:1px solid #edf0f5}.cpu-reading strong{display:block;font-size:20px;font-weight:470;letter-spacing:-.4px;line-height:1.35;margin:7px 0 5px;font-variant-numeric:tabular-nums}.cpu-reading>span:last-child{font-size:10px;color:#96a1b1;display:block}.capacity-reading{padding-top:7px}.capacity-reading>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:10px;color:#8796a9}.capacity-reading strong{font-size:12px;font-weight:500;color:#657e9f;font-variant-numeric:tabular-nums}.capacity-track{height:5px;border-radius:4px;background:#eef2f7;margin-top:12px;overflow:hidden}.capacity-track>span{display:block;width:0;height:100%;background:#83a4d4;transition:width .5s}.capacity-reading p{margin:9px 0 0;font-size:10px;color:#9aa6b6}.stage-history{border-top:1px solid #edf0f5;margin-top:23px;padding-top:16px;color:#72839b;font-size:11px}.stage-history summary{cursor:pointer;user-select:none}.stage-history summary span{margin-left:5px;color:#a0aaba}.stage-history ol{margin:14px 0 0;padding:0 0 0 20px;max-height:225px;overflow:auto}.stage-history li{padding:5px 4px;line-height:1.5;color:#93a0b1}.stage-history li.current{color:#4d70a6}.stage-history li>div{display:flex;justify-content:space-between;gap:18px}.stage-time{font-variant-numeric:tabular-nums;color:#a0aaba;white-space:nowrap}.connection-notice{font-size:11px;margin-top:24px;padding:13px 15px;background:#fff8ec;border-radius:8px;color:#9b7c4b}.connection-notice p{margin:0 0 5px}.text-button{padding:0;border:0;background:none;color:#6a84a8;font-size:11px;text-align:left;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:#315c9c}
.error-card{display:flex;align-items:flex-start;gap:17px;background:#fff;border:1px solid #eadfdc;border-radius:var(--radius);padding:29px 30px}.error-mark{width:34px;height:34px;border-radius:50%;background:#fbefeb;color:#ba745b;display:grid;place-items:center;font-size:20px;font-weight:550;flex:none}.error-card h2{font-size:21px;font-weight:530;margin:7px 0 10px;letter-spacing:-.5px}.error-card p:not(.small-label){color:#8c807b;line-height:1.7;font-size:12px;margin:0;overflow-wrap:anywhere}.error-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.error-card .small-label{color:#b4998f}
body.has-result{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}body.has-result .site-header{height:52px;min-height:52px;flex:none;padding:0 20px}body.has-result .brand{font-size:18px}body.has-result .brand small{display:none}body.has-result .brand-icon{width:22px;height:27px}body.has-result main{max-width:none;width:100%;margin:0;padding:0;flex:1;min-height:0;display:flex;flex-direction:column}body.has-result .site-footer{display:none}.result{display:flex;flex-direction:column;flex:1;min-height:0}.result-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:60px;padding:10px 20px;background:var(--paper);border-bottom:1px solid var(--line);flex:none}.result-identity{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.success-mark{width:24px;height:24px;background:#eaf4ef;color:#458d70;display:grid;place-items:center;border-radius:50%;font-size:14px;flex:none}.result-file-details{min-width:0}#resultFilename{margin:0;font-size:12px;font-weight:550;color:#4d627d;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-meta{font-size:10px;color:#8c9aad;margin:3px 0 0}.result-actions{display:flex;align-items:center;gap:8px;flex:none}.result-actions .button{font-size:11px;padding:8px 12px}.result-actions .text-button{margin-left:5px;white-space:nowrap}.preview{position:relative;background:white;overflow:hidden;flex:1;min-height:0}.preview iframe{display:block;border:0;width:100%;height:100%;min-height:0;background:white}.preview-loading{position:absolute;top:45%;width:100%;text-align:center;color:#8a9caf;font-size:12px;margin:0;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:700px){.site-header{height:76px;padding:0 20px;gap:15px}.brand{font-size:17px}.brand small{font-size:9px}.brand-icon{width:25px;height:31px}.server-info{max-width:155px;font-size:9px;gap:6px}main{padding:35px 19px 30px}.intro{margin-bottom:26px}.intro h1{font-size:27px;letter-spacing:-.8px}.intro>p:last-child{font-size:12px;line-height:1.7}.eyebrow{font-size:8px;letter-spacing:1px}.desktop-break{display:none}.drop-zone{padding:30px 18px 24px}.drop-zone h2{font-size:19px}.drop-zone .file-formats{line-height:1.7}.work-card{padding:21px 19px}.file-row{gap:10px;padding-bottom:20px}.file-symbol{width:36px;height:42px}.file-description h2{font-size:12px}.status-badge{font-size:9px;padding:5px 7px}.steps{gap:14px;padding-top:20px}.steps li{gap:5px;font-size:9px}.steps li span{width:18px;height:18px}.progress-heading{margin-top:24px;gap:13px}.progress-heading h3{font-size:15px}.elapsed strong{font-size:22px}.resources{grid-template-columns:1fr;gap:14px;padding-top:19px;margin-top:23px}.cpu-reading strong{font-size:19px}.capacity-reading{padding-top:0}.capacity-track{margin-top:9px}.error-card{padding:24px 20px;gap:12px}.error-mark{width:28px;height:28px;font-size:17px}.error-card h2{font-size:19px}.site-footer{padding:20px;gap:12px;font-size:9px;align-items:flex-start}.site-footer>span:last-child{text-align:right;max-width:180px}body.has-result .site-header{height:44px;min-height:44px;padding:0 14px}.result-toolbar{padding:8px 12px;gap:7px;flex-direction:column;align-items:stretch}.result-identity{min-height:28px}.result-actions{gap:6px;flex-wrap:wrap}.result-actions .button{font-size:10px;padding:7px 9px}.result-actions .text-button{font-size:10px;margin-left:auto}.bottom-note{font-size:10px}.stage-history li>div{gap:10px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}.progress-track.indeterminate>span{animation:none;width:100%!important;opacity:.5}}

.header-actions{display:flex;align-items:center;gap:22px;min-width:0}.history-link{font-size:12px;color:#7085a1;white-space:nowrap;padding:7px 0}.history-link:hover{color:#2b62d9}.header-actions .server-info{min-width:0}@media(max-width:700px){.header-actions{gap:14px}.history-link{font-size:11px}.header-actions .server-info{max-width:135px}.header-actions>.button{font-size:10px;padding:8px 10px}}
