:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{margin:0;display:flex;place-items:center;justify-content:center;min-width:280px;min-height:100vh;min-height:100dvh;overflow-x:hidden}#root{width:100%;min-height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:stretch}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.app{--bg: #0f0f12;--surface: #18181c;--border: #2a2a30;--text: #e8e8ec;--text-muted: #888899;--primary: #5b8def;--primary-hover: #7aa3f5;--primary-contrast: #fff;--success: #34c77b;--warning: #e6b84a;--danger: #e85a5a;--radius: 12px;--font: "DM Sans", system-ui, sans-serif;color-scheme:dark}.app[data-theme=light]{--bg: #f4f4f8;--surface: #ffffff;--border: #e0e0e8;--text: #1a1a24;--text-muted: #5c5c6d;--primary: #3568d4;--primary-hover: #4a7ae0;--primary-contrast: #fff;--success: #2a9d5e;--warning: #c49a2a;--danger: #c94a4a;color-scheme:light}.app{width:100%;min-width:280px;min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font);overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}.header{padding:clamp(.75rem,2vw,1.25rem) clamp(.75rem,4vw,1rem) clamp(1rem,2vw,1.5rem);padding-top:max(clamp(.75rem,2vw,1.25rem),env(safe-area-inset-top));border-bottom:1px solid var(--border);background:var(--surface)}.app[data-theme=light] .header{background:#fff}.header-inner{max-width:900px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}.header-logo{height:40px;width:auto;flex-shrink:0}.header-titles{flex:1;min-width:200px}.header h1{font-size:clamp(1.25rem,4vw + 1rem,1.75rem);font-weight:600;margin:0 0 .25rem;letter-spacing:-.02em;word-wrap:break-word}.header .subtitle{margin:0;color:var(--text-muted);font-size:clamp(.8rem,2vw + .5rem,.95rem)}.header-controls{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.lang-switch{display:inline-flex;border-radius:var(--radius);border:1px solid var(--border);overflow:hidden;background:var(--surface)}.lang-btn{padding:.4rem .75rem;min-height:44px;font-size:.85rem;font-weight:600;font-family:inherit;border:none;background:var(--surface);color:var(--text-muted);cursor:pointer;transition:background .2s,color .2s}.lang-btn:hover{color:var(--text);background:var(--border)}.lang-btn.active{background:var(--primary);color:var(--primary-contrast)}.lang-btn:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-width:44px;min-height:44px;padding:.5rem .9rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:.9rem;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s,transform .1s;flex-shrink:0}.theme-toggle:hover{background:var(--border);border-color:var(--text-muted)}.theme-toggle:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.theme-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}.theme-icon svg{width:1.25rem;height:1.25rem;flex-shrink:0}.theme-label{font-weight:500}@media(max-width:500px){.theme-label{display:none}}.main{width:100%;max-width:900px;margin:0 auto;padding:clamp(1rem,4vw,2rem) clamp(.75rem,4vw,1rem) clamp(2rem,8vw,4rem)}.uploads{display:flex;align-items:stretch;gap:1rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.5rem}.upload-card{flex:1 1 200px;min-width:0;width:100%;max-width:280px}.upload-label{display:block;font-size:.8rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.upload-zone{display:flex;align-items:center;justify-content:center;position:relative;width:100%;height:120px;border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden}.upload-zone:hover{border-color:var(--primary);background:#5b8def0f}.upload-input{position:absolute;width:0;height:0;opacity:0;pointer-events:none}.placeholder,.file-name{padding:.75rem;text-align:center;color:var(--text-muted);font-size:.85rem}.file-name{word-break:break-all}.thumbnail{width:100%;height:100%;max-width:100%;max-height:120px;object-fit:contain;display:block}.vs-badge{display:flex;align-items:center;justify-content:center;width:44px;font-size:.75rem;font-weight:700;color:var(--text-muted);letter-spacing:.1em}.actions-row{display:flex;justify-content:center;margin-bottom:2rem}.actions-row .btn-primary{min-height:52px;padding:1rem 2.25rem;font-size:1.25rem;font-weight:600;border-radius:var(--radius)}.btn{min-height:44px;padding:.75rem clamp(1rem,4vw,1.5rem);border-radius:8px;font-size:clamp(.9rem,2vw + .5rem,1rem);font-weight:500;font-family:inherit;cursor:pointer;border:none;transition:background .2s,transform .1s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-hover)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{filter:brightness(1.1)}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-text{background:transparent;color:var(--text-muted);font-size:.85rem}.btn-text:hover{color:var(--text)}.btn-retry{background:transparent;color:var(--primary);border:1px solid var(--primary)}.btn-retry:hover:not(:disabled){background:#5b8def1f}.result-section{margin-top:1rem;padding:clamp(1rem,3vw,1.5rem);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);overflow-x:auto}.result-card{text-align:center;padding:clamp(1rem,3vw,1.5rem);border-radius:var(--radius);margin-bottom:1.25rem}.result-card.decision-match{background:#34c77b1f;border:1px solid rgba(52,199,123,.35)}.result-card.decision-no_match{background:#e85a5a1f;border:1px solid rgba(232,90,90,.35)}.result-card.decision-review{background:#e6b84a1a;border:1px solid rgba(230,184,74,.3)}.result-card.decision-possible_match{background:#5b8def1f;border:1px solid rgba(91,141,239,.35)}.result-score{font-size:clamp(1.75rem,6vw,2.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.2}.result-card.decision-match .result-score{color:var(--success)}.result-card.decision-no_match .result-score{color:var(--danger)}.result-card.decision-review .result-score{color:var(--warning)}.result-card.decision-possible_match .result-score{color:var(--primary)}.result-decision{font-size:1.1rem;font-weight:600;margin-top:.35rem;text-transform:uppercase;letter-spacing:.05em}.result-threshold{font-size:.85rem;color:var(--text-muted);margin-top:.25rem}.result-message{margin:.75rem 0 0;color:var(--text-muted);font-size:.9rem;line-height:1.4}.result-error{margin:.75rem 0 0;color:var(--danger);font-size:.9rem}.result-error-hint{margin:.5rem 0 0;color:var(--text-muted);font-size:.85rem}.result-error-hint code{background:var(--border);padding:.15rem .4rem;border-radius:4px;font-size:.8em}.history-section{margin-top:1.5rem;padding:clamp(1rem,3vw,1.5rem);border-radius:var(--radius);background:var(--surface);border:1px solid var(--border)}.history-title{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--text)}.history-list{list-style:none;margin:0;padding:0}.history-item{margin:0 0 .35rem;padding:0;list-style:none}.history-item-btn{width:100%;display:flex;align-items:center;gap:.5rem;text-align:left;padding:.65rem .85rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:.9rem;cursor:pointer;transition:background .2s,border-color .2s}.history-item-btn:hover{background:var(--border);border-color:var(--text-muted)}.history-item-content{flex:1;min-width:0}.history-item-actions{flex-shrink:0;display:flex;align-items:center;gap:.25rem}.history-item-icon{width:1.75rem;height:1.75rem;padding:0;border:none;border-radius:4px;background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .15s,background .15s}.history-item-icon:hover:not(:disabled){color:var(--text);background:#00000014}.history-item-icon:disabled{opacity:.4;cursor:not-allowed}.history-item-icon-delete:hover:not(:disabled){color:#c44;background:#c844441f}.history-item-files{display:block;font-weight:500;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-item-meta{display:block;font-size:.8rem;color:var(--text-muted);margin-top:.2rem}.history-empty{margin:0;color:var(--text-muted);font-size:.9rem}.result-actions{display:flex;gap:.75rem;justify-content:center;flex-wrap:wrap}.action-message{text-align:center;margin-top:1rem;color:var(--success);font-size:.95rem}@media(max-width:359px){.header-inner{flex-direction:column;align-items:stretch;text-align:center}.header-titles{min-width:0}.header-controls{justify-content:center}.theme-toggle{align-self:center}.upload-card{max-width:100%}.result-actions{flex-direction:column}.result-actions .btn{width:100%}}@media(max-width:600px){.uploads{flex-direction:column;align-items:stretch}.upload-card{max-width:100%}.vs-badge{width:100%;height:24px;min-height:24px}.actions-row .btn-primary{width:100%;max-width:100%}}@media(min-width:601px){.uploads{justify-content:center}}@media(max-width:380px){.placeholder,.file-name{font-size:.8rem}}
