.csv-tool .tool-primary-panel { background:#fff; border:1px solid var(--border-soft); border-radius:var(--radius); padding:24px; margin-top:24px; box-shadow:0 12px 32px rgba(15,23,42,.08); }
.csv-tool [hidden] { display:none !important; }
.csv-tool .privacy-note { background:#eef6ff; padding:12px 16px; border-radius:var(--radius-sm); }
.csv-tool .preview-diagnosis { padding:14px 16px; border:1px solid #cfe5ef; border-left:4px solid #67afc6; border-radius:var(--radius-sm); background:#f0f8fc; font-size:.9rem; line-height:1.8; overflow-wrap:anywhere; }
.csv-tool .preview-diagnosis.is-warning { border-color:#e6ddbd; border-left-color:#b7a263; background:#faf8ef; color:#655b3c; }
.csv-tool .drop-zone { padding:32px 16px; background:#f8f9fa; border:3px dashed var(--border); border-radius:var(--radius); text-align:center; }
.csv-tool .drop-zone.dragover { border-color:var(--primary); background:#e3f2fd; }
.csv-tool .muted { color:var(--muted); font-size:.85rem; }
.csv-tool button { min-height:44px; padding:10px 18px; border:1px solid var(--primary); border-radius:var(--radius-sm); background:var(--primary); color:#fff; cursor:pointer; font:inherit; }
.csv-tool button:disabled { opacity:.5; cursor:wait; }
.csv-tool button:focus-visible, .csv-tool select:focus-visible, .csv-tool input:focus-visible { outline:3px solid #1565c0; outline-offset:3px; }
.csv-tool .notice-box { margin:16px 0; padding:12px 16px; background:#fff8e1; border-left:4px solid #ffc107; overflow-wrap:anywhere; }
.csv-tool .error { background:#fff1f1; border-color:#c62828; color:#a61919; }
.csv-tool .metadata { display:grid; grid-template-columns:120px minmax(0,1fr); gap:6px 14px; margin:14px 0 8px; }
.csv-tool .file-supplement { margin:8px 0 16px; }
.csv-tool .output-explanation { margin:8px 0 16px; }
.csv-tool .metadata dt { font-weight:bold; }
.csv-tool .metadata dd { margin:0; overflow-wrap:anywhere; }
.csv-tool label { display:block; margin:16px 0 8px; }
.csv-tool select { width:100%; min-width:0; box-sizing:border-box; min-height:44px; padding:10px; font:inherit; background:#fff; border:1px solid var(--border); border-radius:var(--radius-sm); }
.csv-tool pre { max-width:100%; box-sizing:border-box; max-height:260px; overflow:auto; padding:14px; background:#f8f9fa; border:1px solid var(--border-soft); border-radius:var(--radius-sm); font: .88rem/1.7 Consolas,Monaco,monospace; white-space:pre; }
.csv-tool .result { margin-top:24px; border-top:1px solid var(--border-soft); padding-top:16px; }
.csv-tool .content-section { margin-top:40px; }
.csv-tool table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:.9rem; }
.csv-tool th,.csv-tool td { border:1px solid var(--border-soft); padding:12px; text-align:left; overflow-wrap:anywhere; }
.csv-tool th { background:#f1f5f9; }
.csv-tool .format-chips { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:16px 0 20px; }
.csv-tool .format-chips span { padding:4px 10px; border:1px solid #cce5ec; border-radius:999px; background:#edf8fb; color:#286277; font-size:.78rem; line-height:1.5; }
.csv-tool .content-section { line-height:1.8; }
.csv-tool .content-section h2 { margin:0 0 18px; font-size:1.3rem; line-height:1.5; }
.csv-tool .capability-card,.csv-tool .limitation-card { padding:24px; border:1px solid #d6e6ee; border-radius:var(--radius); }
.csv-tool .capability-card { background:#f3f8fc; }
.csv-tool .capability-card h2 { color:#255e76; }
.csv-tool .capability-card table { background:#fff; margin:20px 0; }
.csv-tool .capability-card th { background:#e7f1f8; }
.csv-tool .capability-card td:nth-child(2) { color:#275d6f; font-weight:600; }
.csv-tool .capability-card > p:last-child { margin-bottom:0; padding-top:14px; border-top:1px solid #d6e6ee; font-size:.9rem; }
.csv-tool .limitation-card { background:#faf9f3; border-color:#e5e1d1; }
.csv-tool .limitation-card .section-intro { color:#6a624b; margin-top:0; }
.csv-tool .limitation-card ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 30px; margin:20px 0; }
.csv-tool .limitation-card li { padding-left:3px; }
.csv-tool .limitation-card > p:last-child { border-top:1px solid #e5e1d1; padding-top:16px; margin-bottom:0; font-size:.9rem; }
.csv-tool .content-section code { padding:2px 5px; border:1px solid #d9dfe5; border-radius:4px; background:#eef1f4; color:#374151; font-family:Consolas,Monaco,monospace; white-space:nowrap; }
.csv-tool .faq-list { margin:0; border:1px solid var(--border-soft); border-radius:var(--radius); overflow:hidden; background:#fff; }
.csv-tool .faq-list dt { margin:0; font-weight:600; }
.csv-tool .faq-list dt:not(:first-child) { border-top:1px solid var(--border-soft); }
.csv-tool .faq-question { display:flex; align-items:center; justify-content:space-between; gap:14px; width:100%; padding:14px 18px; background:#fff; color:var(--dark); border:0; border-radius:0; text-align:left; font-size:.93rem; line-height:1.65; }
.csv-tool .faq-question:hover,.csv-tool .faq-question[aria-expanded="true"] { background:#f0f7fb; }
.csv-tool .faq-question:focus-visible { outline-offset:-4px; }
.csv-tool .faq-question > span:first-child { min-width:0; }
.csv-tool .faq-indicator { flex:0 0 18px; color:#39819b; font-size:1.2rem; text-align:center; }
.csv-tool .faq-indicator::before { content:"+"; }
.csv-tool .faq-question[aria-expanded="true"] .faq-indicator::before { content:"−"; }
.csv-tool .faq-list .faq-answer { margin:0; padding:4px 18px 18px; font-size:.93rem; line-height:1.8; background:#f0f7fb; }
.csv-tool .troubleshooting-section table { border:1px solid var(--border-soft); }
.csv-tool .troubleshooting-section th:nth-child(1) { width:24%; }
.csv-tool .troubleshooting-section th:nth-child(2) { width:34%; }
.csv-tool .troubleshooting-section th:nth-child(3) { width:42%; color:#255e76; background:#e7f1f8; }
.csv-tool .troubleshooting-section tbody tr:nth-child(odd) { background:#fff; }
.csv-tool .troubleshooting-section tbody tr:nth-child(even) { background:#f7f9fb; }
.csv-tool .troubleshooting-section td { vertical-align:top; }
.csv-tool .troubleshooting-section td:first-child { font-weight:600; color:#344454; }
.csv-tool .troubleshooting-section td:last-child { border-left:2px solid #c9e3ec; color:#255e76; }
.csv-tool .related-tools { display:grid; gap:10px; }
.csv-tool .related-tools a { padding:14px; background:#f8f9fa; border:1px solid var(--border-soft); border-radius:var(--radius-sm); }
.csv-tool { min-width:0; }
.csv-tool #result-filename { overflow-wrap:anywhere; }
.csv-tool ul { padding-left:20px; }
@media(max-width:600px) { .csv-tool .tool-primary-panel { padding:16px; } .csv-tool .metadata { grid-template-columns:104px minmax(0,1fr); gap:6px 10px; font-size:.9rem; } .csv-tool .metadata dd { margin:0; } .csv-tool th,.csv-tool td { padding:8px; } .csv-tool button { width:100%; } }
@media(max-width:600px) { .csv-tool .capability-card,.csv-tool .limitation-card { padding:18px 14px; } .csv-tool .content-section h2 { font-size:1.15rem; } .csv-tool .limitation-card ul { grid-template-columns:1fr; gap:10px; } .csv-tool .faq-question { padding:13px 14px; } .csv-tool .faq-list .faq-answer { padding:4px 14px 16px; } .csv-tool .troubleshooting-section table { font-size:.82rem; line-height:1.7; } }
