:root{color:#172c3c;font-synthesis:none;--text:#172c3c;--muted:#4e6475;--line:#dce5ed;--blue:#0869c4;--teal:#007e73;background:#f5f8fb;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:18px;line-height:1.55}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,summary{cursor:pointer}button{color:inherit}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline-offset:4px;outline:3px solid #087acb}main:focus{outline:none}a{color:var(--blue);text-underline-offset:3px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.25}svg{flex-shrink:0}.app-shell{flex-direction:column;min-height:100vh;display:flex}.sr-only,.skip-link:not(:focus){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link:focus{z-index:100;background:#fff;padding:12px;position:fixed;top:12px;left:12px}.site-header{border-bottom:1px solid var(--line);background:#fff}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1280px;margin:auto;padding:22px 36px;display:flex}.app-brand{color:var(--text);letter-spacing:-.5px;align-items:center;gap:13px;font-size:22px;font-weight:750;text-decoration:none;display:flex}.app-brand small{color:var(--muted);letter-spacing:0;margin-top:3px;font-size:15px;font-weight:400;display:block}.app-mark{color:#fff;background:linear-gradient(135deg,#167bf2,#008b81);border-radius:12px;place-items:center;width:43px;height:43px;display:grid}.language-control{color:var(--muted);align-items:center;gap:10px;font-size:16px;display:flex}select,input{color:var(--text);background:#fff;border:1px solid #b8c9d6;border-radius:8px;min-width:0;padding:10px 12px}select{max-width:100%}input::placeholder{color:#596e7d;opacity:1}.button{border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:17px;font-weight:650;line-height:1.4;text-decoration:none;display:inline-flex}.button.primary{background:var(--blue);color:#fff;box-shadow:0 3px 8px #0869c415}.button.primary:hover:not(:disabled){background:#0059ab}.button.secondary{background:#fff;border-color:#bdceda}.button.secondary:hover:not(:disabled){background:#edf5fb}.button.large{min-height:49px;padding:13px 23px;font-size:19px}.icon-button{min-width:38px;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover:not(:disabled){color:var(--blue);background:#eaf2f8}.text-button{color:var(--blue);background:0 0;border:0;align-items:center;gap:8px;padding:8px 4px;font-size:17px;font-weight:650;display:inline-flex}.text-button:hover{text-underline-offset:4px;text-decoration:underline}.welcome{flex:1;width:min(100%,1040px);margin:0 auto;padding:54px 36px 44px}.welcome-intro{text-align:center;margin-bottom:32px}.eyebrow{color:var(--teal);background:#e4f5f0;border:1px solid #c5e9de;border-radius:30px;margin-bottom:17px;padding:5px 12px;font-size:15px;font-weight:700;display:inline-block}.welcome-intro h1{letter-spacing:-1.5px;font-size:clamp(28px,4vw,43px);font-weight:750}.welcome-intro p{color:var(--muted);max-width:620px;margin:15px auto 0;font-size:19px}.upload-zone{background:#fff;border:2px dashed #b5cddd;border-radius:16px;flex-direction:column;align-items:center;gap:11px;padding:32px 24px;display:flex}.upload-zone.dragging{border-color:var(--blue);background:#e7f6fb}.upload-icon{color:var(--blue);background:#eaf4fe;border-radius:16px;place-items:center;margin-bottom:7px;padding:17px;display:grid}.upload-zone p{color:var(--muted);font-size:17px}.upload-zone small{color:var(--muted);font-size:15px}.sample-button{color:#005c53;background:#ddf4ed;border:2px solid #007e73;padding:15px 26px;font-size:19px;box-shadow:0 4px 15px #007e7318}.sample-button:hover:not(:disabled){background:#c9eee2}.sample-action{text-align:center;margin:14px 0 30px}.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;padding:7px 0 28px;display:grid}.steps>div{border:1px solid var(--line);background:#fff;border-radius:16px;padding:25px;position:relative;box-shadow:0 5px 18px #173d5c08}.step-number{width:42px;height:42px;color:var(--teal);background:#e4f5f0;border-radius:12px;place-items:center;margin-bottom:18px;font-size:18px;font-weight:750;display:inline-grid}.steps h2{margin-bottom:8px;font-size:18px}.steps p{color:var(--muted);font-size:16px}.privacy-note{background:#edf7f3;border:1px solid #d0e8dc;border-radius:10px;align-items:flex-start;gap:13px;padding:18px 20px;display:flex}.privacy-note svg{color:#187353;margin-top:2px}.privacy-note strong{font-size:17px}.privacy-note p{color:#3e6556;margin-top:4px;font-size:16px}.workspace{flex:1;width:min(100%,1280px);margin:auto;padding:32px 36px 48px}.dataset-bar{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:25px;display:flex}.dataset-icon{color:var(--teal);background:#e2f1f2;border-radius:12px;place-items:center;padding:13px;display:grid}.dataset-name{flex:1;min-width:0}.dataset-name h1{letter-spacing:-.5px;overflow-wrap:anywhere;font-size:24px}.dataset-name p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:9px;margin-top:6px;font-size:16px;display:flex}.badge{color:#075e8e;background:#e1f0fd;border-radius:4px;padding:2px 7px;font-size:14px;font-weight:700}.sheet-control{align-items:center;gap:8px;max-width:320px;font-size:16px;display:flex}.dataset-actions{align-items:center;gap:6px;display:flex}.workspace-nav{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-bottom:28px;display:flex}.workspace-nav nav{align-self:stretch;gap:25px;display:flex}.workspace-nav nav button{color:var(--muted);background:0 0;border:0;border-bottom:3px solid #0000;padding:17px 2px;font-size:17px;font-weight:650}.workspace-nav nav button.active{color:var(--blue);border-bottom-color:var(--blue)}.export-menu{margin-bottom:9px;position:relative}.export-menu>summary{list-style:none}.export-menu>summary::-webkit-details-marker{display:none}.export-options{z-index:8;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:245px;padding:7px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 35px #173d5c20}.export-options button{text-align:left;background:0 0;border:0;border-radius:5px;width:100%;padding:11px;font-size:17px;display:block}.export-options button:hover:not(:disabled){background:#eaf4fc}.export-options hr{border:0;border-top:1px solid var(--line);margin:4px}.filter-notice{color:#135484;background:#eaf3fd;border:1px solid #c7def3;border-radius:8px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:22px;padding:8px 14px;font-size:16px;display:flex}.filter-notice .text-button{margin-left:auto}.report{padding:3px}.section-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:23px;display:flex}.section-heading h2{letter-spacing:-.6px;font-size:26px;font-weight:700}.section-heading p{color:var(--muted);margin-top:7px;font-size:17px}.section-heading .report-source{margin-top:5px;font-size:15px}.chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.chart-card{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:0;padding:23px 18px 16px;box-shadow:0 3px 9px #173d5c03}.chart-heading{justify-content:space-between;align-items:flex-start;gap:12px;padding-left:5px;display:flex}.chart-heading h3{overflow-wrap:anywhere;font-size:19px;font-weight:650}.chart-heading p{color:var(--muted);margin-top:6px;font-size:15px}.chart-actions{flex-shrink:0;display:flex}.chart-body{width:100%;height:320px;margin-top:25px;font-size:15px}.chart-note{color:#795119;background:#fff8e9;border-radius:6px;margin-top:8px;padding:10px;font-size:15px}.blank{text-align:center;color:var(--muted);padding:35px}.empty-state{text-align:center;color:var(--muted);background:#fff;border:1px dashed #b5cddd;border-radius:12px;padding:50px 20px}.empty-state p{margin:15px 0 20px}.info-message{color:#245676;background:#e9f3fb;border-radius:8px;margin-bottom:17px;padding:12px 16px;font-size:16px}.data-filters{flex-wrap:wrap;gap:12px;margin-bottom:19px;display:flex}.search-field{color:var(--muted);background:#fff;border:1px solid #b8c9d6;border-radius:8px;flex:1;align-items:center;min-width:220px;padding:0 12px;display:flex}.search-field input{background:0 0;border:0;width:100%}.data-filters>label:not(.search-field){max-width:230px}.table-wrap{border:1px solid var(--line);background:#fff;border-radius:10px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:17px}th,td{text-align:left;white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid #e4ebf1;max-width:300px;padding:14px 18px;overflow:hidden}thead th{color:#3f5669;background:#edf3f7;font-size:16px;font-weight:650}th button{text-align:left;background:0 0;border:0;gap:20px;width:100%;padding:0;font-weight:650;display:flex}th button span{color:var(--blue)}tbody th{font-weight:600}tbody tr:last-child>*{border-bottom:0}tbody tr:hover{background:#f0f7fb}.row-number{color:var(--muted);width:50px;font-size:15px}.pagination{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;margin-top:18px;font-size:16px;display:flex}.pagination>div{flex-wrap:wrap;align-items:center;gap:13px;display:flex}.quality-summary{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(3,1fr);margin-bottom:25px;display:grid}.quality-summary>div{padding:21px 25px}.quality-summary>div+div{border-left:1px solid var(--line)}.quality-summary span{color:var(--muted);font-size:17px;display:block}.quality-summary strong{letter-spacing:-1px;margin-top:7px;font-size:32px;display:block}.details-note{color:var(--muted);margin:18px 0 24px;font-size:16px}.chart-dialog{width:min(580px,100% - 32px);max-height:calc(100vh - 48px);color:var(--text);border:1px solid #cddce6;border-radius:16px;padding:28px;box-shadow:0 25px 100px #112e4a40}.chart-dialog::backdrop{background:#10283d88}.dialog-heading{justify-content:space-between;gap:16px;margin-bottom:26px;display:flex}.dialog-heading h2{font-size:26px}.dialog-heading p{color:var(--muted);margin-top:8px;font-size:17px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.chart-dialog label{flex-direction:column;gap:8px;margin-bottom:20px;font-size:17px;font-weight:600;display:flex}.chart-dialog select,.chart-dialog input{width:100%;font-weight:400}.chart-dialog fieldset{border:0;margin:2px 0 20px;padding:0}.chart-dialog legend{margin-bottom:9px;font-size:17px;font-weight:600}.chart-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.chart-types label{cursor:pointer;border:1px solid #b8c9d6;border-radius:8px;flex-direction:row;justify-content:center;align-items:center;gap:7px;margin:0;padding:12px 5px;font-size:16px;display:flex}.chart-types input{width:auto;accent-color:var(--blue)}.chart-types .selected{color:#075eab;border-color:var(--blue);background:#edf6ff}.advanced{border-top:1px solid var(--line);padding-top:16px}.advanced summary{color:var(--blue);margin-bottom:16px;font-size:17px;font-weight:650}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:25px;display:flex}.site-footer{color:#dae8f2;background:#0b1823;margin-top:auto}.footer-inner{flex-wrap:wrap;align-items:center;gap:38px;max-width:1280px;margin:auto;padding:24px 36px;display:flex}.footer-brand{text-align:center}.footer-brand img{background:#000;border-radius:6px;width:190px;height:auto;display:block}.footer-brand span{color:#c1d2df;margin-top:7px;font-size:14px;display:block}.footer-inner strong{font-size:17px}.footer-inner p,.footer-inner a{color:#c1d2df;margin-top:5px;font-size:15px}.footer-privacy{color:#9cddd1;align-items:center;gap:8px;margin-left:auto;font-size:15px;display:flex}.processing{z-index:30;background:#fff;border:1px solid #b8c9d6;border-radius:10px;align-items:center;gap:12px;width:max-content;max-width:calc(100% - 24px);padding:13px 20px;font-size:17px;display:flex;position:fixed;top:20px;left:50%;transform:translate(-50%);box-shadow:0 7px 35px #173d5c25}.spinner{border:2px solid #d8e9f6;border-top-color:var(--blue);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast{color:#174e3b;z-index:40;background:#f3fff9;border:1px solid #9bcebb;border-radius:10px;align-items:center;gap:12px;max-width:min(530px,100% - 32px);padding:12px 14px;font-size:17px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 10px 40px #173d5c25}.toast.error{color:#872e23;background:#fff5f3;border-color:#daa9a0}@media (max-width:900px){.chart-grid{gap:16px}.chart-card{padding:18px 12px}.chart-actions .icon-button{min-width:32px}.footer-privacy{margin-left:0}.sheet-control{order:4;width:100%}}@media (max-width:700px){.header-inner{gap:12px;padding:17px 18px}.app-brand{letter-spacing:-.3px;gap:9px;font-size:18px}.app-brand small{display:none}.app-mark{border-radius:9px;width:35px;height:35px}.language-control>span{display:none}.language-control select{padding:8px;font-size:15px}.welcome{padding:36px 20px 30px}.welcome-intro h1{letter-spacing:-.9px}.welcome-intro p{font-size:18px}.upload-zone{padding:25px 16px}.steps{grid-template-columns:1fr;gap:21px;padding-bottom:27px}.steps h2{margin-bottom:4px}.workspace{padding:24px 16px 35px}.dataset-bar{gap:10px}.dataset-icon{padding:10px}.dataset-name h1{font-size:21px}.dataset-actions{justify-content:flex-end;width:100%}.workspace-nav{gap:8px}.workspace-nav nav{gap:13px}.export-menu .button{gap:5px;padding:9px;font-size:16px}.export-menu .button>svg:first-child{display:none}.chart-grid{grid-template-columns:1fr}.section-heading{flex-wrap:wrap;align-items:flex-start;gap:12px}.section-heading h2{font-size:24px}.section-heading .button{padding:9px 12px}.quality-summary>div{padding:15px 11px}.quality-summary span{font-size:15px}.quality-summary strong{font-size:24px}.form-grid{grid-template-columns:1fr;gap:0}.chart-dialog{padding:22px}.chart-types{grid-template-columns:repeat(2,1fr)}.footer-inner{gap:23px;padding:24px 20px}.footer-brand img{width:160px}.footer-privacy{width:100%}.processing{flex-wrap:wrap}.data-filters>label:not(.search-field){max-width:100%}.workspace-nav{flex-wrap:wrap}.workspace-nav nav{flex-wrap:wrap;gap:16px}.workspace-nav nav button{font-size:16px}.export-menu{margin-left:auto}.chart-body{height:300px}.language-control{margin-left:auto}}.dataset-actions{flex-wrap:wrap;gap:10px}.danger-button{color:#922f23;background:#fff8f5;border-color:#d8a79d}.danger-button:hover:not(:disabled){background:#ffe9e2}.resume-workspace{background:#e9f4ff;border:1px solid #bfd9f0;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-bottom:30px;padding:20px;display:flex}.resume-workspace p{flex-basis:100%;margin:0}.import-preview h1{font-size:30px}.import-preview h1:focus{outline:none}.preview-filename{overflow-wrap:anywhere;font-weight:600}.preview-settings{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;padding:22px;display:grid}.preview-settings label{flex-direction:column;gap:10px;font-weight:650;display:flex}.preview-settings select{width:100%}.preview-columns{max-height:430px;margin-bottom:20px}.mobile-scroll-help{display:none}.preview-columns thead{z-index:1;position:sticky;top:0}.preview-columns th,.preview-columns td{max-width:340px}.preview-error{color:#872e23;background:#fff5f3;border:1px solid #d8a79d;border-radius:9px;margin-bottom:20px;padding:15px 18px}.invalid-count{color:#872e23;font-weight:650}.preview-sample-heading{margin-top:25px}.preview-samples{max-height:430px;margin-bottom:24px}.preview-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;margin-top:26px;display:flex}@media (max-width:700px){.dataset-actions .button{flex:160px}.preview-settings{grid-template-columns:minmax(0,1fr);padding:16px}.preview-actions .button{flex:160px}.mobile-scroll-help{color:var(--muted);margin-bottom:12px;font-size:15px;display:block}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
