:root{--bg-primary:#fff;--bg-secondary:#f6f6f4;--bg-card:#fff;--bg-card-hover:#fafaf8;--bg-inset:#f2f2ef;--glass-border:#e3e3de;--glass-border-hover:#c9c9c2;--text-primary:#1a1c1e;--text-secondary:#4b5157;--text-muted:#71767c;--accent:#0e6e5c;--accent-hover:#0a5847;--accent-dim:#0e6e5c1a;--accent-orange:var(--accent);--accent-orange-dim:var(--accent-dim);--accent-green:#1a7f4b;--accent-green-dim:#1a7f4b1a;--accent-red:#b3372c;--accent-red-dim:#b3372c1a;--accent-blue:#2b5f9e;--accent-blue-dim:#2b5f9e1a;--glow-orange:none;--glow-green:none;--glow-red:none;--glow-blue:none;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:10px;--shadow-sm:0 1px 2px #1a1c1e0f;--shadow-md:0 2px 8px #1a1c1e14;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--transition-fast:.15s ease;--transition-base:.25s ease;--transition-slow:.4s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}h1,h2,h3,h4{letter-spacing:-.01em;font-weight:600;line-height:1.25}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.btn{border-radius:var(--radius-md);font:600 .9rem var(--font-sans);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast);border:1px solid #0000;align-items:center;gap:8px;padding:10px 20px;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn--primary{background:var(--accent);color:#fff}.btn--primary:hover{background:var(--accent-hover)}.btn--secondary,.btn--outline{background:var(--bg-card);color:var(--text-primary);border-color:var(--glass-border-hover)}.btn--secondary:hover,.btn--outline:hover{border-color:var(--accent);color:var(--accent)}.btn--ghost{color:var(--text-secondary);background:0 0}.btn--ghost:hover{color:var(--text-primary);background:var(--bg-inset)}.btn--sm{padding:6px 14px;font-size:.82rem}.btn--lg{padding:14px 28px;font-size:1rem}.btn--glow{box-shadow:none}.prose{max-width:68ch;color:var(--text-primary);font-size:1.0625rem;line-height:1.65}.prose h2{margin:2.2em 0 .6em;font-size:1.5rem}.prose h3{margin:1.8em 0 .5em;font-size:1.2rem}.prose p{margin:0 0 1em}.prose ul,.prose ol{margin:0 0 1em;padding-left:1.4em}.prose li{margin-bottom:.4em}.prose table{border-collapse:collapse;width:100%;margin:1em 0 1.5em;font-size:.95rem}.prose th,.prose td{text-align:left;border:1px solid var(--glass-border);vertical-align:top;padding:8px 12px}.prose th{background:var(--bg-inset);font-weight:600}.prose .table-scroll{overflow-x:auto}.prose strong{font-weight:600}.prose details{border:1px solid var(--glass-border);border-radius:var(--radius-md);margin-bottom:8px}.prose details summary{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;font-weight:600;list-style:none;display:flex}.prose details summary:after{content:"+";color:var(--text-muted);font-size:1.2rem;font-weight:400}.prose details[open] summary:after{content:"−"}.prose details summary::-webkit-details-marker{display:none}.prose details div{color:var(--text-secondary);padding:0 18px 14px;font-size:.95rem}.prose .sources{color:var(--text-muted);border-top:1px solid var(--glass-border);margin-top:32px;padding-top:16px;font-size:.85rem}.prose .sources ul{padding-left:1.2em}.disclaimer{background:var(--bg-inset);border:1px solid var(--glass-border);border-left:3px solid var(--accent);border-radius:var(--radius-sm);color:var(--text-secondary);margin:20px 0;padding:12px 16px;font-size:.85rem}.report-warning{border-radius:var(--radius-sm);color:#6b5321;background:#fdf6ec;border:1px solid #ecd9b0;margin-top:12px;padding:10px 14px;font-size:.85rem}.nav{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--glass-border);background:#fffffff0;padding:0 24px;position:fixed;top:0;left:0;right:0}.nav__inner{justify-content:space-between;align-items:center;max-width:1140px;height:60px;margin:0 auto;display:flex}.nav__brand{color:inherit;text-decoration:none}.nav__brand:hover{text-decoration:none}.nav__logo{letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.nav__logo--accent{color:var(--accent)}.nav__links{gap:28px;display:flex}.nav__link{color:var(--text-secondary);transition:color var(--transition-fast);font-size:.88rem;font-weight:500;text-decoration:none}.nav__link:hover{color:var(--text-primary);text-decoration:none}.nav__cta{background:var(--accent);color:#fff;border-radius:var(--radius-md);font:600 .85rem var(--font-sans);transition:background var(--transition-fast);align-items:center;padding:8px 18px;text-decoration:none;display:inline-flex}.nav__cta:hover{background:var(--accent-hover);text-decoration:none}.nav__burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.nav__burger span{background:var(--text-secondary);border-radius:2px;width:22px;height:2px;display:block}.tool-guide{border-top:1px solid var(--glass-border);max-width:800px;margin:64px auto 0;padding:40px 20px 0}.tool-guide .prose{max-width:none}.tool-guide .prose h2:first-child{margin-top:0}.site-footer{border-top:1px solid var(--glass-border);background:var(--bg-secondary);margin-top:64px}.site-footer__inner{flex-wrap:wrap;justify-content:space-between;gap:40px;max-width:1140px;margin:0 auto;padding:40px 24px;display:flex}.site-footer__brand{max-width:300px}.site-footer__logo{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:8px;font-size:1.15rem;font-weight:700;display:block}.site-footer__logo span{color:var(--accent)}.site-footer__tagline{color:var(--text-muted);font-size:.85rem;line-height:1.5}.site-footer__cols{flex-wrap:wrap;gap:56px;display:flex}.site-footer__col{flex-direction:column;gap:8px;display:flex}.site-footer__col h4{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin-bottom:4px;font-size:.75rem;font-weight:600}.site-footer__col a{color:var(--text-secondary);font-size:.85rem}.site-footer__col a:hover{color:var(--accent)}.site-footer__bottom{border-top:1px solid var(--glass-border);max-width:1140px;color:var(--text-muted);flex-direction:column;gap:6px;margin:0 auto;padding:16px 24px 24px;font-size:.78rem;display:flex}.site-footer__bottom a{color:var(--text-secondary)}@media (width<=768px){.site-footer__inner{flex-direction:column;gap:28px}.site-footer__cols{gap:32px}}body{min-height:100dvh}.tool-app{max-width:1100px;margin:0 auto;padding:0 20px 40px}.tool-header{border-bottom:1px solid var(--glass-border);justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;padding:16px 0;display:flex}.tool-header__brand{color:inherit;align-items:center;gap:12px;text-decoration:none;display:flex}.tool-header__brand:hover{text-decoration:none}.tool-header__logo{letter-spacing:-.02em;font-size:1.2rem;font-weight:700}.tool-header__logo span{color:var(--accent)}.tool-header__sep{color:var(--text-muted);font-size:.9rem}.tool-header__name{color:var(--text-secondary);font-size:.92rem;font-weight:600}.tool-header__actions{gap:8px;display:flex}.tool-header__back{background:var(--bg-card);border:1px solid var(--glass-border);color:var(--text-secondary);border-radius:var(--radius-md);font:500 .82rem var(--font-sans);transition:color var(--transition-fast), border-color var(--transition-fast);align-items:center;gap:6px;padding:8px 14px;text-decoration:none;display:inline-flex}.tool-header__back:hover{color:var(--text-primary);border-color:var(--glass-border-hover);text-decoration:none}.btn--disabled{opacity:.5;pointer-events:none}.mobile-only{display:none}@media (width<=768px){.mobile-only{display:inline-flex}}.view{animation:.4s ease-out viewIn;display:none}.view--active{display:block}@keyframes viewIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.upload-zone{background:var(--bg-card);border:2px dashed var(--glass-border-hover);border-radius:var(--radius-xl);text-align:center;cursor:pointer;max-width:640px;transition:border-color var(--transition-base), background var(--transition-base);margin:5vh auto 0;padding:52px 40px;position:relative}.upload-zone:hover,.upload-zone--dragover{border-color:var(--accent);background:var(--bg-card-hover)}.upload-zone__icon{color:var(--accent);margin:0 auto 20px}.upload-zone__title{margin-bottom:8px;font-size:1.4rem;font-weight:600}.upload-zone__desc{color:var(--text-secondary);margin-bottom:26px;font-size:.95rem;line-height:1.55}.upload-zone__desc strong{color:var(--text-primary)}.upload-zone__actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:18px;display:flex}.upload-zone__hint{color:var(--text-muted);font-size:.8rem}.upload-zone__trust{border-top:1px solid var(--glass-border);color:var(--text-muted);justify-content:center;align-items:center;gap:6px;margin-top:16px;padding-top:16px;font-size:.75rem;display:flex}.upload-zone__trust svg{color:var(--accent-green);flex-shrink:0}.processing-card{text-align:center;background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-xl);max-width:440px;margin:12vh auto 0;padding:44px 40px}.processing-spinner{width:72px;height:72px;margin:0 auto 28px;position:relative}.processing-spinner__ring{border:2px solid var(--bg-inset);border-top-color:var(--accent);border-radius:50%;animation:1s linear infinite spin;position:absolute;inset:0}.processing-spinner__ring:nth-child(2),.processing-spinner__ring:nth-child(3){display:none}.processing-spinner__icon{color:var(--text-secondary);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes spin{to{transform:rotate(360deg)}}.processing-card__title{margin-bottom:8px;font-size:1.25rem;font-weight:600}.processing-card__status{color:var(--accent);margin-bottom:22px;font-size:.9rem;font-weight:500}.processing-progress{background:var(--bg-inset);border-radius:4px;width:100%;height:4px;overflow:hidden}.processing-progress__bar{background:var(--accent);border-radius:4px;width:0%;height:100%;transition:width .3s}.processing-card__detail{color:var(--text-muted);margin-top:18px;font-size:.82rem}.summary-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:20px;display:grid}.summary-card{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);align-items:center;gap:12px;padding:16px;animation:.4s ease-out both cardIn;display:flex}@keyframes cardIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.summary-card__icon{border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.summary-card__body{min-width:0}.summary-card__label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:2px;font-size:.72rem;font-weight:600;display:block}.summary-card__value{font-size:1.15rem;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.table-container{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-lg);max-height:65vh;overflow:hidden auto}.results-table{border-collapse:collapse;width:100%}.results-table thead{z-index:2;background:var(--bg-inset);position:sticky;top:0}.results-table th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);border-bottom:1px solid var(--glass-border);white-space:nowrap;padding:12px 16px;font-size:.75rem;font-weight:600}.results-table tbody tr{border-bottom:1px solid var(--bg-inset);transition:background var(--transition-fast)}.results-table tbody tr:hover{background:var(--bg-card-hover)}.results-table td{vertical-align:middle;padding:11px 16px;font-size:.88rem}.td-mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500}.td-green{color:var(--accent-green)}.td-red{color:var(--accent-red)}.td-blue{color:var(--accent-blue)}.td-right{text-align:right}.td-muted{color:var(--text-secondary);font-size:.82rem}.category-badge{text-transform:capitalize;background:var(--bg-inset);color:var(--text-secondary);border-radius:12px;padding:3px 10px;font-size:.72rem;font-weight:600;display:inline-block}.confidence-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.confidence-dot--high{background:var(--accent-green)}.confidence-dot--medium{background:#b98a17}.confidence-dot--low{background:var(--accent-red)}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px;display:flex}.toolbar__actions{gap:8px;margin-left:auto;display:flex}.toast-container{z-index:1000;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:24px;right:24px}.toast{background:var(--bg-card);border:1px solid var(--glass-border);border-radius:var(--radius-md);min-width:280px;max-width:380px;color:var(--text-primary);box-shadow:var(--shadow-md);align-items:center;gap:10px;padding:14px 20px;font-size:.88rem;animation:.3s ease-out toastIn;display:flex}.toast--success{border-left:3px solid var(--accent-green)}.toast--error{border-left:3px solid var(--accent-red)}.toast--info{border-left:3px solid var(--accent-blue)}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.toast--out{animation:.3s ease-in forwards toastOut}@keyframes toastOut{to{opacity:0;transform:translate(20px)}}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state__icon{opacity:.5;margin-bottom:16px}.empty-state__title{color:var(--text-secondary);margin-bottom:8px;font-size:1.1rem;font-weight:600}.empty-state__desc{max-width:400px;margin:0 auto;font-size:.88rem}@media (width<=768px){.tool-app{padding:0 12px 24px}.tool-header__name{display:none}.upload-zone{margin-top:4vh;padding:40px 24px}.upload-zone__title{font-size:1.2rem}.toolbar{flex-direction:column;align-items:stretch}.toolbar__actions{justify-content:stretch}.toolbar__actions .btn{flex:1;justify-content:center}.results-table td{padding:10px 8px;font-size:.8rem}.results-table th{padding:10px 8px;font-size:.68rem}.table-container{overflow-x:auto}.toast-container{bottom:12px;left:12px;right:12px}.toast{min-width:unset;max-width:unset}}
