:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#192231;background:#f4f6f8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--color-canvas: #f4f6f8;--color-surface: #ffffff;--color-surface-soft: #f9fafb;--color-text: #192231;--color-muted: #5f6b7a;--color-border: #d9e0e8;--color-border-strong: #b9c5d3;--color-primary: #0f766e;--color-primary-dark: #115e59;--color-primary-soft: #e7f8f5;--color-blue: #2563eb;--color-violet: #7c3aed;--color-red: #c2410c;--color-amber: #b45309;--shadow-card: 0 .625rem 1.75rem rgba(25, 34, 49, .07);--radius-sm: .375rem;--radius-md: .5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--container: 74rem;--container-wide: 96rem}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;margin:0;overflow-x:hidden;background:var(--color-canvas)}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}h1,h2,p{margin:0}h1{max-width:18ch;color:var(--color-text);font-size:clamp(1.85rem,1.35rem + 1.65vw,3.1rem);line-height:1.06;letter-spacing:0}h2{color:var(--color-text);font-size:clamp(1.35rem,1.12rem + .8vw,1.85rem);line-height:1.18}button:focus-visible,a:focus-visible,input:focus-visible,.drop-zone:focus-within{outline:3px solid rgba(15,118,110,.34);outline-offset:3px}.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}.skip-link{position:fixed;top:var(--space-3);left:var(--space-3);z-index:50;transform:translateY(-150%);border-radius:var(--radius-md);background:var(--color-text);color:#fff;padding:var(--space-3) var(--space-4);font-weight:850;text-decoration:none;transition:transform .16s ease}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh;padding:clamp(.75rem,2.4vw,2rem);background:linear-gradient(90deg,rgba(15,118,110,.08),transparent 22rem),linear-gradient(180deg,#ffffffd9,#f4f6f800),var(--color-canvas)}.workspace{width:min(var(--container),100%);margin:0 auto}.help-button,.github-link,.data-folder-bar button,.icon-button{min-height:2.75rem;border-radius:var(--radius-md)}.hero{display:grid;gap:var(--space-4);margin-bottom:var(--space-4);padding:var(--space-2) 0 var(--space-3)}.hero-copy{max-width:50rem}.eyebrow,.section-kicker{display:block;margin:0 0 var(--space-2);color:var(--color-muted);font-size:clamp(.72rem,.66rem + .2vw,.8rem);font-weight:850;letter-spacing:0;text-transform:uppercase}.hero-actions,.actions{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.help-button,.github-link,.data-folder-bar button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:0 var(--space-4);font-weight:850;white-space:nowrap}.help-button,.data-folder-bar button{border:1px solid var(--color-primary-dark);background:var(--color-primary-dark);color:#fff}.help-button:hover,.data-folder-bar button:hover{background:var(--color-primary)}.github-link{border:1px solid var(--color-border);background:#fff;color:#263247;text-decoration:none}.data-folder-bar,.privacy-bar,.drop-zone,.notice,.metric,.insight-strip,.results-panel{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fffffff7;box-shadow:var(--shadow-card)}.data-folder-bar,.privacy-bar{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);border-left:.25rem solid var(--color-primary);padding:var(--space-4)}.data-folder-bar{flex-direction:column}.data-folder-bar strong,.data-folder-bar span,.privacy-bar strong,.privacy-bar span{display:block}.data-folder-bar strong,.privacy-bar strong{color:var(--color-text);font-size:1rem}.data-folder-bar span,.privacy-bar span{margin-top:var(--space-1);color:var(--color-muted);line-height:1.5}.privacy-bar svg{flex:0 0 auto;color:var(--color-primary)}.upload-grid,.summary-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3)}.drop-zone{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--space-3);min-height:8rem;padding:var(--space-4);transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease}.drop-zone:after{content:"";position:absolute;inset:auto var(--space-4) 0;height:.1875rem;border-radius:999px 999px 0 0;background:transparent;transition:background .16s ease}.drop-zone:hover{border-color:var(--color-primary);box-shadow:0 1rem 2.5rem #0f766e1f;transform:translateY(-1px)}.drop-zone:hover:after,.drop-zone:focus-within:after{background:var(--color-primary)}.drop-icon,.icon-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:2.75rem;height:2.75rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-primary-dark)}.drop-copy{min-width:0}.drop-copy strong,.drop-copy small{display:block}.drop-copy strong{color:var(--color-text);font-size:clamp(1rem,.95rem + .2vw,1.1rem)}.drop-copy small{overflow:hidden;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap}.drop-action{display:inline-flex;grid-column:1 / -1;align-items:center;justify-content:center;gap:var(--space-2);min-height:2.5rem;border-radius:var(--radius-md);background:#182433;color:#fff;padding:0 var(--space-3);font-size:.9rem;font-weight:850;white-space:nowrap}.drop-action svg{flex:0 0 auto}.drop-action .lucide-loader-2{animation:spin .9s linear infinite}.notice{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3) var(--space-4);color:var(--color-muted);font-weight:760;line-height:1.45}.notice svg{flex:0 0 auto;margin-top:.12rem}.notice.success{color:#17685f}.notice.error{color:#b42338}.summary-grid{margin-top:var(--space-3)}.metric{display:flex;min-height:6.5rem;justify-content:space-between;gap:var(--space-3);padding:var(--space-4)}.metric span{display:block;color:var(--color-muted);font-size:.9rem;font-weight:850}.metric strong{display:block;margin-top:var(--space-2);color:var(--color-text);font-size:clamp(1.8rem,1.55rem + .8vw,2.25rem);line-height:1}.metric.green svg{color:var(--color-primary)}.metric.blue svg{color:var(--color-blue)}.metric.violet svg{color:var(--color-violet)}.metric.red svg{color:var(--color-red)}.insight-strip,.results-panel{margin-top:var(--space-3)}.insight-strip{padding:var(--space-4)}.insight-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.insight-heading strong{display:block;color:var(--color-text);font-size:clamp(2rem,1.6rem + 1.2vw,2.6rem);line-height:1}.insight-heading svg{color:var(--color-primary)}.progress-track{height:.75rem;margin:var(--space-4) 0 var(--space-3);overflow:hidden;border-radius:999px;background:#e7ecf1}.progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-amber));transition:width .24s ease}.insight-strip p,.result-meta p{color:var(--color-muted);line-height:1.55}.results-panel{padding:var(--space-4);border-color:var(--color-border-strong)}.panel-head,.actions,.tabs,.search-row,.result-meta,.user-list li{display:flex;align-items:center}.panel-head{flex-direction:column;align-items:stretch;gap:var(--space-4)}.actions{display:grid;grid-template-columns:repeat(4,2.75rem);gap:var(--space-2)}.icon-button{padding:0}.icon-button:hover{border-color:var(--color-primary);color:var(--color-primary)}.icon-button.danger{color:var(--color-red)}.tabs{align-items:stretch;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4);border-radius:var(--radius-md);background:#eef3f7;padding:var(--space-1)}.tab{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-2);width:100%;min-height:2.9rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background:transparent;color:#465366;padding:0 var(--space-3);font-weight:850;white-space:nowrap}.tab span{min-width:0;overflow:hidden;text-overflow:ellipsis}.tab strong{min-width:1.75rem;border-radius:999px;background:#eef2f6;color:#263247;padding:.2rem var(--space-2);font-size:.78rem;text-align:center}.tab.active{border-color:#fff;background:#fff;color:var(--color-text);box-shadow:0 .5rem 1.25rem #19223114}.tab.active strong{background:var(--color-primary-soft);color:var(--color-primary-dark)}.search-row{gap:var(--space-2);min-height:3rem;margin-top:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;color:var(--color-muted);padding:0 var(--space-3)}.search-row input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--color-text)}.result-meta{align-items:flex-start;justify-content:space-between;flex-direction:column;gap:var(--space-2);margin:var(--space-4) 0}.result-meta span{color:#263247;font-size:.9rem;font-weight:850;white-space:nowrap}.user-list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);max-height:min(34rem,70vh);margin:0;padding:0;overflow:auto;list-style:none;overscroll-behavior:contain}.user-list li{min-height:3rem;gap:var(--space-2);border:1px solid #edf1f5;border-radius:var(--radius-md);background:var(--color-surface-soft);padding:0 var(--space-3)}.user-list li svg{flex:0 0 auto;color:#7a8698}.user-list span{min-width:0;flex:1;overflow:hidden;color:#1f2937;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.user-list a{flex:0 0 auto;color:var(--color-primary-dark);font-size:.88rem;font-weight:850;text-decoration:none}.user-list a:hover{text-decoration:underline}.empty-state{display:grid;min-height:14rem;place-items:center;align-content:center;gap:var(--space-3);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);color:var(--color-muted);padding:var(--space-5);text-align:center}.empty-state p{max-width:19rem;line-height:1.5}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;background:#0f172a85;padding:var(--space-4)}.guide-modal{width:min(42.5rem,100%);max-height:min(47.5rem,calc(100vh - 2rem));overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;box-shadow:0 1.75rem 5rem #0f172a47;padding:var(--space-5)}.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.guide-steps{display:grid;gap:var(--space-2);margin:var(--space-5) 0 0;padding-left:var(--space-6);color:#344054;line-height:1.55}.guide-steps li::marker{color:var(--color-primary-dark);font-weight:850}.modal-note{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-5);border-radius:var(--radius-md);background:var(--color-primary-soft);color:#17685f;padding:var(--space-3) var(--space-4)}.modal-note svg{flex:0 0 auto;margin-top:.12rem}.modal-note p{line-height:1.5}.app-footer{max-width:44rem;margin:var(--space-5) auto 0;color:var(--color-muted);font-size:.92rem;line-height:1.55;text-align:center}.app-footer strong{color:var(--color-text)}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(min-width:480px){.hero-actions{flex-wrap:nowrap}.data-folder-bar{flex-direction:row;align-items:center;justify-content:space-between}.drop-zone{grid-template-columns:auto minmax(0,1fr) auto}.drop-action{grid-column:auto}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:768px){.hero{grid-template-columns:minmax(0,1fr) auto;align-items:end}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.panel-head,.result-meta{flex-direction:row;align-items:center}.actions{display:flex;flex:0 0 auto}.tabs{flex-direction:row;overflow-x:auto;padding-bottom:var(--space-1)}.tab{width:auto}.user-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.results-panel{padding:var(--space-5)}.user-list{max-height:32.5rem}}@media(min-width:1440px){.workspace{width:min(var(--container-wide),100%)}.hero{margin-bottom:var(--space-6)}.upload-grid,.summary-grid,.insight-strip,.results-panel{gap:var(--space-4)}.results-panel{padding:var(--space-6)}}@media(min-width:1920px){.app-shell{padding-inline:max(2rem,8vw)}.workspace{max-width:var(--container-wide)}.user-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
