:root{color-scheme:light;--background: #f5f6f2;--ink: #29352b;--muted: #7e887a;--green: #1e6650;--line: #e1e6dc}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.6;-webkit-font-smoothing:antialiased}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #8dbdac;outline-offset:4px}svg{width:20px;height:20px;flex-shrink:0;vertical-align:middle}h1,h2,h3,p{margin:0}h2{font-size:17px;font-weight:650;letter-spacing:-.3px}h3{font-size:14px;font-weight:600}.site-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 max(32px,calc((100vw - 1136px)/2));background:#fafbf8;border-bottom:1px solid var(--line);gap:16px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:23px;font-weight:700;letter-spacing:-.8px}.brand-mark{width:35px;height:35px;background:var(--green);border-radius:10px;position:relative}.brand-mark i{position:absolute;background:#fff;width:5px;height:17px;top:9px;left:10px;border-radius:1px}.brand-mark i:nth-child(2){left:21px;height:6px}.brand-mark i:nth-child(3){left:21px;top:20px;height:6px}.brand-divider{width:1px;height:19px;background:#d5dad3;margin:0 5px 0 10px}.brand-label{font-size:14px;font-weight:400;color:var(--muted);letter-spacing:.3px}.connection{display:flex;gap:8px;align-items:center;color:#63716a;font-size:12px}.status-dot{width:7px;height:7px;border-radius:50%;background:#a8b1a7}.connection.ready .status-dot{background:#4b9371;box-shadow:0 0 0 4px #4b93710e}.connection.error .status-dot{background:#c46c4a}.page{max-width:1136px;margin:0 auto;padding:54px 0 0}.intro{display:flex;align-items:center;justify-content:space-between;gap:32px}.eyebrow{font-size:10px;letter-spacing:2px;color:#75857b;font-weight:650;display:flex;align-items:center;gap:7px}.eyebrow>span{width:4px;height:4px;border-radius:50%;background:var(--green)}h1{font-size:clamp(30px,3vw,39px);letter-spacing:-1.6px;font-weight:650;margin:10px 0 15px;line-height:1.3}h1>span{color:var(--green)}.intro p{color:var(--muted);font-size:14px;line-height:1.9}.intro-stamp{display:flex;align-items:center;gap:15px;font-size:13px;color:#4c6255;padding:16px 20px;background:#eaf0e7;border-radius:12px;margin-top:14px}.intro-stamp>svg{width:28px;height:28px;stroke-width:1.4}.intro-stamp small{display:block;font-size:11px;color:#7a897f;margin-top:3px}.steps{display:flex;align-items:center;margin:38px 0 25px;max-width:650px;gap:16px}.step{display:flex;align-items:center;gap:9px;color:#8b948b;font-size:12px;flex:1;white-space:nowrap}.step:last-child{flex:0}.step-number{display:inline-flex;align-items:center;justify-content:center;width:25px;height:25px;border:1px solid #d6ddd4;border-radius:7px;font-size:10px;font-weight:600;color:#8f9a8f}.step.current{color:var(--green);font-weight:600}.step.current .step-number{border-color:var(--green);background:var(--green);color:#fff}.step.done{color:#647c6c}.step.done .step-number{background:#e4eee4;color:var(--green);border-color:#d8e5d7}.step-number svg{width:14px;height:14px}.step-line{height:1px;background:#d8ded4;flex:1;margin-left:7px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px}.main-column,.side-column{min-width:0;display:flex;flex-direction:column;gap:22px}.card{background:#fff;border:1px solid var(--line);border-radius:15px;box-shadow:0 3px 12px #23352b03;overflow:hidden}.upload-card{padding:27px 28px 0}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.card-heading p{font-size:12px;color:var(--muted);margin-top:5px}.text-button{padding:3px 0;border:0;background:transparent;display:inline-flex;align-items:center;gap:5px;color:var(--green);font-size:12px;font-weight:500;white-space:nowrap}.text-button svg{width:15px;height:15px}.text-button:hover{color:#103c2e}.text-button:disabled{opacity:.4}.drop-zone{width:100%;min-height:277px;border:1.5px dashed #c3d0c2;background:#f8faf6;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:24px 0 20px;padding:22px;transition:background .2s,border-color .2s,transform .2s;color:var(--ink)}.drop-zone>*{pointer-events:none}.drop-zone:hover,.drop-zone.dragging{background:#eef5ec;border-color:#649174}.drop-zone.dragging{transform:scale(1.01)}.upload-symbol{width:56px;height:56px;border-radius:16px;background:#eaf0e6;display:flex;align-items:center;justify-content:center;color:#5c7f64;margin-bottom:17px}.upload-symbol svg{width:25px;height:25px}.drop-zone strong{font-size:16px;font-weight:550}.drop-description{font-size:12px;color:#8c988c;margin-top:5px}.choose-label{display:flex;align-items:center;gap:17px;background:#fff;border:1px solid #d6e0d3;border-radius:7px;padding:6px 16px;color:#4a6c51;font-size:12px;margin-top:19px}.choose-label svg{width:15px;height:15px}.drop-limit{font-size:10px;color:#939d91;margin-top:14px}.selected-file{display:flex;gap:15px;align-items:center;border-radius:11px;border:1px solid #dce6d8;background:#f5f9f2;padding:25px 21px;margin:24px 0 20px;min-height:140px}.file-symbol{width:49px;height:58px;border-radius:10px;background:#e5eee0;display:flex;align-items:center;justify-content:center;color:#628259;flex-shrink:0}.file-symbol svg{width:27px;height:27px}.file-description{flex:1;min-width:0}.file-description strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.file-description>span{display:block;font-size:12px;color:#899582;margin-top:6px}.privacy-note{display:flex;align-items:flex-start;gap:8px;margin:0 2px 23px;color:#6e7b6f}.privacy-note svg{width:15px;height:15px;margin-top:3px;stroke:#7f927e}.privacy-note p{font-size:11px;line-height:1.85}.upload-actions{border-top:1px solid #e9ede6;min-height:82px;display:flex;justify-content:space-between;align-items:center;gap:16px}.upload-actions>span{display:flex;align-items:center;gap:6px;font-size:11px;color:#899483}.upload-actions>span svg{width:14px;height:14px}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:40px;padding:8px 20px;border:1px solid transparent;border-radius:7px;font-size:12px;font-weight:500;white-space:nowrap;transition:background .15s,opacity .15s}.button svg{width:17px;height:17px}.primary{background:var(--green);color:#fff}.primary:hover{background:#164c3c}.primary:disabled{background:#c7d5c5;color:#fafff9}.secondary{background:#fff;border-color:#d8dfd5;color:#657061;gap:8px}.secondary:hover{background:#f4f6f1}.secondary:disabled{opacity:.5}.progress-card{padding:24px 24px 19px;text-align:center}.small-badge{font-size:10px;color:#85907f;background:#f2f4ee;padding:4px 8px;border-radius:5px}.active-badge{color:var(--green);background:#eaf2e7}.progress-visual{margin:29px 0 22px;display:flex;justify-content:center}.progress-orbit{width:75px;height:75px;border:1px solid #e7ece2;border-radius:50%;display:flex;justify-content:center;align-items:center;background:#f9fbf6;color:#9bab91;position:relative}.progress-orbit:before{content:"";position:absolute;inset:5px;border:1px dashed #dce5d5;border-radius:50%}.progress-orbit svg{width:26px;height:26px}.rotating{color:var(--green);background:#f0f6ea}.rotating:before{border-color:#9bb791;animation:rotate 8s linear infinite}.progress-card>h3{font-size:13px}.progress-description{color:#94a08d;font-size:11px;margin:7px 0 21px;line-height:1.9}.progress-bar{display:block;width:100%;height:5px;border:0;border-radius:6px;overflow:hidden;background:#eef2e9;-webkit-appearance:none;appearance:none}.progress-bar::-webkit-progress-bar{background:#eef2e9;border-radius:6px}.progress-bar::-webkit-progress-value{background:#5e936c;border-radius:6px;transition:width .2s}.progress-bar::-moz-progress-bar{background:#5e936c;border-radius:6px}.progress-bar.indeterminate{background-image:linear-gradient(90deg,transparent,#b8ccb0 45%,transparent);background-size:65% 100%;background-repeat:no-repeat;animation:progress-slide 1.8s ease-in-out infinite}.progress-bar.indeterminate::-webkit-progress-bar{background:transparent}.progress-meta{display:flex;justify-content:space-between;font-size:10px;color:#94a08b;margin-top:8px}.progress-footnote{border-top:1px solid #e9eee3;display:flex;align-items:center;gap:5px;font-size:10px;color:#949f8c;padding-top:15px;margin-top:24px}.progress-footnote svg{width:13px;height:13px}.current-path{display:flex;align-items:center;gap:5px;color:#829178;font-size:10px;background:#f5f8f0;padding:7px;margin-top:10px;border-radius:4px;text-align:left}.current-path svg{width:12px;height:12px}.current-path span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-card{padding:21px 22px}.count-badge{min-width:22px;height:22px;background:#f0f3eb;border-radius:6px;color:#7f8e73;display:flex;justify-content:center;align-items:center;font-size:10px}.empty-history{display:flex;gap:12px;align-items:center;margin:22px 0 4px}.empty-history>svg{color:#a9b39e;width:22px;height:22px}.empty-history p{font-size:11px;color:#899580}.empty-history small{display:block;font-size:10px;color:#abb39f;margin-top:4px}.task-list{margin:13px -8px -7px;max-height:288px;overflow-y:auto}.task-row{display:flex;gap:9px;align-items:center;background:transparent;border:0;width:100%;padding:11px 8px;text-align:left;border-radius:7px;margin-bottom:3px;color:#53674a}.task-row:hover,.task-row.selected{background:#f3f7ee}.task-row>svg{width:16px;height:16px;color:#889f7b}.task-row>span{min-width:0;flex:1}.task-row strong{display:block;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-row small{display:block;font-size:9px;color:#9ba78f;margin-top:2px}.task-status{font-style:normal;font-size:9px;color:#8a967e;white-space:nowrap}.status-success,.status-repaired,.status-running{color:var(--green)}.status-failed,.status-partial{color:#b97a40}.format-panel{padding:0 6px}.format-panel>div:first-child{display:flex;justify-content:space-between;align-items:center}.format-panel h3{color:#68755e;font-size:11px;font-weight:500}.format-panel .text-button{color:#95a089;font-size:10px}.format-panel .text-button svg{width:12px;height:12px}.format-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.format-tags span{border:1px solid #dfe5d8;border-radius:4px;padding:3px 8px;font-size:10px;color:#8a957c;background:#fafbf7}.format-panel>p{color:#87937a;font-size:11px;line-height:1.9;margin-top:12px}.capabilities{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:6px 7px 0}.capability-icon{width:33px;height:33px;border-radius:9px;background:#e9eee2;color:#7e946e;display:flex;align-items:center;justify-content:center;margin-bottom:11px}.capability-icon svg{width:17px;height:17px}.capabilities h3{font-size:12px;color:#65715b;font-weight:550}.capabilities p{font-size:11px;color:#959f89;line-height:1.85;margin-top:7px}footer{margin-top:43px;padding:23px 0 28px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;color:#9ca68f;font-size:10px}.footer-dot{margin:0 5px;color:#b1bba4}.error-banner{display:flex;align-items:center;gap:10px;border:1px solid #e8ccb9;background:#fff7ed;color:#997045;padding:12px 16px;border-radius:9px;margin-bottom:18px;font-size:12px}.error-banner>span{flex:1;overflow-wrap:anywhere}.error-banner>svg{width:17px;height:17px}.error-banner>button:not(.icon-button){background:transparent;color:inherit;border:0;text-decoration:underline;white-space:nowrap}.icon-button{padding:4px;display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:inherit;border-radius:4px}.icon-button svg{width:16px;height:16px}.icon-button:hover{background:#5975400c}.result-card{padding:24px 26px 0}.result-heading{display:flex;gap:13px;align-items:flex-start}.result-symbol{background:#e9f3e5;color:#548f5b;width:43px;height:43px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.result-heading .eyebrow{font-size:9px;letter-spacing:1px}.result-heading h2{margin-top:2px}.result-heading p{font-size:12px;color:#86917b;margin-top:5px;overflow-wrap:anywhere}.result-failed .result-symbol,.result-partial .result-symbol{color:#b4894c;background:#f9efdd}.result-cancelled .result-symbol,.result-unchanged .result-symbol{background:#f0f2ea;color:#9aa58b}.output-file{margin:21px 0;padding:15px 14px;display:flex;gap:10px;align-items:center;background:#f7faf3;border:1px solid #e5eddf;border-radius:9px}.output-file>svg{color:#7e9b69}.output-file>div{min-width:0;flex:1}.output-file strong{display:block;font-size:12px;font-weight:550;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.output-file span{display:block;font-size:10px;color:#9aab85;margin-top:4px}.download-button{gap:6px;padding:7px 13px;min-height:35px;font-size:11px}.stats-grid{margin-top:21px;display:grid;grid-template-columns:repeat(4,1fr);gap:17px 10px;padding:0 0 20px}.stats-grid>div{display:flex;flex-direction:column}.stats-grid strong{font-size:20px;color:#4f6e3e;font-weight:550;line-height:1.3;font-variant-numeric:tabular-nums}.stats-grid span{font-size:10px;color:#96a286;margin-top:4px}.checksum{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid #eef1e9;font-size:9px;color:#a0ab91}.checksum>span{flex-shrink:0;letter-spacing:.4px}.checksum code{min-width:0;flex:1;overflow-x:auto;white-space:nowrap;font-size:9px;scrollbar-width:thin;padding:2px 0}.result-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e9eee2;padding:16px 0;margin-top:5px;gap:14px}.result-actions .text-button{font-size:11px}.muted{color:#94a184}.issues{padding-top:14px;border-top:1px solid #e9eee2}.issues h3{font-size:12px;color:#809469;display:flex;gap:8px;align-items:center}.issues h3>span{display:inline-flex;border-radius:4px;background:#f0f4e9;font-size:10px;padding:0 5px}.issue-list{max-height:260px;overflow-y:auto;margin-top:10px}.issue{display:flex;align-items:flex-start;gap:10px;margin:12px 0}.issue-badge{font-size:9px;border-radius:3px;padding:2px 5px;white-space:nowrap;flex-shrink:0;background:#fcf0e2;color:#b08347}.issue-badge.error{color:#b96650;background:#fff0e9}.issue>div{min-width:0}.issue strong{font-size:11px;color:#72855e;font-weight:500;overflow-wrap:anywhere}.issue p{font-size:10px;color:#9fab89;margin-top:3px;overflow-wrap:anywhere}.cleanup-warning{display:flex;align-items:center;gap:5px;color:#b38b46;font-size:11px;margin:10px 0}.cleanup-warning svg{width:13px;height:13px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes progress-slide{0%{background-position:-180% 0}to{background-position:280% 0}}@media(max-width:1200px){.page{margin:0 32px}.workspace{grid-template-columns:minmax(0,1fr) 310px;gap:20px}}@media(max-width:850px){.page{margin:0 24px;padding-top:34px}.site-header{height:70px;padding:0 24px}.intro-stamp{display:none}.workspace{grid-template-columns:minmax(0,1fr) 275px;gap:16px}.upload-card{padding:23px 21px 0}.progress-card{padding:23px 19px 19px}.capabilities{gap:16px}.capabilities br{display:none}.change-file{align-self:flex-end}.selected-file{flex-wrap:wrap;padding:20px 16px}.selected-file .file-description{min-width:160px}}@media(max-width:670px){.site-header{height:65px;padding:0 19px}.brand{font-size:21px;gap:8px}.brand-mark{transform:scale(.9);transform-origin:left center;margin-right:-2px}.brand-divider,.brand-label{display:none}.connection{font-size:10px;gap:6px}.page{margin:0 18px;padding-top:32px}h1{font-size:29px;letter-spacing:-1px}.intro p{font-size:12px}.desktop-break{display:none}.steps{gap:11px;margin:27px 0 21px}.step{font-size:10px;gap:6px}.step-number{width:23px;height:23px;font-size:9px}.step-line{margin-left:2px}.workspace{display:flex;flex-direction:column;gap:22px}.upload-card{padding:23px 20px 0}.drop-zone{min-height:255px}.capabilities{order:3;margin-top:5px;padding:0 3px;gap:19px}.capabilities h3{font-size:11px}.capabilities p{font-size:10px}.side-column{gap:18px}.progress-visual{margin:19px 0 14px}.progress-orbit{width:57px;height:57px}.progress-orbit svg{width:21px;height:21px}.progress-description{margin-bottom:17px}.progress-footnote{margin-top:17px}.result-card{padding:22px 20px 0}.output-file{flex-wrap:wrap}.output-file .download-button{width:100%;margin-top:7px}.stats-grid{gap:16px 5px}.stats-grid span{font-size:9px}.privacy-note p{font-size:10px}.error-banner{align-items:flex-start}footer{flex-direction:column;margin-top:29px;padding-bottom:24px;gap:5px;font-size:9px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
