.tool[data-tool="csv-dashboard"]{position:relative;color:var(--ink);font-family:var(--f-body);max-width:var(--max)}.tool[data-tool="csv-dashboard"] *,.tool[data-tool="csv-dashboard"] *::before,.tool[data-tool="csv-dashboard"] *::after{box-sizing:border-box}.tool[data-tool="csv-dashboard"] [hidden]{display:none !important}.tool[data-tool="csv-dashboard"] :focus-visible{outline:1px solid var(--blue-l);outline-offset:3px}.tool[data-tool="csv-dashboard"] .cd{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,3vw,2.25rem)}.tool[data-tool="csv-dashboard"] .cd__k{margin:0;font:400 .68rem/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim-text)}.tool[data-tool="csv-dashboard"] .cd__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.tool[data-tool="csv-dashboard"] .cd__intake{display:grid;gap:1.75rem;align-items:stretch}@media (min-width:900px){.tool[data-tool="csv-dashboard"] .cd__intake{grid-template-columns:1.25fr 1fr;gap:clamp(2rem,4vw,3.5rem)}}.tool[data-tool="csv-dashboard"] .cd__drop{position:relative;display:grid;justify-items:start;align-content:end;gap:.6rem;min-height:clamp(13rem,26vw,17rem);padding:clamp(1.25rem,3vw,2rem);border:1px dashed var(--line-2);border-radius:4px;cursor:pointer;overflow:hidden;transition:border-color .2s ease,background .3s ease;background:radial-gradient(circle at 82% 28%,rgba(30,107,255,.1),transparent 45%)}.tool[data-tool="csv-dashboard"] .cd__drop:hover,.tool[data-tool="csv-dashboard"] .cd__drop.is-over{border-color:var(--blue-l);background:radial-gradient(circle at 82% 28%,rgba(30,107,255,.2),transparent 50%)}.tool[data-tool="csv-dashboard"] .cd__drop:focus-within{outline:1px solid var(--blue-l);outline-offset:3px}.tool[data-tool="csv-dashboard"] .cd__ring{position:absolute;right:clamp(1.25rem,5%,3rem);top:clamp(1.25rem,4vw,2.25rem);width:clamp(4.5rem,9vw,6.5rem);aspect-ratio:1;border-radius:50%;border:1px solid var(--blue-l);box-shadow:var(--glow),inset 0 0 18px rgba(77,163,255,.25);transition:transform .6s var(--ease-out)}.tool[data-tool="csv-dashboard"] .cd__ring::after{content:"";position:absolute;right:12%;top:8%;width:9px;height:9px;border-radius:50%;background:var(--ink);box-shadow:0 0 10px var(--ink),0 0 22px var(--blue-l)}@media (max-width:559px){.tool[data-tool="csv-dashboard"] .cd__drop{padding-top:6.5rem}.tool[data-tool="csv-dashboard"] .cd__ring{width:3.75rem}}.tool[data-tool="csv-dashboard"] .cd__drop:hover .cd__ring,.tool[data-tool="csv-dashboard"] .cd__drop.is-over .cd__ring{transform:scale(1.08) rotate(25deg)}.tool[data-tool="csv-dashboard"] .cd__drop-t{font:300 clamp(1.5rem,3vw,2.2rem)/1.1 var(--f-display);letter-spacing:-.02em}.tool[data-tool="csv-dashboard"] .cd__drop-s{color:var(--mute);font-size:.92rem;max-width:30rem}.tool[data-tool="csv-dashboard"] .cd__file{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden;clip-path:inset(50%)}.tool[data-tool="csv-dashboard"] .cd__pick{display:inline-flex;align-items:center;min-height:44px;margin-top:.5rem;padding:0 1.1rem;border:1px solid var(--line-2);border-radius:4px;font:400 .7rem var(--f-display);letter-spacing:.14em;text-transform:uppercase;color:var(--ink);transition:border-color .2s ease}.tool[data-tool="csv-dashboard"] .cd__drop:hover .cd__pick,.tool[data-tool="csv-dashboard"] .cd__drop:focus-within .cd__pick{border-color:var(--blue-l)}.tool[data-tool="csv-dashboard"] .cd__alt{display:grid;align-content:start;gap:.9rem;padding-top:.25rem}.tool[data-tool="csv-dashboard"] .cd__sample-note{margin:-.25rem 0 0;font-size:.85rem;color:var(--dim-text)}.tool[data-tool="csv-dashboard"] .cd__btn{justify-self:start;display:inline-flex;align-items:center;gap:.8rem;min-height:44px;padding:0 1.35rem 0 1rem;border-radius:999px;border:1px solid rgba(232,236,242,.32);background:transparent;color:var(--ink);font:400 .72rem var(--f-display);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:border-color .2s ease,box-shadow .3s ease}.tool[data-tool="csv-dashboard"] .cd__btn::before{content:"";flex:none;width:11px;height:11px;border-radius:50%;border:1px solid var(--blue-l);box-shadow:3px -3px 0 -2px var(--ink),0 0 8px rgba(77,163,255,.6)}.tool[data-tool="csv-dashboard"] .cd__btn:hover,.tool[data-tool="csv-dashboard"] .cd__btn:focus-visible{border-color:var(--blue-l);box-shadow:var(--glow),inset 0 0 14px rgba(77,163,255,.18)}.tool[data-tool="csv-dashboard"] .cd__btn:active{transform:scale(.98)}.tool[data-tool="csv-dashboard"] .cd__btn--sm{margin-top:.75rem}.tool[data-tool="csv-dashboard"] .cd__paste{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.tool[data-tool="csv-dashboard"] .cd__paste summary{min-height:44px;display:flex;align-items:center;gap:.6rem;cursor:pointer;font:400 .78rem var(--f-mono);color:var(--mute);list-style:none}.tool[data-tool="csv-dashboard"] .cd__paste summary::-webkit-details-marker{display:none}.tool[data-tool="csv-dashboard"] .cd__paste summary::before{content:"+";width:1rem;color:var(--blue-l)}.tool[data-tool="csv-dashboard"] .cd__paste[open] summary::before{content:"\2212"}.tool[data-tool="csv-dashboard"] .cd__paste summary:hover{color:var(--ink)}.tool[data-tool="csv-dashboard"] .cd__paste[open]{padding-bottom:1rem}.tool[data-tool="csv-dashboard"] .cd__lbl{display:block;font:400 .74rem var(--f-body);color:var(--mute);margin-bottom:.35rem}.tool[data-tool="csv-dashboard"] textarea{width:100%;min-height:8rem;resize:vertical;padding:.7rem;background:transparent;border:1px solid var(--line-2);border-radius:4px;color:var(--ink);font:400 .8rem/1.5 var(--f-mono)}.tool[data-tool="csv-dashboard"] textarea:focus-visible{outline:1px solid var(--blue-l);outline-offset:0;border-color:var(--blue-l)}.tool[data-tool="csv-dashboard"] textarea::placeholder{color:var(--dim)}.tool[data-tool="csv-dashboard"] .cd__privacy{margin:.25rem 0 0;display:flex;gap:.7rem;align-items:baseline;font-size:.88rem;line-height:1.5;color:var(--mute);max-width:30rem}.tool[data-tool="csv-dashboard"] .cd__dot{flex:none;width:7px;height:7px;border-radius:50%;background:var(--good);box-shadow:0 0 8px var(--good);transform:translateY(-1px)}.tool[data-tool="csv-dashboard"] .cd__msg{margin:0;padding:.75rem 0 .75rem 1rem;border-left:1px solid var(--blue-l);font:400 .82rem/1.5 var(--f-mono);color:var(--mute)}.tool[data-tool="csv-dashboard"] .cd__msg--warn{border-color:var(--warn);color:var(--warn)}.tool[data-tool="csv-dashboard"] .cd__msg--bad{border-color:var(--bad);color:var(--bad)}.tool[data-tool="csv-dashboard"] .cd__out{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.75rem,3.5vw,2.75rem)}.tool[data-tool="csv-dashboard"] .cd__meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1.25rem;padding-bottom:.9rem;border-bottom:1px solid var(--line)}.tool[data-tool="csv-dashboard"] .cd__file-n{margin:0;font:300 clamp(1.15rem,2.2vw,1.5rem)/1.2 var(--f-display);letter-spacing:-.01em;overflow-wrap:anywhere}.tool[data-tool="csv-dashboard"] .cd__file-n:focus{outline:none}.tool[data-tool="csv-dashboard"] .cd__clear{margin-left:auto;min-height:44px;padding:0 .25rem;background:none;border:0;color:var(--mute);font:400 .74rem var(--f-mono);text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--line-2);cursor:pointer}.tool[data-tool="csv-dashboard"] .cd__clear:hover{color:var(--ink);text-decoration-color:var(--blue-l)}.tool[data-tool="csv-dashboard"] .cd__controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem 1rem}@media (min-width:768px){.tool[data-tool="csv-dashboard"] .cd__controls{grid-template-columns:repeat(5,minmax(0,1fr))}}.tool[data-tool="csv-dashboard"] .cd__ctl{display:grid;gap:.35rem;min-width:0}.tool[data-tool="csv-dashboard"] .cd__ctl:first-child{grid-column:1/-1}@media (min-width:768px){.tool[data-tool="csv-dashboard"] .cd__ctl:first-child{grid-column:auto}}.tool[data-tool="csv-dashboard"] .cd__ctl>span{font:400 .74rem var(--f-body);color:var(--mute)}.tool[data-tool="csv-dashboard"] select{appearance:none;-webkit-appearance:none;width:100%;min-width:0;min-height:44px;padding:0 1.8rem 0 .7rem;background:transparent;border:1px solid var(--line-2);border-radius:4px;color:var(--ink);font:400 .82rem var(--f-mono);cursor:pointer;text-overflow:ellipsis;background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),linear-gradient(135deg,var(--mute) 50%,transparent 50%);background-position:calc(100% - 14px) 52%,calc(100% - 10px) 52%;background-size:4px 4px;background-repeat:no-repeat;transition:border-color .15s ease}.tool[data-tool="csv-dashboard"] select:hover:not(:disabled){border-color:var(--mute)}.tool[data-tool="csv-dashboard"] select:focus-visible{outline:1px solid var(--blue-l);outline-offset:0;border-color:var(--blue-l)}.tool[data-tool="csv-dashboard"] select:disabled{opacity:.45;cursor:not-allowed}.tool[data-tool="csv-dashboard"] select option{background:var(--graphite);color:var(--ink)}.tool[data-tool="csv-dashboard"] .cd__kpis{margin:0;display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}.tool[data-tool="csv-dashboard"] .cd__kpi{padding:1.1rem 0;border-bottom:1px solid var(--line);min-width:0}@media (min-width:560px){.tool[data-tool="csv-dashboard"] .cd__kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tool[data-tool="csv-dashboard"] .cd__kpi:nth-child(2n){padding-left:1.25rem;border-left:1px solid var(--line)}}@media (min-width:1024px){.tool[data-tool="csv-dashboard"] .cd__kpis{grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--line)}.tool[data-tool="csv-dashboard"] .cd__kpi{border-bottom:0;padding:1.4rem 1.25rem 1.4rem 0}.tool[data-tool="csv-dashboard"] .cd__kpi+.cd__kpi{padding-left:1.25rem;border-left:1px solid var(--line)}}.tool[data-tool="csv-dashboard"] .cd__kpi dt{font:400 .66rem/1.45 var(--f-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim-text);overflow-wrap:anywhere}.tool[data-tool="csv-dashboard"] .cd__kpi dd{margin:.55rem 0 0;font:300 clamp(1.5rem,2.9vw,2.3rem)/1.1 var(--f-display);letter-spacing:-.03em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.tool[data-tool="csv-dashboard"] .cd__kpi-s{margin:.5rem 0 0;font:400 .74rem/1.5 var(--f-mono);color:var(--mute)}.tool[data-tool="csv-dashboard"] .is-up{color:var(--good)}.tool[data-tool="csv-dashboard"] .is-dn{color:var(--bad)}.tool[data-tool="csv-dashboard"] .cd__panel{min-width:0}.tool[data-tool="csv-dashboard"] .cd__ph{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem 1.5rem;margin-bottom:.9rem}.tool[data-tool="csv-dashboard"] .cd__h{margin:0;font:300 clamp(1.05rem,1.8vw,1.3rem)/1.25 var(--f-display);letter-spacing:-.01em}.tool[data-tool="csv-dashboard"] .cd__chart{position:relative;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.5rem 0}.tool[data-tool="csv-dashboard"] .cd__chart--line{touch-action:pan-y;cursor:crosshair;color:var(--blue-l)}.tool[data-tool="csv-dashboard"] .cd__chart svg{display:block;width:100%;height:auto;font:400 10.5px var(--f-mono);overflow:visible}.tool[data-tool="csv-dashboard"] .cd__chart .t{fill:var(--dim-text)}.tool[data-tool="csv-dashboard"] .cd__chart .g{stroke:var(--line);stroke-width:1}.tool[data-tool="csv-dashboard"] .cd__chart .tk{stroke:var(--line-2)}.tool[data-tool="csv-dashboard"] .cd__chart .ln{fill:none;stroke:var(--blue-l);stroke-width:1.75;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(77,163,255,.45))}.tool[data-tool="csv-dashboard"] .cd__chart .pt{fill:var(--void);stroke:var(--blue-l);stroke-width:1.25}.tool[data-tool="csv-dashboard"] .cd__chart .last{fill:var(--ink)}.tool[data-tool="csv-dashboard"] .cd__chart .last-ring{fill:none;stroke:var(--blue-l);opacity:.7;filter:drop-shadow(0 0 5px var(--blue))}.tool[data-tool="csv-dashboard"] .cd__chart .cx{stroke:var(--ink);opacity:.4}.tool[data-tool="csv-dashboard"] .cd__chart .cdot{fill:var(--ink);stroke:var(--blue-l);stroke-width:1.5}.tool[data-tool="csv-dashboard"] .cd__tip{position:absolute;pointer-events:none;display:grid;gap:.1rem;padding:.55rem .75rem;background:var(--graphite-2);border-left:1px solid var(--blue-l);box-shadow:0 12px 30px rgba(0,0,0,.5);font:400 .72rem var(--f-mono);white-space:nowrap}.tool[data-tool="csv-dashboard"] .cd__tip b{font:300 1.05rem var(--f-display);letter-spacing:-.01em;color:var(--ink)}.tool[data-tool="csv-dashboard"] .cd__tip-k{color:var(--dim-text);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase}.tool[data-tool="csv-dashboard"] .cd__chart--bar .lb{fill:var(--mute);font:400 11.5px var(--f-mono)}.tool[data-tool="csv-dashboard"] .cd__chart--bar .vl{fill:var(--ink);font:400 11.5px var(--f-mono)}.tool[data-tool="csv-dashboard"] .cd__chart--bar .br{fill:var(--blue);opacity:.75;transition:opacity .15s ease}.tool[data-tool="csv-dashboard"] .cd__chart--bar .is-top .br{fill:var(--blue-l);opacity:1}.tool[data-tool="csv-dashboard"] .cd__chart--bar .is-other .br{fill:var(--dim);opacity:.6}.tool[data-tool="csv-dashboard"] .cd__chart--bar .hit{fill:transparent}.tool[data-tool="csv-dashboard"] .cd__chart--bar .brk{stroke:var(--void);stroke-width:2.5}.tool[data-tool="csv-dashboard"] .cd__chart--bar .bar:hover .hit{fill:rgba(232,236,242,.03)}.tool[data-tool="csv-dashboard"] .cd__chart--bar .bar:hover .br{opacity:1}.tool[data-tool="csv-dashboard"] .cd__chart--bar .bar:hover .lb{fill:var(--ink)}@media (min-width:1100px){.tool[data-tool="csv-dashboard"] .cd__out{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);column-gap:clamp(2rem,4vw,3.5rem)}.tool[data-tool="csv-dashboard"] .cd__meta,.tool[data-tool="csv-dashboard"] .cd__controls,.tool[data-tool="csv-dashboard"] .cd__kpis,.tool[data-tool="csv-dashboard"] .cd__panel--prof,.tool[data-tool="csv-dashboard"] .cd__actions{grid-column:1/-1}.tool[data-tool="csv-dashboard"] .cd__panel--line[hidden]+.cd__panel--bar{grid-column:1/-1}}.tool[data-tool="csv-dashboard"] .cd__tablewrap{position:relative;overflow-x:auto;border-top:1px solid var(--line);-webkit-overflow-scrolling:touch}.tool[data-tool="csv-dashboard"] .cd__table{width:100%;border-collapse:collapse;font:400 .8rem/1.45 var(--f-mono);min-width:640px}.tool[data-tool="csv-dashboard"] .cd__table th,.tool[data-tool="csv-dashboard"] .cd__table td{padding:.75rem .9rem .75rem 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.tool[data-tool="csv-dashboard"] .cd__table thead th{font-size:.64rem;font-weight:400;letter-spacing:.1em;text-transform:uppercase;color:var(--dim-text);padding-top:.6rem;padding-bottom:.6rem}.tool[data-tool="csv-dashboard"] .cd__table tbody th{font-weight:500;color:var(--ink);max-width:14rem;overflow-wrap:anywhere}.tool[data-tool="csv-dashboard"] .cd__table td{color:var(--mute)}.tool[data-tool="csv-dashboard"] .cd__table .r{text-align:right;font-variant-numeric:tabular-nums}.tool[data-tool="csv-dashboard"] .cd__table .has-null{color:var(--warn)}.tool[data-tool="csv-dashboard"] .cd__table tbody tr:hover th,.tool[data-tool="csv-dashboard"] .cd__table tbody tr:hover td{background:rgba(232,236,242,.02)}.tool[data-tool="csv-dashboard"] .cd__type{display:inline-flex;align-items:center;gap:.45rem;font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);white-space:nowrap}.tool[data-tool="csv-dashboard"] .cd__type::before{content:"";width:6px;height:6px;border-radius:50%;border:1px solid currentColor}.tool[data-tool="csv-dashboard"] .cd__type--numeric{color:var(--blue-l)}.tool[data-tool="csv-dashboard"] .cd__type--date{color:var(--good)}.tool[data-tool="csv-dashboard"] .cd__type--category{color:var(--ink)}.tool[data-tool="csv-dashboard"] .cd__type--text,.tool[data-tool="csv-dashboard"] .cd__type--empty{color:var(--dim-text)}.tool[data-tool="csv-dashboard"] .pf{display:block}.tool[data-tool="csv-dashboard"] .pf-fg{fill:var(--blue-l);opacity:.8}.tool[data-tool="csv-dashboard"] .pf-bg{fill:var(--line-2)}.tool[data-tool="csv-dashboard"] .cd__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.tool[data-tool="csv-dashboard"] .cd__cta{margin:0;font-size:.95rem;color:var(--mute)}.tool[data-tool="csv-dashboard"] .cd__cta a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--blue-l);text-underline-offset:5px;display:inline;line-height:2.4}.tool[data-tool="csv-dashboard"] .cd__cta a:hover{text-shadow:0 0 18px rgba(77,163,255,.7)}@media (prefers-reduced-motion:reduce){.tool[data-tool="csv-dashboard"] *{transition-duration:.01ms !important;animation-duration:.01ms !important}}