.csvtool__download{margin-left:4px}.csvtool__preview{margin-top:16px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg)}.csvtool__preview-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;gap:12px;flex-wrap:wrap}.csvtool__preview-title{margin:0;font-size:16px;font-weight:600}.csvtool__preview-count{font-size:12.5px;color:var(--color-text-muted)}.csvtool__preview-scroll{max-height:420px;overflow:auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg)}.csvtool__preview-scroll:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.csvtool__table{width:100%;border-collapse:collapse;font-size:13px;font-family:var(--font-mono, ui-monospace, SFMono-Regular, Menlo, monospace)}.csvtool__th,.csvtool__td{padding:8px 12px;border:1px solid var(--color-border);text-align:left;white-space:pre-wrap;word-break:break-all;vertical-align:top}.csvtool__table-head-row .csvtool__th{background:var(--color-bg-soft);font-weight:600;color:var(--color-text);position:sticky;top:0;z-index:1}.csvtool__table tbody tr:hover{background:#2b6cff0a}.csvtool__td:empty:before{content:"—";color:var(--color-text-muted);opacity:.4}.csvtool__infer-toggle{padding-left:10px;border-left:1px solid var(--color-border);margin-left:4px}.csvtool__legend{display:inline-flex;align-items:center;gap:4px;margin-left:12px;font-size:12px;color:var(--color-text-soft)}.csvtool__type-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:4px;font-size:10px;font-weight:700;font-family:var(--font-mono, ui-monospace, monospace);line-height:1;letter-spacing:.2px;user-select:none;vertical-align:middle}.csvtool__legend .csvtool__type-badge{margin-right:2px}.csvtool__type-badge--number{background:#2b6cff24;color:#1a57f0}.csvtool__type-badge--boolean{background:#f5a6232e;color:#b8730a}.csvtool__type-badge--null{background:#8a8f992e;color:#5a6068}.csvtool__type-badge--string{background:#1aaa5524;color:#0f7a3e}.csvtool__td--number{background:#2b6cff0f}.csvtool__td--boolean{background:#f5a62314}.csvtool__td--null{background:#8a8f9914}.csvtool__td--string{background:#1aaa550d}.csvtool__td[class*=csvtool__td--]{position:relative;padding-right:28px}.csvtool__cell-text{display:inline-block;word-break:break-all;white-space:pre-wrap}.csvtool__td[class*=csvtool__td--] .csvtool__type-badge{position:absolute;top:6px;right:6px}.csvtool__warnings{margin-top:16px;padding:14px 16px;border:1px solid rgba(245,166,35,.4);border-left:4px solid #f5a623;border-radius:var(--radius-md);background:#fff7ed;color:#4a3508}.csvtool__warnings-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:8px;font-size:14px}.csvtool__warnings-hint{font-size:12.5px;color:#8a6420}.csvtool__warnings-list{margin:0;padding:0;list-style:none}.csvtool__warning-item{display:grid;grid-template-columns:minmax(120px,auto) minmax(100px,auto) 1fr;gap:10px;align-items:baseline;padding:6px 0;border-top:1px dashed rgba(245,166,35,.3);font-size:13px}.csvtool__warning-item:first-child{border-top:none}.csvtool__warning-loc{font-weight:600;color:#6b4a0e;white-space:nowrap}.csvtool__warning-raw{font-family:var(--font-mono, ui-monospace, monospace);background:#f5a62326;padding:1px 6px;border-radius:3px;color:#4a3508;word-break:break-all}.csvtool__warning-reason{color:#6b4a0e;line-height:1.5}.csvtool__warning-more{grid-template-columns:1fr;color:#8a6420;font-style:italic;text-align:center;margin-top:4px}@media(prefers-color-scheme:dark){.csvtool__type-badge--number{background:#5b8cff38;color:#a8c2ff}.csvtool__type-badge--boolean{background:#fbbf2438;color:#fcd34d}.csvtool__type-badge--null{background:#6b728047;color:#cbd5e1}.csvtool__type-badge--string{background:#34d39938;color:#6ee7b7}.csvtool__td--number{background:#5b8cff1a}.csvtool__td--boolean{background:#fbbf241f}.csvtool__td--null{background:#6b72801f}.csvtool__td--string{background:#34d39914}.csvtool__table tbody tr:hover{background:#5b8cff14}.csvtool__warnings{border-color:#fbbf2466;border-left-color:#fbbf24;background:#2a1f0a;color:#fde68a}.csvtool__warnings-hint{color:#fcd34d}.csvtool__warning-loc{color:#fde68a}.csvtool__warning-raw{background:#fbbf242e;color:#fde68a}.csvtool__warning-reason,.csvtool__warning-more{color:#fcd34d}}@media(max-width:768px){.csvtool__preview{padding:12px}.csvtool__preview-head{flex-direction:column;align-items:flex-start}.csvtool__preview-scroll{max-height:320px}.csvtool__th,.csvtool__td{padding:6px 8px;font-size:12px}.csvtool__type-badge{min-width:14px;height:14px;font-size:9px;padding:0 3px}.csvtool__td[class*=csvtool__td--]{padding-right:22px}.csvtool__td[class*=csvtool__td--] .csvtool__type-badge{top:4px;right:4px}.csvtool__warning-item{grid-template-columns:1fr;gap:4px}.csvtool__warnings{padding:12px}}
