:root{color:#252b2a;font-synthesis:none;text-rendering:optimizelegibility;--ink:#252b2a;--muted:#737b77;--line:#d9d7cf;--paper:#fbfaf6;--canvas:#d9d7d1;--teal:#1e6a64;--teal-soft:#dfece8;--coral:#e0664d;--navy:#173654;background:#f3f0e8;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px;min-height:100vh;overflow:hidden}button,input{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,[role=slider]:focus-visible{outline-offset:2px;outline:3px solid #1e6a644d}.app-shell{background:#f3f0e8;flex-direction:column;height:100vh;display:flex}.app-header{border-bottom:1px solid var(--line);background:#fbfaf6f0;flex:0 0 64px;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.brand{color:inherit;align-items:center;gap:11px;text-decoration:none;display:flex}.brand>span:last-child{align-items:baseline;gap:10px;display:flex}.brand strong{letter-spacing:-.02em;font-family:Georgia,serif;font-size:22px;font-weight:600}.brand small{color:var(--muted);text-transform:uppercase;letter-spacing:.13em;font-size:11px}.brand-mark{border:1px solid var(--ink);width:30px;height:30px;display:inline-block;position:relative}.brand-mark i{border:1.5px solid var(--ink);width:12px;height:18px;position:absolute;top:5px}.brand-mark i:first-child{background:var(--paper);left:5px}.brand-mark i:last-child{background:#e0664d4d;right:5px}.privacy-note{color:var(--teal);align-items:center;gap:7px;font-size:12px;display:flex}.privacy-note svg{width:15px}.privacy-note small{color:var(--muted);border-left:1px solid var(--line);margin-left:2px;padding-left:8px}.workspace{flex:1;grid-template-columns:292px minmax(0,1fr);min-height:0;display:grid}.source-panel{border-right:1px solid var(--line);background:var(--paper);padding:28px 22px 20px;overflow-y:auto}.panel-heading{justify-content:space-between;align-items:start;display:flex}.eyebrow{color:var(--teal);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700}h1{letter-spacing:-.02em;margin:5px 0 0;font:600 25px/1.1 Georgia,serif}.pair-status{border:1px solid var(--line);color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-top:3px;padding:4px 7px;font-size:9px;font-weight:700}.panel-intro{color:var(--muted);margin:13px 0 20px;font-size:12px;line-height:1.55}.upload-list{flex-direction:column;display:flex}.upload-card{min-width:0}.upload-card__topline{align-items:center;gap:8px;margin-bottom:8px;display:flex}.file-key{color:#fff;border-radius:2px;place-items:center;width:22px;height:22px;font-size:10px;font-weight:800;display:inline-grid}.file-key--a{background:var(--navy)}.file-key--b{background:var(--coral)}.upload-card__label{letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:700}.sample-pill{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-left:auto;font-size:9px}.upload-card__drop{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:3px;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:10px;width:100%;min-height:86px;padding:8px;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.upload-card__drop:hover,.upload-card.is-dragging .upload-card__drop{border-color:var(--teal);transform:translateY(-1px);box-shadow:0 5px 20px #20363114}.upload-card__drop:disabled{cursor:progress;opacity:.72}.upload-card__drop img{object-fit:cover;background:#eee;border-radius:2px;width:52px;height:68px}.upload-card__file{flex-direction:column;gap:5px;min-width:0;display:flex}.upload-card__file strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:650;overflow:hidden}.upload-card__file small{color:var(--muted);font-size:9px;line-height:1.4}.replace-action{color:var(--teal);text-transform:uppercase;letter-spacing:.07em;grid-column:2;align-items:center;gap:4px;font-size:9px;font-weight:700;display:flex}.replace-action svg{width:13px;height:13px}.upload-card__empty{min-height:70px;color:var(--muted);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;gap:4px;display:flex}.upload-card__empty svg{color:var(--teal)}.upload-card__empty strong{color:var(--ink);font-size:11px}.upload-card__empty small{font-size:9px}.flow-connector{color:#aaa;align-items:center;height:30px;padding-left:10px;display:flex}.flow-connector span{border-left:1px dashed #c4c3bd;height:100%}.flow-connector svg{background:var(--paper);width:12px;margin-left:-6.5px;transform:rotate(90deg)}.field-error,.panel-error{color:#a33e32;margin:7px 0 0;font-size:10px;line-height:1.35}.sample-credit{color:var(--muted);flex-wrap:wrap;gap:3px 5px;margin:12px 0 0;font-size:9px;line-height:1.4;display:flex}.sample-credit a{color:var(--teal);text-underline-offset:2px}.sample-credit span{flex-basis:100%}.local-processing{border-top:1px solid var(--line);gap:11px;margin-top:23px;padding-top:18px;display:flex}.local-processing__icon{background:var(--teal-soft);width:30px;height:30px;color:var(--teal);border-radius:50%;flex:none;place-items:center;display:grid}.local-processing__icon svg{width:14px}.local-processing p{flex-direction:column;gap:4px;margin:0;display:flex}.local-processing strong{text-transform:uppercase;letter-spacing:.07em;font-size:10px}.local-processing small{color:var(--muted);font-size:9px;line-height:1.4}.comparison-panel{grid-template-rows:auto minmax(0,1fr) 54px;min-width:0;min-height:0;display:grid}.mode-bar{border-bottom:1px solid var(--line);background:#f9f7f2;justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:10px 16px;display:flex}.mode-tabs{border:1px solid var(--line);background:#eeece6;border-radius:4px;align-items:center;gap:3px;padding:3px;display:flex}.mode-tabs button{color:#6c7470;cursor:pointer;background:0 0;border:0;border-radius:2px;align-items:center;gap:7px;height:36px;padding:0 12px;font-size:11px;display:flex}.mode-tabs button:hover:not(:disabled){color:var(--ink)}.mode-tabs button.is-active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #1e24221f}.mode-tabs button:disabled{opacity:.45;cursor:not-allowed}.mode-tabs svg{width:16px}.context-control{min-width:285px}.slider-control{color:var(--muted);white-space:nowrap;grid-template-columns:auto minmax(90px,170px) 38px;align-items:center;gap:10px;font-size:10px;display:grid}.slider-control>span{color:var(--ink);font-weight:650}.slider-control output{border:1px solid var(--line);color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;background:#fff;border-radius:2px;padding:5px 4px}input[type=range]{height:3px;accent-color:var(--teal);cursor:pointer}.viewer-wrap{background:#cbc9c3 radial-gradient(#141e1b14 .7px,#0000 .7px) 0 0/5px 5px;min-height:0;padding:14px;position:relative;overflow:hidden}.viewer-grid{background:#36393647;grid-template-columns:1fr 1fr;gap:2px;width:100%;height:100%;display:grid;box-shadow:0 8px 30px #2d2b241f}.viewer-single{width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 8px 30px #2d2b241f}.canvas-surface{background-color:#e3e1db;background-image:linear-gradient(45deg,#dad8d2 25%,#0000 25%),linear-gradient(-45deg,#dad8d2 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#dad8d2 75%),linear-gradient(-45deg,#0000 75%,#dad8d2 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;min-width:0;min-height:0;position:relative;overflow:hidden}.viewer-single>.canvas-surface{width:100%;height:100%}.canvas-surface canvas{cursor:grab;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.canvas-surface canvas:active{cursor:grabbing}.canvas-label{z-index:2;color:#fff;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;background:#173654e6;border-radius:2px;padding:5px 8px;font-size:9px;font-weight:750;position:absolute;top:12px;left:12px}.canvas-surface--b .canvas-label{background:#e0664df0}.viewer-empty{color:#666;background:#dedcd6;place-items:center;width:100%;height:100%;font-size:12px;display:grid}.split-divider{z-index:5;cursor:ew-resize;touch-action:none;width:34px;margin-left:-17px;position:absolute;top:0;bottom:0}.split-divider__line{background:#fff;width:2px;position:absolute;top:0;bottom:0;left:16px;box-shadow:0 0 0 1px #1b35324d}.split-divider__handle{width:34px;height:48px;color:var(--teal);background:#fff;border-radius:18px;justify-content:center;align-items:center;gap:4px;margin-top:-24px;display:flex;position:absolute;top:50%;left:0;box-shadow:0 3px 15px #1a2a2740}.split-divider__handle i{border-left:1px solid var(--teal);height:15px}.split-side-label{z-index:4;color:#fff;border-radius:2px;place-items:center;width:24px;height:24px;font-size:10px;font-weight:800;display:grid;position:absolute;top:12px}.split-side-label--a{background:var(--navy);left:12px}.split-side-label--b{background:var(--coral);right:12px}.analysis-progress,.analysis-error{z-index:8;color:#fff;background:#1c2523e6;border:1px solid #ffffff8c;border-radius:4px;align-items:center;gap:12px;padding:14px 18px;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 12px 35px #14191733}.analysis-progress span:last-child{flex-direction:column;gap:3px;display:flex}.analysis-progress strong{font-size:11px}.analysis-progress small{opacity:.68;font-size:9px}.analysis-progress__ring{border:2px solid #ffffff40;border-top-color:#fff;border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}.analysis-error{color:#fff;background:#893026eb;font-size:11px}@keyframes spin{to{transform:rotate(360deg)}}.viewer-footer{border-top:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:0 16px;display:flex}.view-description{align-items:center;gap:9px;min-width:0;display:flex}.view-description>svg{color:var(--teal)}.view-description>span:not(.analysis-scale){flex-direction:column;gap:2px;display:flex}.view-description strong{font-size:10px}.view-description small{color:var(--muted);font-size:9px}.analysis-scale{color:#986131;text-transform:uppercase;letter-spacing:.05em;background:#f7e8ce;padding:3px 6px;font-size:8px;font-weight:700}.zoom-controls{align-items:center;display:flex}.zoom-controls button{color:#606864;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:3px;min-width:30px;height:30px;display:inline-flex}.zoom-controls button:hover{color:var(--teal);background:#edeee9}.zoom-controls output{width:50px;color:var(--ink);text-align:center;font-variant-numeric:tabular-nums;font-size:10px}.zoom-controls .actual-size{width:auto;padding:0 7px;font-size:9px}.control-divider{border-left:1px solid var(--line);height:18px;margin:0 5px}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (width<=900px){body{overflow:auto}.app-shell{height:auto;min-height:100vh}.workspace{grid-template-rows:auto minmax(620px,calc(100vh - 64px));grid-template-columns:1fr}.source-panel{border-right:0;border-bottom:1px solid var(--line);padding:18px;overflow:visible}.panel-heading,.panel-intro{max-width:600px}.upload-list{grid-template-columns:1fr 26px 1fr;align-items:end;display:grid}.flow-connector{justify-content:center;height:86px;padding:0}.flow-connector span{border-top:1px dashed #c4c3bd;border-left:0;width:100%;height:auto}.flow-connector svg{margin:0 0 0 -19px;transform:none}.local-processing{display:none}.comparison-panel{min-height:620px}}@media (width<=620px){.app-header{flex-basis:58px;height:58px;padding:0 14px}.brand small,.privacy-note small{display:none}.workspace{grid-template-rows:auto 650px}.upload-list{display:flex}.flow-connector{justify-content:flex-start;height:24px;padding-left:10px}.flow-connector span{border-top:0;border-left:1px dashed #c4c3bd;width:auto;height:100%}.flow-connector svg{margin:0 0 0 -6.5px;transform:rotate(90deg)}.mode-bar{flex-direction:column;align-items:stretch;gap:8px}.mode-tabs{grid-template-columns:repeat(4,1fr);display:grid}.mode-tabs button{justify-content:center;padding:0 6px}.mode-tabs button span{display:none}.context-control{min-width:0}.slider-control{grid-template-columns:auto minmax(80px,1fr) 38px}.viewer-wrap{padding:8px}.viewer-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.view-description small{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
