:root{--cs-accent:#6c5ce7;--cs-accent-hover:#5a48d8;--cs-accent-soft:#eeebfc;--cs-ink:#161a2e;--cs-code-text:#e7e9f7;--cs-mint-soft:#e1f7ee;--cs-mint-text:#1b8a62;--cs-amber-soft:#fbf0dc;--cs-amber-text:#9c6a12;--cs-slate:#6b7290;--cs-slate-soft:#edeef5;--cs-border:#e3e3ec;--cs-danger:#c0392b}.wide-tool{width:min(100%,1080px)}.tool-header p code{background:var(--cs-slate-soft);border-radius:6px;padding:.1rem .4rem;font-size:.9em}.csv2sql{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.panel{border:1px solid var(--cs-border);border-radius:var(--radius);background:#fff;padding:1.5rem}.panel-head{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.panel-head h2{margin:0;font-size:1.05rem}.link-button{color:var(--cs-accent);font:inherit;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.link-button:hover{color:var(--cs-accent-hover)}#csvInput{border-radius:var(--radius);resize:vertical;border:1px solid #ccc;width:100%;min-height:180px;padding:1rem;font:.9rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;display:block}.upload-row{flex-wrap:wrap;align-items:center;gap:1rem;margin:1rem 0 1.5rem;display:flex}.upload-button{border:1px solid var(--cs-accent);color:var(--cs-accent);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.85rem;transition:background .15s;display:inline-flex}.upload-button:hover{background:var(--cs-accent-soft)}.file-name{color:var(--cs-slate);font-size:.85rem}.checkbox-inline{cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.columns-preview{margin-bottom:1.5rem}.columns-preview-label{color:var(--cs-slate);margin-bottom:.5rem;font-size:.8rem;display:block}.chip-row{flex-wrap:wrap;gap:.5rem;display:flex}.chip{background:var(--cs-slate-soft);color:var(--cs-slate);border-radius:999px;padding:.3rem .65rem;font:.78rem ui-monospace,SFMono-Regular,Menlo,monospace}.chip-integer{background:var(--cs-accent-soft);color:var(--cs-accent-hover)}.chip-real{background:var(--cs-mint-soft);color:var(--cs-mint-text)}.chip-boolean{background:var(--cs-amber-soft);color:var(--cs-amber-text)}.options-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.25rem;margin-bottom:1.5rem;display:grid}.field-wide,.field-checks{grid-column:1/-1}.field-checks{flex-wrap:wrap;gap:1.5rem;display:flex}.field label{margin-bottom:.4rem;font-size:.85rem;font-weight:600;display:block}.field input[type=text],.field input[type=number],.field select{width:100%;font:inherit;background:#fff;border:1px solid #ccc;border-radius:8px;padding:.55rem .7rem}.segmented{border:1px solid var(--cs-border);border-radius:999px;flex-wrap:wrap;gap:2px;padding:3px;display:inline-flex}.segmented-option{font:inherit;cursor:pointer;color:var(--cs-slate);background:0 0;border:none;border-radius:999px;padding:.4rem .85rem;font-size:.82rem;transition:background .15s,color .15s}.segmented-option:hover{color:#333}.segmented-option.active{background:var(--cs-accent);color:#fff}.tool-actions{flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;display:flex}.primary-button{background:var(--cs-accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:999px;padding:.7rem 1.4rem;font-weight:600;transition:background .15s}.primary-button:hover{background:var(--cs-accent-hover)}.secondary-button{border:1px solid var(--cs-border);font:inherit;cursor:pointer;color:#333;background:#fff;border-radius:999px;padding:.7rem 1.2rem;transition:border-color .15s}.secondary-button:hover{border-color:var(--cs-slate)}.status-msg{min-height:1.3rem;color:var(--cs-slate);font-size:.85rem}.status-msg--error{color:var(--cs-danger)}.output-actions{gap:.5rem;display:flex}.small-button{border:1px solid var(--cs-border);font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:.45rem .9rem;font-size:.85rem;transition:border-color .15s,color .15s}.small-button:hover:not(:disabled){border-color:var(--cs-accent);color:var(--cs-accent)}.small-button:disabled{opacity:.45;cursor:not-allowed}.stats-row{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.stat-chip{background:var(--cs-slate-soft);color:var(--cs-slate);border-radius:999px;padding:.3rem .65rem;font-size:.78rem}.sql-output{background:var(--cs-ink);color:var(--cs-code-text);border-radius:var(--radius);white-space:pre;max-height:520px;margin:0;padding:1.25rem;font:.85rem/1.6 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:auto}.tok-keyword{color:#a895ff;font-weight:600}.tok-ident{color:#7fd8c8}.tok-string{color:#f2c879}.tok-number{color:#7fb6f5}.tok-null{color:#8b90ac;font-style:italic}.tok-bool{color:#f5877f}@media (width<=860px){.csv2sql{grid-template-columns:1fr}}@media (width<=560px){.options-grid{grid-template-columns:1fr}.field-checks{gap:.75rem}}.hint-text{color:var(--cs-slate);margin:-.75rem 0 1.25rem;font-size:.82rem}.chip-date,.chip-datetime,.chip-time{color:#1d6fa5;background:#e4f1fc}.tok-date{color:#6fc6f2}.tool-info{padding:var(--space-xl) 0;margin-top:var(--space-lg);border-top:1px solid var(--cs-border)}.info-container{width:min(100% - 2rem, var(--content-width))}.tool-info h2{margin-top:0}.tool-info h3{margin-bottom:.5rem}.tool-info p{margin-top:0}.faq dt{margin-top:1.25rem;font-weight:600}.faq dd{color:#444;margin:.35rem 0 0}.field-hint{color:var(--cs-slate);margin:.35rem 0 0;font-size:.78rem;line-height:1.4}
