:root{--blue:#307fed;--ink:#172b44;--muted:#72839a;--line:#e4ecf5;--bg:#f6f9ff;--radius:17px;--shadow:0 12px 36px rgba(31,63,99,.065)}*{box-sizing:border-box}html{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}body{margin:0;min-width:290px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}[tabindex]:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8cbaff;outline-offset:2px}a{color:var(--blue)}.topbar{height:70px;display:flex;align-items:center;gap:14px;background:#fff;border-bottom:1px solid var(--line);padding:0 24px;position:sticky;top:0;z-index:50}.brand{text-decoration:none;color:#182d49;font-weight:780;letter-spacing:-1px;font-size:21px;white-space:nowrap}.mark{display:inline-grid;place-items:center;background:linear-gradient(135deg,#377ce9,#76c5fb);height:30px;width:30px;color:#fff;border-radius:10px;letter-spacing:0;margin-right:8px}.blue{color:#409ded}.slash{color:#bac9d8}.tool-name{font-size:13px;white-space:nowrap}.private{margin-left:auto;color:#52796c;font-size:12px;white-space:nowrap}.private span{color:#1cb885}.top-actions{display:flex;gap:8px}.btn,.icon-btn{border:1px solid var(--line);background:#fff;border-radius:10px;padding:10px 14px;font-size:12px;font-weight:700;color:#38506e;white-space:nowrap;transition:.15s}.btn:hover:not(:disabled),.icon-btn:hover:not(:disabled){border-color:#b8d3f8;background:#f2f7ff}.btn.primary{background:var(--blue);color:#fff;border-color:var(--blue)}.btn.primary:hover{background:#206cd4;color:#fff}.btn.secondary{color:#266de2;background:#ecf4ff;border:1px solid #d8e8ff}.btn.subtle{background:#f6f8fc}.full{width:100%}.shell{display:grid;grid-template-columns:minmax(245px,280px) minmax(0,1fr) minmax(255px,290px);min-height:calc(100vh - 70px);max-width:1920px;margin:0 auto}.sidebar{background:#fff;min-width:0;padding:28px 19px;display:flex;flex-direction:column;gap:12px}.data-panel{border-right:1px solid var(--line)}.settings-panel{border-left:1px solid var(--line)}.side-heading{padding-bottom:10px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#6a93b7}.side-heading h2{font-size:25px;letter-spacing:-.8px;margin:12px 0 8px;line-height:1.22}.hero h1 em,.side-heading h2 em{font-style:normal;color:#348ae8}.hero p,.muted,.side-heading p{font-size:12px;color:var(--muted);line-height:1.65;margin:4px 0}.dropzone{padding:22px 10px;border:1.5px dashed #b9d3f0;background:#f5faff;border-radius:16px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;cursor:pointer;transition:.2s}.dropzone.drag,.dropzone:hover{background:#eaf4ff;border-color:var(--blue)}.dropzone strong{font-size:12px}.dropzone span{font-size:12px;color:#67809b}.dropzone small{font-size:10px;color:#8094a6}.upload-icon{display:grid;place-items:center;background:#e0eeff;color:var(--blue);width:37px;height:37px;border-radius:12px;font-size:24px}.field{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#526681;margin:6px 0}.field input,.field select,.field textarea,.search{width:100%;border:1px solid #dfe8f3;background:#fff;border-radius:9px;padding:10px 11px;outline:0;font-size:12px;min-width:0;color:#243f5d}.field textarea{resize:vertical;min-height:70px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--blue)}.side-divider{border-bottom:1px solid var(--line);margin:10px 0}.side-subhead{display:flex;align-items:center;justify-content:space-between;gap:5px;font-size:12px}.side-subhead span{font-size:10px;color:#8b9bb0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:110px}.columns-list{display:grid;gap:6px}.column-item{display:flex;justify-content:space-between;align-items:center;border-radius:9px;background:#f7f9fd;padding:9px 10px;gap:8px;font-size:11px}.column-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill{font-size:9px;background:#e6f1ff;color:#4e7bb8;padding:3px 6px;border-radius:6px;white-space:nowrap}.pill.cat{background:#f0ebff;color:#8566ad}.privacy-note{margin-top:auto;background:#eff7f5;border:1px solid #e2f0ec;border-radius:13px;padding:13px}.privacy-note strong{font-size:12px;color:#377d6e}.privacy-note p{font-size:11px;line-height:1.6;margin:6px 0 0;color:#689489}.main{min-width:0;padding:36px 28px 25px}.hero{margin-bottom:25px}.hero h1{margin:10px 0;font-size:clamp(29px,3vw,43px);letter-spacing:-1.9px;line-height:1.11}.hero p{font-size:13px;max-width:590px}.workspace-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.project-title{display:block;width:min(450px,100%);font-size:17px;font-weight:750;letter-spacing:-.5px;border:0;background:0 0;padding:2px 0;color:var(--ink)}.save-status{display:block;font-size:10px;color:#7c91a5;margin-top:5px}.history{display:flex;gap:7px}.icon-btn{font-size:20px;padding:6px 11px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-bottom:15px}.stats>div{background:#fff;border:1px solid var(--line);border-radius:13px;padding:13px 14px}.stats span{display:block;font-weight:750;font-size:9px;letter-spacing:1px;color:#92a0b2}.stats strong{display:block;font-size:23px;letter-spacing:-1px;margin-top:6px}.viz-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden}.viz-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line);flex-wrap:wrap}.views{display:flex;gap:5px;flex-wrap:wrap}.views button{border:0;background:0 0;border-radius:8px;padding:9px 10px;font-size:11px;color:#6e8298;font-weight:750}.views button.active{background:#e9f3ff;color:#2179e1}.viz-action{display:flex;gap:7px;flex-wrap:wrap}.viz-action .btn{padding:8px 10px}.viz{padding:12px;overflow-x:auto;min-height:350px}.viz svg{width:100%;min-width:560px;height:auto;display:block}.viz-hint{border-top:1px solid var(--line);padding:12px 18px;color:#8090a2;font-size:11px;line-height:1.5}.insights-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:13px;margin-top:16px}.insight-card{background:#fff;padding:15px;border:1px solid var(--line);border-radius:15px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:12px}.card-head strong{font-size:13px}.card-head span{font-size:10px;color:#98a5b5}.insight-row{padding:9px 0;border-bottom:1px solid #f1f3f8;display:flex;justify-content:space-between;gap:8px;font-size:11px}.insight-row strong{color:#216ebb}.insight-row span{color:#72849a;overflow:hidden;text-overflow:ellipsis}.search{margin-bottom:10px}.tablewrap{overflow:auto;max-height:255px}table{border-collapse:collapse;font-size:10px;white-space:nowrap}td,th{padding:10px;border-bottom:1px solid #edf0f5;text-align:left;max-width:190px;overflow:hidden;text-overflow:ellipsis}th{position:sticky;top:0;background:#f7faff;color:#72869b}.disclaimer{color:#91a0b0;font-size:10px;line-height:1.7}.settings-scroll{flex:1}.settings-scroll h3{font-size:10px;letter-spacing:1.1px;color:#91a2b3;margin:23px 0 11px}.settings-scroll h3:first-child{margin-top:5px}.axis-list{display:grid;gap:7px}.axis-item{display:flex;gap:5px;align-items:center;background:#f6f9fe;border:1px solid #eaf0f8;border-radius:9px;padding:7px 8px;font-size:11px}.axis-item strong{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.axis-item button{border:0;background:#e7eef9;color:#516f95;border-radius:6px;padding:4px 6px;font-size:12px}.filter-item{background:#f8faff;border:1px solid var(--line);border-radius:11px;padding:10px;margin-bottom:9px}.filter-item>div:first-child{display:flex;justify-content:space-between;gap:7px;font-size:11px;font-weight:700;margin-bottom:8px}.filter-item .rangeinputs{display:grid;grid-template-columns:1fr 1fr;gap:5px}.filter-item input{width:100%;border:1px solid #dce6ef;padding:7px;border-radius:7px;font-size:11px;min-width:0}.filter-item button{border:0;background:0 0;color:var(--blue);font-size:10px;font-weight:700}.filter-item .apply-filter{display:block;background:#e6f0ff;padding:7px 8px;border-radius:7px;margin:8px 0 0;width:100%}.bottom-actions{margin-top:18px}.seo{max-width:1050px;margin:25px auto;padding:22px;color:#7f8fa3;font-size:12px;line-height:1.8}.seo h2,.seo h3{color:#455c77}footer{text-align:center;border-top:1px solid var(--line);padding:21px;color:#899bb0;font-size:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}dialog{border:1px solid #e0e9f3;background:#fff;color:var(--ink);border-radius:18px;width:min(510px,calc(100vw - 25px));max-height:85vh;padding:23px;box-shadow:0 30px 70px #10283b40}dialog::backdrop{background:#0c203c77}.modal-head{display:flex;align-items:flex-start;justify-content:space-between}.modal-head h2{margin:9px 0 18px;font-size:22px;letter-spacing:-.8px}.close{font-size:27px;border:0;background:0 0;color:#6c829d}.modal-options{display:grid;gap:8px}.modal-options button,.saved-item{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:13px;border:1px solid var(--line);background:#fff;border-radius:10px;text-align:left;color:#274261}.modal-options button:hover{background:#f4f9ff;border-color:#94c2ff}.modal-options strong,.saved-item strong{font-size:13px}.modal-options small,.saved-item small{font-size:11px;color:#8596a7}.saved-item{flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:9px}.saved-item .saved-info{display:flex;flex-direction:column;gap:4px;max-width:63%;overflow:hidden}.saved-item .saved-buttons{display:flex;gap:6px}.saved-item button{font-size:11px;border:1px solid var(--line);border-radius:7px;padding:7px 8px;background:#f6faff}.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:15px;flex-wrap:wrap}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#19374f;color:#fff;border-radius:10px;padding:12px 17px;font-size:12px;box-shadow:0 15px 38px #20304038;z-index:99;max-width:min(500px,92vw);display:none}#toast.visible{display:block}.mobile-tabs{display:none}@media(max-width:1330px){.shell{grid-template-columns:230px minmax(0,1fr) 248px}.main{padding:24px 15px}.sidebar{padding:23px 12px}.private{display:none}.topbar{padding:0 13px}.tool-name{font-size:12px}}@media(max-width:1050px){.shell{grid-template-columns:1fr}.mobile-tabs{display:flex;position:sticky;top:70px;z-index:40;background:#fff;border-bottom:1px solid var(--line);padding:8px;gap:8px}.mobile-tabs button{flex:1;border:0;border-radius:9px;background:#f1f5fb;color:#6c8093;font-size:12px;padding:10px;font-weight:750}.mobile-tabs button.active{background:#e4f0ff;color:#237bec}.shell .panel{display:none}.shell[data-panel=data] .data-panel,.shell[data-panel=settings] .settings-panel{display:flex}.shell[data-panel=data] .main,.shell[data-panel=settings] .main{display:none}.shell[data-panel=visual] .main{display:block}.sidebar{min-height:calc(100vh - 110px);border:0;padding:25px;max-width:none}.side-heading h2 br{display:none}.main{padding:24px 20px}.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:9px 15px}.mobile-tabs{top:70px}.top-actions{margin-left:auto}}@media(max-width:620px){.topbar{gap:7px;min-height:70px}.brand{font-size:18px}.mark{height:27px;width:27px}.slash,.tool-name{display:none}.top-actions{width:100%;justify-content:space-between;gap:4px}.top-actions .btn{padding:7px 8px;font-size:10px;flex:1}.mobile-tabs{top:106px}.hero h1{font-size:31px}.main{padding:18px 12px}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.stats strong{font-size:19px}.viz-top{padding:10px}.views button{padding:7px;font-size:10px}.insights-grid{grid-template-columns:1fr}.viz svg{min-width:510px}.workspace-header{align-items:flex-start}.project-title{font-size:14px}.seo{padding:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.category-hint{display:block;margin:-4px 0 10px;font-size:12px;line-height:1.4;color:#60758c}.group-summary{border-top:1px solid #e5ecf3;margin-top:15px;padding-top:13px}.group-summary-title{font-size:12px;font-weight:750;color:#546b82;margin:0 0 7px}.group-summary .insight-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.group-summary .insight-row strong{font-variant-numeric:tabular-nums;white-space:nowrap}#categorySearch{min-width:0;width:100%}.empty-state:not([hidden]){padding:11px 16px;margin:6px 16px;border-radius:10px;background:#f2f6fc;color:#405772;font-size:13px}.preview-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.preview-tools select{max-width:100px;border-radius:8px;border:1px solid #d9e5f0;background:#fff;color:#39536c;padding:4px;font:inherit;font-size:12px}@media(max-width:380px){.top-actions{min-width:0;max-width:100%}.top-actions .btn{min-width:0;overflow:hidden;text-overflow:ellipsis;padding:7px 5px;font-size:9.5px}}