:root{font:14px/1.5 "Segoe UI",system-ui,-apple-system,sans-serif;color:#232724;background:#f4f5f2;--yellow:#f5c518;--charcoal:#202421;--muted:#707670;--line:#e5e8e1;--soft:#f7f8f5;--error:#a13b31}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input{font:inherit}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:not-allowed}button,a,input{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #a5840a}h1,h2,h3,p{margin:0}svg{display:block}.muted{color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.topbar{background:#fff;color:var(--charcoal);border-bottom:1px solid var(--line)}.topbar-inner{max-width:1232px;height:78px;margin:auto;padding:0 32px;display:flex;align-items:center;gap:24px}.brand{font-size:28px;font-weight:750;letter-spacing:-.8px;color:#1c1d1a;text-decoration:none;display:flex;align-items:center;gap:3px;flex-shrink:0}.brand img{display:block;object-fit:contain}.brand-wordmark{display:flex;flex-direction:column;line-height:1.1;padding-top:8px}.brand-wordmark small{align-self:flex-end;font-size:9px;line-height:1.3;font-weight:500;letter-spacing:0;color:#767873}.private-badge{margin-left:auto;color:var(--muted);font-size:10px;letter-spacing:.12em}.account{margin-left:auto;display:flex;align-items:center;gap:10px;font-size:12px}.account-avatar{width:28px;height:28px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--charcoal);background:#fff8d9;font-weight:600}.header-button{margin-left:10px;color:var(--charcoal);background:transparent;border-left:1px solid var(--line);padding:2px 0 2px 20px;font-size:12px}.header-button:hover{color:#806613}
main{max-width:1232px;margin:auto;padding:42px 32px 22px}.page-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:.14em;font-weight:750;color:var(--muted)}h1{font-size:34px;line-height:1.2;letter-spacing:-1.1px;font-weight:650;margin:9px 0}.heading-dot{color:#c6a014}.server-badge{display:flex;align-items:center;gap:8px;font-size:11px;color:#646d60;padding:7px 11px;border:1px solid #dfe4d8;border-radius:20px;background:#fafbf8;white-space:nowrap}.server-badge>span{width:6px;height:6px;border-radius:50%;background:#8a957b}
.workspace{display:grid;grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr);gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 4px 20px #18211504;padding:26px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}h2{font-size:16px;font-weight:650;letter-spacing:-.2px}.step-label{font-size:9px;letter-spacing:.14em;color:#899083}
.dropzone{width:100%;min-height:220px;border:1px dashed #cbd1c1;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;background:var(--soft);color:var(--charcoal);transition:background .15s,border-color .15s}.dropzone:hover,.dropzone.dragging{background:#fdf9e8;border-color:#b89a28}.dropzone.dragging{outline:3px solid #f5c51855}.dropzone>strong{font-size:15px;font-weight:600;margin-top:7px}.dropzone>span:not(.upload-icon){font-size:12px;color:var(--muted)}.browse-text{font-weight:600;color:#756011}.dropzone small{font-size:10px;color:#899083;margin-top:12px}.upload-icon{width:52px;height:52px;background:#fff;border:1px solid var(--line);border-radius:14px;display:grid;place-items:center;color:#8a762b;box-shadow:0 3px 6px #18211505}.selected-file{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}.selected-file>div{min-width:0;flex:1}.selected-file strong{display:block;font-size:12px;font-weight:600;overflow-wrap:anywhere}.selected-file .muted{font-size:10px}.file-icon{font-size:25px;color:#877125}.icon-button{background:var(--soft);border-radius:6px;font-size:20px;line-height:1;width:28px;height:28px;color:#666e60}.preview-wrap{margin-top:16px;background:#eff1ec;position:relative;border:1px solid var(--line);border-radius:10px;overflow:hidden}.preview-wrap img{display:block;max-width:100%;width:100%;max-height:210px;object-fit:contain}.preview-caption{position:absolute;bottom:8px;left:8px;font-size:8px;letter-spacing:.13em;background:#202421cc;color:#fff;border-radius:4px;padding:3px 6px}
.options{border:0;margin:26px 0 24px;padding:0;min-width:0}.options legend{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:10px;padding:0}.option-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;cursor:pointer}.option-row strong{display:block;font-size:12px;font-weight:600}.option-row small{display:block;font-size:10px;color:var(--muted);margin-top:1px}.option-row input{appearance:none;flex-shrink:0;width:32px;height:19px;border:1px solid #cfd5ca;background:#e5e8e1;border-radius:20px;position:relative;cursor:pointer;margin:0}.option-row input:before{content:"";position:absolute;width:13px;height:13px;top:2px;left:2px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0002;transition:transform .15s}.option-row input:checked{background:var(--yellow);border-color:#dab018}.option-row input:checked:before{transform:translateX(13px);background:#3c3e28}.option-row input:disabled{opacity:.45;cursor:not-allowed}.primary,.secondary{border-radius:9px;font-weight:650;padding:13px 17px;font-size:12px}.primary{background:var(--yellow);color:#272b1e;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 2px 2px #8c70030a}.primary:hover:not(:disabled){background:#eabc17}.primary>span{font-size:19px;line-height:1}.decode-button{width:100%}.secondary{border:1px solid var(--line);background:white;color:var(--charcoal);display:flex;gap:18px;align-items:center}.secondary:hover:not(:disabled){background:var(--soft)}
.results-panel{min-height:572px;display:flex;flex-direction:column}.result-badge{font-size:9px;letter-spacing:.09em;font-weight:650;padding:5px 8px;border-radius:5px;background:#f0f2ec;color:#737c69}.result-badge[data-tone=busy]{background:#faf2d2;color:#826719}.result-badge[data-tone=success]{background:#ebf4ea;color:#40753b}.result-badge[data-tone=error]{background:#faeeeb;color:var(--error)}.result-badge[data-tone=warning]{background:#faf2d2;color:#826719}.empty-result{display:flex;align-items:center;justify-content:center;flex-direction:column;flex:1;min-height:420px}.empty-result h3{font-size:18px;letter-spacing:-.35px;font-weight:550;margin-top:26px}.empty-result p{font-size:12px;color:#8a9184;margin-top:6px}.signal-art{width:112px;height:90px;border:1px solid #e7eadd;border-radius:20px;display:flex;align-items:center;justify-content:center;gap:5px;background:linear-gradient(140deg,#fcfcf7,#f6f4e7)}.signal-art i{display:block;width:4px;border-radius:4px;background:#c5ac4b;height:13px}.signal-art i:nth-child(2n){height:25px}.signal-art i:nth-child(3n){height:39px}.signal-art i:nth-child(5){height:54px;background:#3a402f}
.run-heading{display:flex;align-items:start;justify-content:space-between;gap:12px;margin:5px 0 25px}.run-heading h3{font-size:19px;line-height:1.4;font-weight:600;letter-spacing:-.4px;margin-top:7px}.elapsed{border-left:1px solid var(--line);padding-left:20px;min-width:82px;text-align:right}.elapsed span{display:block;color:var(--muted);font-size:8px;letter-spacing:.12em}.elapsed strong{font-variant-numeric:tabular-nums;font-size:24px;font-weight:500;line-height:1.5}.stages{list-style:none;margin:0;padding:0}.stages li{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:3px;border-radius:8px;font-size:12px;color:#929789}.stage-marker{width:22px;height:22px;display:grid;place-items:center;border:1px solid #e0e4da;border-radius:50%;font-size:10px;font-variant-numeric:tabular-nums}.stage-label{flex:1}.stage-state{font-size:9px;text-transform:uppercase;letter-spacing:.04em}.stages li[data-state=current]{background:#fbf6df;color:#5e501c;font-weight:600}.stages li[data-state=current] .stage-marker{border:2px solid #e9d788;border-top-color:#8b721d;font-size:0;animation:spin 1.2s linear infinite}.stages li[data-state=done]{color:#505c47}.stages li[data-state=done] .stage-marker{background:#f0f3e8;border-color:#e5eadc;color:#627846}.stages li[data-state=stopped]{color:var(--error);background:#fdf4f1}.activity{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:18px 0 8px;font-size:11px;color:var(--muted);min-height:20px}.activity p{overflow-wrap:anywhere;flex:1;min-width:100px}.activity-dot{width:5px;height:5px;border-radius:50%;background:#b79522;flex-shrink:0;align-self:center}.activity #step-count{font-size:10px;font-variant-numeric:tabular-nums;white-space:nowrap}.text-button{background:transparent;color:#636c5b;font-size:11px;padding:7px 0;text-decoration:underline;text-underline-offset:3px}.text-button:hover{color:#252c20}.danger{color:#986458}
.result-card{border:1px solid #e4e8de;border-left:3px solid #a1aa94;background:#fafbf8;border-radius:10px;padding:20px;margin-top:22px}.result-card[data-tone=success]{border-left-color:#608354}.result-card[data-tone=error]{border-left-color:#b46a5e;background:#fff9f7}.result-card[data-tone=warning]{border-left-color:#c4a43b;background:#fffcf2}#result-title{font-size:13px;font-weight:600}#result-id{display:block;font-size:38px;line-height:1.3;letter-spacing:2px;font-weight:650;margin:5px 0;font-variant-numeric:tabular-nums}#result-note{font-size:11px;color:var(--muted);margin-top:6px}.candidates{margin-top:24px}.candidate-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.candidate-heading h3{font-size:13px;font-weight:600}.candidate-heading span{font-size:8px;letter-spacing:.1em;background:#faf2d2;padding:4px 6px;border-radius:4px;color:#826719}.candidates>.muted{font-size:10px;margin:5px 0 10px}.candidates ol{list-style:none;padding:0;margin:0}.candidates li{display:flex;align-items:center;gap:12px;border-top:1px solid #eef0e9;padding:10px 2px;font-size:12px}.candidate-rank{font-size:10px;color:#8d9685;width:16px}.candidate-id{font-weight:650;letter-spacing:1px;font-variant-numeric:tabular-nums}.candidate-match{margin-left:auto;color:#79806f;font-size:11px;font-variant-numeric:tabular-nums}.result-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}.error-text{color:var(--error);font-size:12px;overflow-wrap:anywhere;margin-top:12px}.error-text:empty{display:none}
footer{display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#959b8e;padding-top:24px;margin-top:8px}#version{white-space:nowrap;font-variant-numeric:tabular-nums}@keyframes spin{to{transform:rotate(360deg)}}
.signed-out{background:#1c1d1a;min-height:100vh;min-height:100dvh}
.signed-out .topbar,.signed-out footer{display:none}
.signed-out main{width:100%;max-width:none;min-height:100vh;min-height:100dvh;margin:0;padding:24px 12px;display:grid;grid-template-columns:minmax(0,1fr);place-items:center}
.signed-out .login-panel{width:420px;max-width:100%;margin:0;padding:40px clamp(24px,8vw,60px) 24px;background:#fff;border-radius:10px;color:#232421}
.login-brand{display:flex;align-items:center;flex-direction:column}
.login-brand img{display:block;object-fit:contain}
.login-brand span{font-size:34px;line-height:1.2;letter-spacing:-1px;font-weight:750}
.signed-out .login-panel h1{font-size:28px;line-height:1.3;letter-spacing:0;font-weight:500;text-align:center;margin:46px 0 18px}
#access{display:grid;gap:12px}
.login-field{position:relative;min-width:0}
.login-field svg{position:absolute;top:11px;left:11px;pointer-events:none}
#access input{width:100%;height:40px;padding:8px 12px 8px 32px;border:1px solid #d8d8d8;border-radius:0;color:#232421;background:#fff}
#access input::placeholder{color:#a3a3a3;opacity:1}
#access input:focus{border-color:#bb920b}
#sign-in{height:40px;margin-top:12px;justify-content:center;padding:8px 12px;border:1px solid #dfb217;border-radius:4px;font-size:14px;font-weight:400;box-shadow:none}
#sign-in:disabled{opacity:1;color:#a3a3a3;background:#f5f5f5;border-color:#d8d8d8}
.login-panel .error-text{margin:0;text-align:center;font-size:12px}
.screen-editor{position:absolute;inset:0;width:100%;height:100%;overflow:visible;touch-action:none}.screen-editor polygon{fill:#f5c51818;stroke:#f5c518;stroke-width:2;vector-effect:non-scaling-stroke}.screen-editor circle{fill:#f5c518;stroke:#202421;stroke-width:2;vector-effect:non-scaling-stroke}.screen-editor text{fill:#202421;text-anchor:middle;dominant-baseline:central;font-weight:700;pointer-events:none}.screen-editor g{cursor:grab}.screen-editor g:focus circle{stroke:#fff;stroke-width:4}.screen-editor g[aria-disabled=true]{cursor:default;opacity:.6}.preview-wrap:has(.screen-editor){overflow:visible}.preview-wrap:has(.screen-editor) .preview-caption{display:none}.screen-tools{font-size:12px;color:var(--muted);margin:12px 0}.screen-tools>div{display:flex;gap:12px;align-items:center}#adjust-screen{margin-top:12px}
@media(max-width:900px){.workspace{grid-template-columns:minmax(290px,.9fr) minmax(320px,1.1fr);gap:16px}.panel{padding:20px}.topbar-inner{height:68px}.result-actions{flex-wrap:wrap}}@media(max-width:720px){main{padding:28px 18px 18px}.topbar-inner{padding:0 18px;gap:12px}.brand{font-size:21px}.product-name{padding-left:12px;font-size:9px}.private-badge{display:none}.page-heading{align-items:start}.server-badge{display:none}h1{font-size:29px}.workspace{grid-template-columns:1fr;gap:18px}.dropzone{min-height:190px}.results-panel{min-height:340px}.empty-result{min-height:240px}.account-avatar,.account>span:not(.account-avatar){display:none}.account{gap:0}.header-button{margin:0;border:0;padding:5px}.login-panel{margin:35px auto 55px;padding:27px}.login-panel h1{font-size:27px}footer{flex-direction:column;gap:5px}.run-heading h3{font-size:18px}.elapsed strong{font-size:22px}}@media(prefers-reduced-motion:reduce){*,*:before{animation:none!important;transition:none!important}}
