:root{color-scheme:light;--bg:#f6f7f3;--ink:#16463e;--muted:#6d7a70;--sage:#e5eddf;--line:#e4e9de;--error:#993d35;--radius:18px;font-family:Inter,"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,input{font:inherit}button,a,input{ -webkit-tap-highlight-color:transparent }a{color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}[hidden]{display:none!important}
.topbar{max-width:1080px;min-height:103px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 22px;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;text-decoration:none}.brand-mark{display:grid;place-items:center;background:var(--ink);color:white;width:41px;height:41px;border-radius:12px;font-size:23px;font-weight:750;letter-spacing:-2px;padding-right:2px}.brand-name{font-size:21px;font-weight:750;letter-spacing:.5px;line-height:1.05}.brand-name span{display:block;font-size:9px;font-weight:650;letter-spacing:1.5px;margin-top:7px;color:#748171}.access-badge{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:#70806f;padding:7px 11px;background:#eef1e8;border-radius:100px}.access-badge svg{width:13px;height:13px;stroke-width:1.8}main{width:min(680px,calc(100% - 40px));margin:0 auto}.intro{text-align:center;padding:47px 0 29px}.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1.7px;font-weight:700;color:#788772}.status-dot{width:6px;height:6px;border-radius:50%;background:#709267}.intro h1{font-size:35px;line-height:1.2;font-weight:650;letter-spacing:-1px;margin:13px 0 10px}.intro p{color:var(--muted);font-size:14px;margin:0}.upload-card,.comparison-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 14px #26403704}.upload-card{padding:27px}.section-heading{display:flex;gap:12px;align-items:center}.step-number{border:1px solid #dfe7d7;background:#f1f5eb;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font-size:11px;font-weight:700;color:#738765;flex-shrink:0}.section-heading h2{font-size:17px;font-weight:650;letter-spacing:-.2px;margin:0 0 3px}.section-heading p{color:var(--muted);font-size:12px;margin:0}.dropzone{text-align:center;margin-top:23px;padding:27px 20px 21px;border:1.5px dashed #d3ddc8;border-radius:12px;background:#fafcf7;transition:background .16s,border-color .16s}.dropzone.is-dragging{background:#eef5e8;border-color:#5f8552}.dropzone.is-disabled{opacity:.7}.upload-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#edf2e7;margin:0 auto 14px;color:#5a7650}.upload-icon svg{width:27px;height:27px}.drop-title{margin:0;font-size:14px;font-weight:600}.drop-description{margin:4px 0 17px;color:#879080;font-size:12px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:42px;padding:11px 19px;border:1px solid transparent;border-radius:8px;font-size:12px;font-weight:650;transition:background .16s,box-shadow .16s,opacity .16s}.button svg{width:17px;height:17px}.button-primary{background:var(--sage);color:var(--ink);border-color:#dce5d3}.button-primary:hover:enabled{background:#d9e5d0}.button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #8fae7a;outline-offset:4px}.button:disabled{opacity:.47}.file-formats{font-size:10px;color:#89917f;margin:13px 0 0}.file-formats span{padding:0 5px}.upload-note{font-size:11px;color:#83907c;margin:18px 0 0;display:flex;gap:7px;align-items:flex-start}.upload-note svg{width:14px;height:14px;margin-top:1px}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.source-summary{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:9px;padding:13px;margin-top:15px;background:#fcfdfb}.file-icon{color:#6d8960;display:flex}.file-icon svg{width:23px;height:23px}.file-details{min-width:0;flex:1}.file-details strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.file-details p{font-size:10px;color:var(--muted);margin:3px 0 0}.ready-badge{color:#6c835d;background:#eff5e9;border-radius:100px;font-size:10px;padding:3px 8px;flex-shrink:0}.notice{margin-top:15px;padding:11px 13px;background:#eff5e9;color:#526c45;border:1px solid #dce8d4;border-radius:9px;font-size:12px;overflow-wrap:anywhere}.notice-error{background:#fff3f0;color:var(--error);border-color:#eed9d3}.routines{margin-top:31px}.routines-heading{margin:0 3px 17px}.comparison-card{padding:24px}.comparison-header{display:flex;align-items:center;gap:11px}.routine-icon{display:grid;place-items:center;width:39px;height:39px;border-radius:11px;background:#edf2e7;color:#718565;flex-shrink:0}.routine-icon svg{width:20px;height:20px}.comparison-header h3{font-size:14px;font-weight:650;margin:0 0 2px;line-height:1.35}.comparison-header p{font-size:10px;color:#89917e;margin:0}.job-badge{margin-left:auto;flex-shrink:0;font-size:9px;background:#f2f4ee;color:#859077;padding:5px 8px;border-radius:6px;line-height:1.3}.job-badge[data-status="success"]{background:#eaf3e3;color:#5a7b49}.job-badge[data-status="running"],.job-badge[data-status="queued"]{background:#edf1e2;color:#6f7f47}.job-badge[data-status="error"]{background:#fff0ec;color:var(--error)}.comparison-description{font-size:12px;color:#7b8574;line-height:1.7;margin:18px 0 17px}.confirmation{display:flex;gap:9px;align-items:flex-start;font-size:11px;line-height:1.6;color:#64745c;cursor:pointer}.confirmation input{accent-color:var(--ink);width:15px;height:15px;margin:2px 0 0;flex-shrink:0}.confirmation:has(input:disabled){opacity:.6;cursor:default}.comparison-actions{margin-top:20px;padding-top:18px;border-top:1px solid #edf0e8}.button-compare{background:#e6edde;border-color:#dde5d4;color:var(--ink);width:100%}.button-compare:hover:enabled{background:#d8e4ce}.job-result{margin-top:19px;padding:16px;border-radius:11px;background:#f5f8f1;border:1px solid #e1e9d8}.job-result[data-status="error"]{background:#fff7f3;border-color:#eddfd6}.result-header{display:flex;gap:9px;align-items:flex-start}.result-header strong{font-size:12px;font-weight:650}.result-header p{font-size:11px;color:#75816a;line-height:1.6;margin:3px 0 0;overflow-wrap:anywhere}.job-result[data-status="error"] .result-header strong,.job-result[data-status="error"] .result-header p{color:var(--error)}.result-indicator{width:8px;height:8px;border-radius:50%;background:#709561;margin-top:6px;flex-shrink:0}.job-result[data-status="error"] .result-indicator{background:#b36a55}.job-result[data-status="running"] .result-indicator,.job-result[data-status="queued"] .result-indicator{background:#8a9c62;animation:pulse 1.5s ease-in-out infinite}.stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 0}.stats-grid div{border-top:1px solid #dfe7d7;padding-top:10px}.stats-grid dt{font-size:9px;color:#809171;line-height:1.4}.stats-grid dd{font-size:20px;font-weight:650;margin:3px 0 0;letter-spacing:-.3px}.result-time{font-size:10px;color:#909b84;margin:13px 0 0}.resource-links{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:22px}.resource-link{display:flex;gap:10px;align-items:center;padding:17px 15px;background:#fff;border:1px solid var(--line);border-radius:12px;text-decoration:none;transition:background .15s,border-color .15s}.resource-link:hover{background:#fafcf7;border-color:#c9d7be}.resource-icon{display:flex;color:#899b7b}.resource-icon svg{width:22px;height:22px}.resource-link strong{display:block;font-size:12px;font-weight:600}.resource-link small{display:block;font-size:10px;color:#8b9580;margin-top:2px}.external-icon{width:13px;height:13px;color:#9aa58f;margin-left:auto}.connection-notice{padding:12px 14px;background:#fff6e8;border:1px solid #eadfca;border-radius:9px;font-size:11px;color:#8a713f;margin:20px 0 0}footer{max-width:1080px;margin:45px auto 0;border-top:1px solid var(--line);padding:21px 22px 25px;display:flex;justify-content:space-between;font-size:10px;color:#929c88}footer>span:first-child{font-weight:600}footer span span{padding:0 4px}@keyframes pulse{50%{opacity:.35}}
@media(max-width:600px){.topbar{min-height:83px;padding:0 20px}.brand-mark{width:36px;height:36px;font-size:21px;border-radius:10px}.brand-name{font-size:18px}.brand-name span{font-size:8px;letter-spacing:1.15px}.access-badge{font-size:9px;padding:6px 8px}.access-badge svg{width:12px;height:12px}.intro{padding:34px 0 24px}.intro h1{font-size:30px}.intro p{font-size:12px}.upload-card{padding:20px}.dropzone{padding:25px 12px 19px}.comparison-card{padding:20px}.comparison-header{flex-wrap:wrap;gap:9px}.comparison-header>div{flex:1;min-width:160px}.job-badge{margin-left:48px;margin-top:-2px}.resource-links{grid-template-columns:1fr}.resource-link{padding:15px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}footer{margin-top:31px;gap:10px;font-size:9px;flex-wrap:wrap}.comparison-actions .button{font-size:11px}.confirmation{font-size:10px}.section-heading h2{font-size:16px}}
.login-page{display:flex;flex-direction:column;min-height:100vh}.login-page .topbar,.login-page footer{width:100%}.login-main{width:min(430px,calc(100% - 40px));padding-top:62px;flex:1}.login-card{padding:32px}.login-icon{display:grid;place-items:center;background:#edf2e7;color:#6c855d;width:46px;height:46px;border-radius:13px;margin:0 auto 17px}.login-icon svg{width:23px;height:23px}.login-card h1{text-align:center;font-size:24px;line-height:1.3;font-weight:650;letter-spacing:-.6px;margin:0}.login-description{text-align:center;font-size:12px;color:var(--muted);margin:9px 0 27px}.login-card form label{display:block;font-size:11px;font-weight:600;color:#61745a;margin:17px 0 7px}.login-input{display:block;width:100%;height:43px;border:1px solid #dce4d4;border-radius:8px;background:#fcfdfb;padding:10px 12px;color:var(--ink);font-size:14px;transition:border-color .15s,background .15s}.login-input:focus{border-color:#8ca478;background:white}.login-button{width:100%;margin-top:25px;justify-content:space-between;padding-left:17px;padding-right:17px}.login-note{text-align:center;color:#929c88;font-size:9px;margin:23px 0 0;padding-top:19px;border-top:1px solid #edf0e8}.login-note span{padding:0 4px}
@media(max-width:600px){.login-main{padding-top:36px}.login-card{padding:26px 23px}.login-card h1{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
