:root{--bg:#fff;--surface:#fff;--soft:#f5fbf9;--text:#14233d;--muted:#60738f;--line:#e3ebef;--accent:#10b995;--accent-dark:#078d70;--accent-soft:#e0f7ef;--shadow:0 10px 32px rgba(20,35,61,.06)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}body.dark{--bg:#071613;--surface:#0d211d;--soft:#0a1b18;--text:#f2f8f6;--muted:#9bb4b0;--line:#294742;--accent:#10d8b1;--accent-dark:#09b997;--accent-soft:#0cbf9d22}a{color:inherit}.section,.hero-grid,.nav-wrap,.footer-grid{width:min(1060px,calc(100% - 44px));margin:auto}
.site-header{height:64px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(13px)}.nav-wrap{height:100%;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:9px;text-decoration:none;font-size:24px;font-weight:850;letter-spacing:-1.2px;margin-right:auto}.brand-accent{color:var(--accent)}.brand-mark{width:39px;height:39px;border:2px solid var(--accent);border-radius:8px;display:grid;place-items:center;color:var(--accent);font-size:12px;font-weight:900;background:var(--accent-soft)}.brand-mark.small{width:29px;height:29px;font-size:8px}
#mainNav{display:flex;align-items:center;height:100%;gap:4px}#mainNav > a,#mainNav .nav-drop-btn{height:100%;padding:0 10px;display:flex;align-items:center;border:0;border-bottom:2px solid transparent;background:none;color:inherit;font-size:12px;font-weight:700;text-decoration:none;cursor:pointer}#mainNav > a.active,#mainNav > a:hover{color:var(--accent-dark);border-bottom-color:var(--accent)}.nav-dropdown{height:100%;position:relative}.nav-drop-btn span{margin-left:5px;color:var(--muted)}.nav-drop-menu{position:absolute;top:58px;left:0;min-width:245px;padding:7px;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);display:none}.nav-dropdown.open .nav-drop-menu{display:block}.nav-drop-menu a{height:auto!important;border:0!important;display:flex;gap:10px;align-items:center;padding:9px;border-radius:7px;text-decoration:none}.nav-drop-menu a:hover{background:var(--soft)}.nav-drop-menu b{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;font-size:11px;flex:0 0 auto}.ndm-green{background:#d9f8ea;color:#14885f}.ndm-blue{background:#dceaff;color:#3277c1}.ndm-violet{background:#e8ddff;color:#7652d5}.ndm-purple{background:#eee5ff;color:#7b56d4}.ndm-orange{background:#ffe5d6;color:#c76a3d}.ndm-red{background:#ffe0e0;color:#cf5555}.nav-drop-menu span span{display:flex;flex-direction:column}.nav-drop-menu small{color:var(--muted);font-size:10px}.header-actions{display:flex;align-items:center;gap:10px}.theme-switch{border:0;background:none;display:flex;align-items:center;gap:7px;color:inherit;cursor:pointer;padding:0;font-size:15px}.theme-switch i{width:34px;height:19px;border-radius:99px;background:#dce5ef;display:block;position:relative}.theme-switch i:after{content:"";position:absolute;left:2px;top:2px;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #9aaabd}.theme-switch b{font-size:12px}.menu-btn{display:none;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:8px 10px;font-weight:700;color:inherit}
.hero{background:linear-gradient(180deg,var(--soft),var(--bg));border-bottom:1px solid var(--line)}.hero-grid{min-height:455px;padding:45px 0 34px;display:grid;grid-template-columns:1.05fr .95fr;gap:35px;align-items:center}.trust-pill{display:inline-flex;gap:10px;background:var(--accent-soft);color:var(--accent-dark);border-radius:99px;padding:7px 12px;font-size:10px;font-weight:800}.trust-pill i{font-style:normal;opacity:.55}.hero h1{font-size:clamp(46px,5vw,61px);line-height:1.01;letter-spacing:-3px;margin:16px 0 10px}.hero h1 span{color:var(--accent)}.hero p{font-size:16px;color:var(--muted);margin:0}.dropzone{margin-top:24px;width:550px;max-width:100%;min-height:202px;border:1.5px dashed var(--accent);border-radius:10px;background:color-mix(in srgb,var(--soft) 70%,transparent);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;transition:.2s}.dropzone.drag,.dropzone:hover{background:var(--accent-soft)}.upload-cloud{font:900 25px monospace;color:var(--accent);letter-spacing:-4px}.dropzone strong{font-size:16px}.dropzone span{font-size:12px;color:var(--muted)}.dropzone button{border:0;border-radius:8px;background:linear-gradient(135deg,#16cda8,#08a887);color:#fff;padding:10px 16px;font-weight:800;cursor:pointer}.dropzone .inline-link{background:none;color:var(--accent-dark);padding:10px 4px}.dropzone small{font-size:11px;color:var(--muted)}.file-status{min-height:14px;color:var(--accent-dark);font-size:10px}
.hero-art{height:370px;position:relative;display:flex;align-items:center;justify-content:center}.art-circle{position:absolute;border-radius:50%;background:#d9f2e9}.circle-one{width:190px;height:190px;right:20px;top:72px}.circle-two{width:95px;height:95px;left:32px;bottom:52px;background:#bcead9}.dark .art-circle{background:#104e41}.dark .circle-two{background:#0b3a31}.browser-card{width:min(93%,480px);z-index:2;background:#fbfcfc;color:#172725;border-radius:10px;box-shadow:0 25px 55px #0004;overflow:hidden}.window-bar{height:33px;border-bottom:1px solid #ddd;display:flex;align-items:center;gap:5px;padding-left:12px}.window-bar i{width:7px;height:7px;border-radius:50%;background:#d8e1df}.code-sheet{padding:11px 14px 14px;font:11px/1.65 monospace}.code-sheet div{display:grid;grid-template-columns:22px 1fr}.code-sheet div>span:first-child{color:#a2aaa8}.code-sheet em{color:#0869ba;font-style:normal}.code-sheet strong{color:#c34a28;font-weight:500}.code-sheet mark{background:none;color:#008c72}.json-badge{position:absolute;right:3px;top:23px;z-index:4;background:#0b9e82;color:#fff;border-radius:8px;width:66px;height:70px;display:grid;place-items:center;align-content:center;font-weight:900;box-shadow:0 8px 18px #0002}.json-badge small{font-size:10px}.art-arrow{position:absolute;right:8px;bottom:12px;color:var(--accent-dark);font-size:12px;font-style:italic}
.tools-section{padding:25px 0 42px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.section-heading label{font-size:11px;letter-spacing:2px;color:var(--accent-dark);font-weight:850}.section-heading h2{font-size:20px;margin:3px 0}.section-heading>a{font-size:12px;color:var(--accent-dark);text-decoration:none}.tools-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.tool-card{min-height:145px;border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:13px;position:relative;text-decoration:none;transition:.18s}.tool-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.tool-icon{width:42px;height:42px;border-radius:10px;display:grid;place-items:center;font-weight:900;margin-bottom:8px}.card-mint .tool-icon{background:#d8fff0;color:#0b9e82}.card-purple .tool-icon{background:#e8ddff;color:#7652d5}.card-green .tool-icon{background:#d8f8e7;color:#18845c}.card-blue .tool-icon{background:#dceaff;color:#387bc1}.card-orange .tool-icon{background:#ffe5da;color:#d17145}.card-violet .tool-icon{background:#eee2ff;color:#7950ca}.card-cyan .tool-icon{background:#dcf7ff;color:#197f9a}.tool-card h3{font-size:13px;margin:0 0 3px}.tool-card p{color:var(--muted);font-size:11px;margin:0;line-height:1.45}.tool-card>b{position:absolute;right:13px;bottom:9px}
.workspace{padding:6px 0 65px}.section-note{color:var(--muted);font-size:12px;margin:3px 0}.workspace-shell{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.work-toolbar{padding:14px 16px;border-bottom:1px solid var(--line);display:flex;align-items:end;justify-content:space-between;gap:15px}.mode-select{display:flex;flex-direction:column;gap:5px}.mode-select label{font-size:10px;letter-spacing:1.3px;color:var(--muted);font-weight:800}.mode-select select{min-width:220px;border:1px solid var(--line);background:var(--bg);color:inherit;border-radius:8px;padding:9px 11px;outline:none}.toolbar-actions{display:flex;gap:8px}.primary-btn,.secondary-btn,.download-btn,.panel-head button{border-radius:8px;padding:10px 15px;font-weight:800;font-size:12px;cursor:pointer}.primary-btn{border:0;background:linear-gradient(135deg,#16cda8,#08a887);color:#fff}.secondary-btn,.panel-head button{border:1px solid var(--line);background:var(--bg);color:inherit}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.editor-panel{min-height:350px;background:var(--editor-bg);display:flex;flex-direction:column}.light .editor-panel{background:var(--editor-bg)}.panel-head{height:45px;display:flex;align-items:center;justify-content:space-between;padding:0 13px;border-bottom:1px solid #294742;color:#9bb4b0;font-size:10px;font-weight:800;letter-spacing:1.3px}.panel-head button{padding:6px 9px;color:inherit;background:transparent}.editor-panel textarea{width:100%;flex:1;min-height:260px;resize:vertical;border:0;outline:0;background:transparent;color:#d7f8ef;padding:16px;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.compare-wrap{display:none;border-top:1px solid #294742;padding:10px}.compare-wrap.show{display:block}.compare-wrap label{display:block;color:#9bb4b0;font-size:9px;margin-bottom:5px}.compare-wrap textarea{min-height:110px;padding:8px}.output-panel{position:relative}.output-panel pre{margin:0;padding:16px;color:#d7f8ef;white-space:pre-wrap;overflow:auto;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;min-height:260px;flex:1}.result-actions{padding:10px 13px;border-top:1px solid #294742}.download-btn{border:0;background:#0b9e82;color:#fff}.tool-message{min-height:25px;padding:8px 14px;color:var(--accent-dark);font-size:11px}
.info-section{padding:5px 0 55px}.info-grid{display:grid;grid-template-columns:1.15fr .9fr .9fr;gap:38px}.info-grid label{font-size:10px;letter-spacing:2px;color:var(--accent-dark);font-weight:850}.feature-list{display:grid;gap:15px;margin-top:17px}.feature{display:flex;gap:12px}.feature-icon{width:34px;height:34px;border-radius:8px;display:grid;place-items:center;flex:0 0 auto}.feature-icon.green{background:#d8f8e7;color:#18845c}.feature-icon.blue{background:#dceaff;color:#387bc1}.feature-icon.purple{background:#eee2ff;color:#7950ca}.feature-icon.pink{background:#ffe1ed;color:#c45a7e}.feature strong,.step strong{font-size:13px}.feature p,.step p,.json-info p{font-size:11px;color:var(--muted);margin:2px 0 0}.steps{display:grid;gap:18px;margin-top:17px}.step{display:flex;gap:12px}.step>span{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent-dark);display:grid;place-items:center;font-weight:900;font-size:12px;flex:0 0 auto}.thats-it{margin-top:17px;color:var(--accent-dark);font-weight:900;font-size:12px}.json-info{border:1px solid var(--line);background:var(--soft);border-radius:12px;padding:19px}.info-file-icon{width:43px;height:43px;border-radius:10px;background:var(--accent-soft);color:var(--accent-dark);display:grid;place-items:center;font-weight:900;margin-bottom:10px}.json-info h3{font-size:15px;margin:0}.json-info a{font-size:11px;color:var(--accent-dark);font-weight:800;text-decoration:none}
.all-tools{padding:10px 0 48px}.tool-links{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.tool-links h3{font-size:13px;margin:0 0 9px}.tool-links a{display:block;color:var(--muted);font-size:11px;text-decoration:none;padding:4px 0}.tool-links a:hover{color:var(--accent-dark)}.faq{padding:10px 0 55px}.faq>label{font-size:10px;letter-spacing:2px;color:var(--accent-dark);font-weight:850}.faq h2{font-size:22px;margin:3px 0 15px}.faq details{border-top:1px solid var(--line);padding:13px 0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{cursor:pointer;font-size:13px;font-weight:750}.faq p{color:var(--muted);font-size:11px;margin:7px 0 0;max-width:800px}
.cta{padding:45px 20px;text-align:center;background:linear-gradient(135deg,#dff8ef,#f5fbf9);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dark .cta{background:#0a211c}.cta h2{font-size:30px;line-height:1.1;letter-spacing:-1px;margin:0 0 17px}
footer{padding:28px 0;border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:28px;align-items:start}.footer-brand .brand{margin:0;font-size:18px}.footer-brand p{color:var(--muted);font-size:10px}.footer-grid h4{font-size:11px;margin:3px 0 7px}.footer-grid>div>a:not(.brand){display:block;color:var(--muted);font-size:10px;margin:5px 0;text-decoration:none}.copyright{grid-column:1/-1;color:var(--muted);font-size:10px}
.modal{display:none;position:fixed;inset:0;background:#000b;z-index:80;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-box{width:min(650px,100%);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:25px;position:relative}.modal-box>label{font-size:10px;letter-spacing:2px;color:var(--accent-dark);font-weight:850}.modal-box h2{font-size:22px;margin:4px 0}.modal-box textarea{display:block;width:100%;height:220px;margin:12px 0;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:inherit;padding:13px;font:13px monospace;outline:none}.modal-close{position:absolute;right:12px;top:6px;border:0;background:none;color:var(--muted);font-size:28px;cursor:pointer}
@media(max-width:1050px){.tools-grid{grid-template-columns:repeat(3,1fr)}.hero-grid{grid-template-columns:1fr}.hero-art{display:none}.info-grid{grid-template-columns:1fr 1fr}.json-info{grid-column:1/-1}}
@media(max-width:760px){.section,.hero-grid,.nav-wrap,.footer-grid{width:calc(100% - 28px)}
.site-header{height:59px}
.menu-btn{display:block}
.theme-switch{display:none}
#mainNav{display:none;position:absolute;top:59px;left:12px;right:12px;height:auto;max-height:calc(100vh - 70px);overflow:auto;flex-direction:column;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 16px;box-shadow:var(--shadow);backdrop-filter:blur(14px);color:var(--text)}
#mainNav.open{display:flex}
#mainNav > a,#mainNav .nav-drop-btn{height:auto;min-height:44px;width:100%;padding:12px 10px;border-radius:10px;border:1px solid transparent;justify-content:space-between;font-size:15px;text-align:left;color:var(--text);background:transparent}
#mainNav > a:hover,#mainNav .nav-drop-btn:hover{background:var(--soft);border-color:var(--line)}
#mainNav > a.active,#mainNav > a:hover{border-bottom-color:transparent;color:var(--accent)}
.nav-dropdown{height:auto;position:relative;width:100%}
.nav-drop-btn span{margin-left:auto;color:var(--muted)}
.nav-drop-menu{position:static;display:none;min-width:0;margin-top:8px;padding:8px;background:var(--soft);border:1px solid var(--line);box-shadow:none;border-radius:12px}
.nav-dropdown.open .nav-drop-menu{display:block}
.nav-drop-menu a{display:flex;align-items:center;padding:10px 12px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text)}
.nav-drop-menu a strong{font-size:13px}
.nav-drop-menu small{font-size:11px}
.hero-grid{min-height:0;padding:38px 0}.hero-copy{min-width:0}.hero h1{font-size:45px}.desktop{display:none}.tools-grid{grid-template-columns:1fr 1fr}.editor-grid{grid-template-columns:1fr}.editor-panel{min-height:290px}.work-toolbar{align-items:stretch;flex-direction:column}.mode-select select{width:100%}.toolbar-actions button{flex:1}.info-grid{grid-template-columns:1fr}.tool-links{grid-template-columns:1fr 1fr}.json-info{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tools-grid{grid-template-columns:1fr}.tool-links{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start;gap:7px}.dropzone{min-height:190px}.toolbar-actions{width:100%}.footer-grid{grid-template-columns:1fr}.copyright{grid-column:auto}}
body.light{--bg:#fff;--surface:#fff;--soft:#f5fbf9;--text:#14233d;--muted:#60738f;--line:#e3ebef;--accent:#10b995;--accent-dark:#078d70;--accent-soft:#e0f7ef}.json-token{font-weight:600}.json-key{color:#7dd3fc}.json-string{color:#86efac}.json-number{color:#fbbf24}.json-boolean{color:#c084fc}.json-punctuation{color:#cbd5e1}
@media(max-width:480px){.tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.workspace-code-wrap{display:flex;flex:1;min-width:0;min-height:260px;overflow:hidden}.workspace-line-numbers{flex:0 0 42px;box-sizing:border-box;padding:16px 8px 16px 5px;overflow:hidden;border-right:1px solid #294742;color:#9bb4b0;text-align:right;user-select:none;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.workspace-line-numbers span{display:block;height:1.55em}.workspace-code-wrap>textarea,.workspace-code-wrap>pre{width:0;min-width:0;flex:1}.workspace-code-wrap>textarea{min-height:260px}.compare-wrap .workspace-code-wrap{min-height:110px}.compare-wrap .workspace-line-numbers{padding-top:8px;padding-bottom:8px}.compare-wrap .workspace-code-wrap>textarea{min-height:110px;padding:8px}.output-code-wrap{min-height:260px}.output-code-wrap>pre{min-height:260px;overflow:auto}

:root,body.dark,body.light{--bg:#0D1117;--editor-bg:#010409;--surface:#161B22;--soft:#1C2128;--text:#E6EDF3;--muted:#8B949E;--line:#30363D;--accent:#3FB950;--accent-dark:#3FB950;--accent-soft:rgba(63,185,80,.14);--error:#F85149;--shadow:0 10px 32px rgba(0,0,0,.28)}
.editor-panel,#jsonInput,#jsonOutput,.formatter-tree,.numbered-code-wrap,.workspace-code-wrap textarea,.workspace-code-wrap pre{background:var(--editor-bg)}
.panel-head,.compare-wrap{border-color:var(--line)}
.workspace-line-numbers{border-color:var(--line);color:var(--muted)}
.dropzone button,.primary-btn,.download-btn,.json-badge{background:var(--accent);color:var(--text)}
.content-main .content-button{background:var(--accent)}

.primary-btn,.secondary-btn,.download-btn,.panel-action,.dropzone button,.menu-btn,.editor-commandbar button,.editor-findbar button,.modal-close{
  min-height:36px;
  border-radius:8px;
  font-weight:750;
  transition:background-color .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.primary-btn,.download-btn,.dropzone button,#openFileBtn,.content-main .content-button{
  border:1px solid transparent;
  background:var(--accent);
  color:#0D1117;
}
.secondary-btn,.panel-action,.menu-btn,.editor-commandbar button,.editor-findbar button{
  border:1px solid var(--line);
  background:var(--surface);
  color:var(--text);
}
.dropzone .inline-link{
  min-height:36px;
  border-color:transparent;
  background:transparent;
  color:var(--accent);
}
.formatter-tool .formatter-toolbar,.formatter-tool .formatter-panel-head{
  background:var(--surface);
}
.formatter-tool .formatter-panel-head{
  min-height:54px;
}
.formatter-main .formatter-tool,.workspace-shell{
  border-radius:14px;
  border-color:var(--line);
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.tool-card{
  min-height:158px;
  padding:16px;
  border-radius:12px;
  background:var(--surface);
}
.output-code-wrap>.workspace-output{
  box-sizing:border-box;
  width:0;
  min-width:0;
  min-height:260px;
  flex:1;
  overflow:auto;
  padding:16px;
  color:#d7f8ef;
  white-space:pre-wrap;
  font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;
}
.output-code-wrap.table-output #outputLineNumbers{display:none}
.workspace-csv-table{width:100%;border-collapse:collapse;text-align:left}
.workspace-csv-table th,.workspace-csv-table td{max-width:360px;padding:8px 10px;border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere;vertical-align:top}
.workspace-csv-table th,.workspace-excel-table th{position:sticky;top:-16px;background:var(--surface);color:var(--text);font-weight:800}
.workspace-csv-table tbody tr:nth-child(even),.workspace-excel-table tbody tr:nth-child(even){background:var(--surface)}
.developer-section{padding:10px 0 28px}
.developer-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.developer-card>div:first-child{min-width:0}
.developer-card label{color:var(--accent-dark);font-size:10px;font-weight:850;letter-spacing:1.7px}
.developer-card h2{margin:5px 0;font-size:20px}
.developer-card p{max-width:680px;margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.developer-links{display:flex;flex:0 0 auto;gap:10px;flex-wrap:wrap}
.developer-links a{display:inline-flex;align-items:center;gap:5px;min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:var(--text);font-size:12px;font-weight:750;text-decoration:none}
.developer-links a:hover{border-color:var(--accent);background:var(--soft)}
.developer-links a span{color:var(--accent)}
@media(max-width:760px){.developer-card{align-items:flex-start;flex-direction:column;gap:15px;padding:18px}.developer-links{width:100%}}
.tool-card p{max-width:28ch}
.tool-card>b{color:var(--accent);font-size:17px;transition:transform .16s ease}
.tool-card:hover>b{transform:translateX(3px)}
button:not(:disabled):hover,.dropzone .inline-link:hover{
  border-color:var(--accent);
}
.primary-btn:not(:disabled):hover,.download-btn:not(:disabled):hover,.dropzone button:not(:disabled):hover,#openFileBtn:not(:disabled):hover,.content-main .content-button:hover{
  filter:brightness(1.08);
  box-shadow:0 5px 16px rgba(63,185,80,.2);
}
.secondary-btn:not(:disabled):hover,.panel-action:not(:disabled):hover,.menu-btn:not(:disabled):hover,.editor-commandbar button:not(:disabled):hover,.editor-findbar button:not(:disabled):hover{
  background:var(--soft);
  color:var(--accent);
}
button:not(:disabled):active,.tool-card:active{
  transform:translateY(1px);
}
button:disabled{
  cursor:not-allowed;
  opacity:.48;
}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}
.formatter-tool .formatter-panel-head>div,.formatter-tool .output-actions,.formatter-tool .formatter-actions{
  align-items:center;
}
.formatter-tool .panel-action{
  min-height:34px;
  padding:7px 11px;
}
input[type="search"],input[type="text"],select,textarea{
  accent-color:var(--accent);
}
select, input[type="search"], input[type="text"]{
  border-color:var(--line);
  border-radius:8px;
}
select:focus,input[type="search"]:focus,input[type="text"]:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(63,185,80,.13);
}
@media(max-width:760px){
  .formatter-tool .formatter-panel-head{align-items:flex-start}
  .formatter-tool .formatter-panel-head>div{justify-content:flex-start}
  .formatter-tool .output-actions{justify-content:flex-start}
  .formatter-tool .formatter-panel-head>div button{flex:0 0 auto}
  .tool-card{min-height:150px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
.site-footer{
  padding:0;
  border-top:1px solid var(--line);
  background:var(--surface);
}
.footer-inner{
  width:min(1180px,calc(100% - 44px));
  margin:0 auto;
}
.footer-link-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(20px,4vw,52px);
  padding:46px 0 38px;
}
.footer-column{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
}
.footer-column h2,.footer-eyebrow{
  margin:0 0 3px;
  color:var(--text);
  font-size:11px;
  font-weight:800;
  letter-spacing:1.1px;
}
.footer-column a,.footer-legal a{
  color:var(--muted);
  font-size:13px;
  text-decoration:none;
  transition:color .16s ease;
}
.footer-column a:hover,.footer-legal a:hover{
  color:var(--accent);
}
.footer-column .footer-all-link{
  margin-top:3px;
  color:var(--muted);
}
.footer-column .footer-all-link span,.footer-cta span{
  margin-left:4px;
  color:var(--accent);
}
.footer-about{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:23px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.footer-about>div{min-width:0}
.footer-actions{display:flex;flex:0 0 auto;gap:8px;flex-wrap:wrap}
.footer-eyebrow{
  display:block;
  color:var(--muted);
  font-size:10px;
}
.footer-about p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:13px;
}
.footer-cta{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:0 14px;
  border:1px solid var(--line);
  border-radius:8px;
  color:var(--text);
  font-size:12px;
  font-weight:750;
  text-decoration:none;
  transition:border-color .16s ease,background-color .16s ease;
}
.footer-cta:hover{
  border-color:var(--accent);
  background:var(--soft);
}
.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px 24px;
  padding:17px 0 20px;
}
.footer-bottom p{
  margin:0;
  color:var(--muted);
  font-size:12px;
}
.footer-legal{
  display:flex;
  align-items:center;
  gap:22px;
}
@media(max-width:850px){
  .footer-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
  .footer-bottom{flex-wrap:wrap}
}
@media(max-width:560px){
  .footer-inner{width:calc(100% - 32px)}
  .footer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding:34px 0}
  .footer-about{align-items:flex-start;flex-direction:column;gap:14px}
  .footer-bottom{align-items:flex-start;flex-direction:column;padding:16px 0 22px}
  .footer-legal{flex-wrap:wrap;gap:12px 20px}
}
/* CSV pages share the source site's theme tokens while keeping their own tools. */
:root,body.dark,body.light{--green:var(--accent);--green-dark:var(--accent-dark);--green-soft:var(--accent-soft);--blue:var(--accent)}
.site-header{display:block;padding:0;border-color:var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent)}.nav-wrap{width:min(1060px,calc(100% - 44px));height:100%;margin:auto;display:flex;align-items:center;gap:28px}
body.dark .theme-switch{display:flex}
/* Bring each CSV tool's custom controls onto RomitJSON's accent and surfaces. */
body.dark .viewer-pill{background:var(--accent-soft);color:var(--accent)}body.dark .viewer-upload-inner{background:var(--soft);border-color:var(--accent)}body.dark .viewer-upload-inner.drag,body.dark .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent)}body.dark .viewer-upload-icon,body.dark .editor-upload .viewer-upload-icon{color:var(--accent)}body.dark .viewer-primary,body.dark .editor-upload .viewer-primary{background:linear-gradient(135deg,#16cda8,#08a887);border-color:transparent;color:#fff;box-shadow:0 5px 14px rgba(8,168,135,.24)}body.dark .editor-hero-inner h1 span{color:var(--accent)}body.dark .editor-upload{border-color:var(--accent);color:var(--text)}body.dark .editor-table-wrap .csv-cell:focus{border-color:var(--accent)}body.dark .viewer-upload-inner strong,body.dark .editor-hero-inner h1,body.dark .editor-upload-card strong{color:var(--text)}
body.dark .viewer-hero,body.dark .editor-hero{background:linear-gradient(180deg,var(--soft),var(--bg));border-color:var(--line)}body.dark .viewer-upload-card,body.dark .editor-upload-card,body.dark .viewer-data-card,body.dark .editor-data-card,body.dark .validator-data-card,body.dark .splitter-data-card,body.dark .merger-data-card,body.dark .cleaner-data-card,body.dark .json-data-card,body.dark .json-csv-card{background:var(--surface);border-color:var(--line)}
/* Footer width fixes for the five-column links and closing callout. */
.footer-column p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.footer-about>div:first-child{flex:1 1 auto;min-width:0}.footer-actions{flex:0 1 auto;min-width:0}
@media(max-width:560px){.footer-about>div:first-child{width:100%;flex:0 0 auto}.footer-actions{width:100%;display:flex;flex-wrap:wrap;align-items:flex-start}.footer-cta{max-width:100%;white-space:normal}.footer-link-grid{width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Replace the legacy global footer grid with the source site's full-width footer. */
footer.site-footer{display:block;width:100%;max-width:none;margin:0;position:static;grid-template-columns:none;gap:0;padding:0;border-top:1px solid var(--line);background:var(--surface)}footer.site-footer .footer-inner{display:block;width:min(1180px,calc(100% - 44px));margin:0 auto}footer.site-footer .footer-link-grid{width:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(20px,4vw,52px)}
@media(max-width:900px){footer.site-footer .footer-link-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}}
@media(max-width:560px){footer.site-footer .footer-inner{width:calc(100% - 32px)}footer.site-footer .footer-link-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px;padding:34px 0}footer.site-footer .footer-about{align-items:flex-start;flex-direction:column;gap:14px}footer.site-footer .footer-about>div:first-child{width:100%;flex:none}footer.site-footer .footer-actions{width:100%;flex-wrap:wrap}footer.site-footer .footer-bottom{align-items:flex-start;flex-direction:column;padding:16px 0 22px}}
/* Viewer-page accents use the same green treatment as the reference site. */
body.dark .viewer-copy h1 span{color:var(--accent)}body.dark .viewer-hero:before,body.dark .viewer-hero:after{background:var(--accent-soft);opacity:1}body.dark .viewer-pill{background:var(--accent-soft);color:var(--accent)}

/* Readable homepage guide content for common CSV workflows. */
.csv-guide{padding-top:12px;padding-bottom:48px}.csv-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.csv-guide-grid article{border:1px solid var(--line);background:var(--surface);border-radius:10px;padding:18px}.csv-guide-grid h3{font-size:14px;margin:0 0 7px}.csv-guide-grid p{font-size:12px;line-height:1.65;color:var(--muted);margin:0}.csv-guide-grid a{color:var(--accent-dark);font-weight:700;text-decoration:underline;text-underline-offset:2px}body.dark .csv-guide-grid a{color:var(--accent)}@media(max-width:600px){.csv-guide-grid{grid-template-columns:1fr}.csv-guide-grid article{padding:15px}}

/* Keep one fixed theme and remove the dark/light control from every page. */
.theme-switch{display:none!important}

/* CSV table viewer guide, following the structured tool article used on RomitJSON. */
.viewer-seo-content{width:min(860px,calc(100% - 44px));max-width:860px;margin:54px auto 0;padding:30px 0 52px;border-top:1px solid var(--line);color:var(--text)}
.viewer-seo-content h2{margin:30px 0 12px;font-size:23px;line-height:1.3;letter-spacing:-.35px}
.viewer-seo-content h2:first-child{margin-top:0}
.viewer-seo-content p,.viewer-seo-content ol{max-width:760px;color:var(--muted);font-size:14px;line-height:1.75}
.viewer-seo-content p{margin:0 0 14px}
.viewer-seo-content ol{margin:0 0 16px;padding-left:24px}
.viewer-seo-content li{padding-left:4px;margin-bottom:6px}
.viewer-seo-content code{color:var(--accent);font:inherit;font-weight:700}
.viewer-seo-content a{color:var(--accent);text-underline-offset:3px}
.tool-seo-table-wrap{max-width:100%;overflow-x:auto;margin:12px 0 18px}
.tool-seo-table{width:100%;min-width:440px;border-collapse:collapse;color:var(--text);font-size:13px;line-height:1.6}
.tool-seo-table th,.tool-seo-table td{padding:10px 12px;border:1px solid var(--line);text-align:left;vertical-align:top}
.tool-seo-table thead th{background:var(--soft);font-weight:750}
.viewer-seo-content details{padding:14px 0;border-top:1px solid var(--line)}
.viewer-seo-content details:last-child{border-bottom:1px solid var(--line)}
.viewer-seo-content summary{color:var(--text);font-weight:700;cursor:pointer}
.viewer-seo-content details p{margin:10px 0 0}
@media(max-width:760px){.viewer-seo-content{width:calc(100% - 28px);margin-top:38px;padding-top:24px}.viewer-seo-content h2{font-size:21px}}

/* Focused CSV readers and CSV-to-HTML output tools. */
.special-workspace{width:min(1060px,calc(100% - 44px));margin:0 auto 34px}
.special-data-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.special-filebar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px;border-bottom:1px solid var(--line)}
.special-filebar strong,.special-filebar span{display:block}.special-filebar span,.special-note{color:var(--muted);font-size:12px;margin:4px 0 10px}
.special-controls{padding:18px}.special-controls h2{font-size:18px;margin:0 0 16px}.special-controls select,.special-controls input[type=search],.special-controls input[type=text]{width:min(100%,520px);min-height:40px;display:block;margin:5px 0 14px;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text)}
.special-label{display:block;font-size:12px;font-weight:750;margin:10px 0 3px}.special-actions{display:flex;flex-wrap:wrap;gap:9px;margin:12px 0}.special-check{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:13px;margin:10px 0 16px}
.special-table-wrap{max-width:100%;overflow:auto;margin:10px 0}.special-table{width:100%;border-collapse:collapse;color:var(--text);font-size:13px}.special-table th,.special-table td{padding:9px 11px;border:1px solid var(--line);text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}.special-table th{background:var(--soft)}.row-select{border:0;background:transparent;color:var(--accent);font:inherit;text-decoration:underline;cursor:pointer}.special-details{border-top:1px solid var(--line);padding:16px 18px}.special-details h3,.special-preview h3{margin:0 0 10px}.special-code{display:block;width:100%;min-height:220px;resize:vertical;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:12px/1.5 ui-monospace,Consolas,monospace}.special-preview{max-height:460px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:14px;margin:10px 0}.special-preview table{border-collapse:collapse}.special-preview th,.special-preview td{border:1px solid var(--line);padding:6px 9px;text-align:left}.special-preview caption{font-weight:700;text-align:left;padding:5px}
@media(max-width:760px){.special-workspace{width:calc(100% - 28px)}.special-filebar{align-items:flex-start;flex-direction:column}.special-controls{padding:14px}.special-table{font-size:12px}}

/* JSON to CSV converter workspace and paste-first start screen. */
.json-to-csv-page{background:var(--bg);min-height:calc(100vh - 60px)}
.json-to-csv-page .editor-upload-card[hidden],.json-to-csv-page .editor-content[hidden],.json-to-csv-page .json-csv-workspace[hidden]{display:none!important}
.json-to-csv-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.json-to-csv-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:34px}
.json-to-csv-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}
.json-to-csv-page .editor-hero-inner p{max-width:450px;font-size:15px}
.json-to-csv-page .editor-upload-card{height:auto;min-height:270px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.json-to-csv-page .editor-upload{min-height:242px;height:auto;padding:15px;border-color:color-mix(in srgb,var(--accent) 56%,var(--line));background:var(--soft)}
.json-to-csv-page .editor-upload strong{font-size:14px}
.json-csv-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.json-csv-paste-card h2{margin:3px 0 2px;font-size:17px;line-height:1.3;color:var(--text)}
.json-csv-paste-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.json-csv-paste-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.25px}
.json-csv-paste-card textarea{display:block;width:100%;min-height:112px;resize:vertical;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}
.json-csv-paste-card button{align-self:flex-start;min-height:38px}
.json-to-csv-page .editor-content{max-width:1160px;padding-top:24px}
.json-csv-card{border-color:var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.json-csv-filebar{min-height:72px;padding:13px 18px;border-color:var(--line)}
.json-csv-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.json-csv-live-status{color:var(--accent);font-size:12px}
.json-csv-workbench{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}
.json-csv-input,.json-csv-output{padding:19px;background:var(--surface);border:0}
.json-csv-panel-heading{align-items:center}
.json-csv-panel-heading>div:first-child{display:flex;align-items:center;gap:9px}
.json-csv-panel-heading h2{color:var(--text);font-size:16px}
.json-csv-step{display:inline-flex;align-items:center;min-height:21px;padding:2px 7px;border-radius:20px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:850;letter-spacing:.5px}
.json-csv-input textarea{min-height:320px;padding:14px;border-color:var(--line);border-radius:9px;background:var(--soft);color:var(--text);font-size:12px;line-height:1.65;tab-size:2}
.json-csv-input textarea:focus,.json-csv-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}
.json-csv-options{display:grid;gap:8px;margin-top:14px}
.json-csv-options label{min-height:36px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--muted);font-size:12px}
.json-csv-options input{accent-color:var(--accent)}
.json-csv-stale{margin:9px 0 0;color:#ad7627;font-size:11px}
.json-csv-stale[hidden]{display:none}
.json-csv-error{padding:10px 12px;border-radius:7px;background:#ef444414;font-size:12px}
.json-csv-table-wrap{max-height:460px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.json-csv-table-wrap table{width:100%;min-width:360px;border-collapse:separate;border-spacing:0;font-size:12px}
.json-csv-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;background:var(--soft);color:var(--text);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.json-csv-table-wrap td{max-width:260px;padding:9px 12px;color:var(--text);border-bottom:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.json-csv-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 52%,var(--bg))}
.json-csv-output-footer{padding:10px 2px;color:var(--muted);font-size:11px}
.json-csv-seo-content{margin-top:12px}
@media(max-width:900px){.json-to-csv-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.json-to-csv-page .editor-hero-inner>div:first-child{text-align:center}.json-to-csv-page .editor-hero-inner p{margin:0 auto}.json-to-csv-page .editor-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:760px){.json-to-csv-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.json-to-csv-page .editor-upload-card{grid-template-columns:1fr}.json-to-csv-page .editor-upload{min-height:210px}.json-csv-paste-card{padding:14px}.json-csv-workbench{grid-template-columns:minmax(0,1fr)}.json-csv-input,.json-csv-output{padding:14px}.json-csv-input{border-bottom:1px solid var(--line)}.json-csv-input textarea{min-height:245px}.json-csv-panel-heading{flex-direction:row;align-items:center}.json-csv-panel-heading .json-actions{width:auto}.json-csv-panel-heading .json-actions button{flex:0 1 auto}}
@media(max-width:480px){.json-to-csv-page .editor-hero-inner h1{font-size:35px}.json-csv-filebar{align-items:flex-start;flex-direction:column}.json-csv-file-actions{width:100%;justify-content:space-between}.json-csv-panel-heading{align-items:flex-start;flex-direction:column}.json-csv-panel-heading .json-actions{width:100%}.json-csv-panel-heading .json-actions button{flex:1}.json-csv-panel-heading>div:first-child{align-items:flex-start}}

/* CSV to Excel upload, pasted input, and complete data table. */
.excel-csv-page{background:var(--bg);min-height:calc(100vh - 60px)}
.excel-csv-page .editor-upload-card[hidden],.excel-csv-page .editor-content[hidden],.excel-csv-page .excel-workspace[hidden]{display:none!important}
.excel-csv-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.excel-csv-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:34px}
.excel-csv-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}
.excel-csv-page .editor-hero-inner p{max-width:450px;font-size:15px}
.excel-csv-page .editor-hero-inner p code{color:var(--accent);font-weight:750}
.excel-csv-page .editor-upload-card{height:auto;min-height:270px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.excel-csv-page .editor-upload{height:auto;min-height:242px;padding:15px;border-color:color-mix(in srgb,var(--accent) 56%,var(--line));background:var(--soft)}
.excel-csv-page .editor-upload strong{font-size:14px}
.excel-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.excel-paste-card h2{margin:3px 0 2px;color:var(--text);font-size:17px;line-height:1.3}
.excel-paste-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.excel-paste-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.25px}
.excel-paste-card textarea{display:block;width:100%;min-height:112px;resize:vertical;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}
.excel-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}
.excel-paste-card button{align-self:flex-start;min-height:38px}
.excel-csv-page .editor-content{max-width:1160px;padding-top:24px}
.excel-data-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.excel-filebar{min-height:72px;padding:13px 18px;border-color:var(--line)}
.excel-options{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--soft)}
.excel-options>label{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.excel-options>label:first-child input{width:145px}
.excel-options input[type="text"],.excel-options select{height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}
.excel-options input[type="checkbox"]{width:16px;height:16px;margin:0;accent-color:var(--accent)}
.excel-options>button{min-height:39px;margin-left:auto}
.excel-error{margin:12px 18px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.excel-table-wrap{max-height:64vh;margin:0 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.excel-table-wrap table{min-width:620px;border-collapse:separate;border-spacing:0;font-size:12px}
.excel-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;background:var(--accent-soft);color:var(--text);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.excel-table-wrap td{max-width:320px;padding:9px 12px;color:var(--text);border-bottom:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.excel-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}
.excel-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.excel-preview-footer{padding:11px 18px;color:var(--muted);font-size:11px}
.excel-table-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px 12px}
.excel-table-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}
.excel-table-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}
.excel-table-heading>span{flex:0 0 auto;padding:5px 9px;border:1px solid var(--line);border-radius:20px;background:var(--soft);color:var(--accent);font-size:10px;font-weight:750}
.csv-excel-seo-content{margin-top:12px}
@media(max-width:900px){.excel-csv-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.excel-csv-page .editor-hero-inner>div:first-child{text-align:center}.excel-csv-page .editor-hero-inner p{margin:0 auto}.excel-csv-page .editor-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:760px){.excel-csv-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.excel-csv-page .editor-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.excel-csv-page .editor-upload{min-height:212px;padding:10px}.excel-csv-page .editor-upload strong{font-size:12px}.excel-csv-page .editor-upload .viewer-upload-icon svg{width:36px;height:36px}.excel-paste-card{padding:12px}.excel-paste-card textarea{min-height:90px;padding:8px;font-size:10px}.excel-paste-card button{width:100%;justify-content:center;padding-left:8px;padding-right:8px}.excel-options{align-items:stretch;flex-direction:column;gap:11px;padding:13px}.excel-options>label{justify-content:space-between;flex-wrap:wrap}.excel-options>label:first-child input{width:min(100%,200px)}.excel-options>button{width:100%;margin:0}.excel-table-heading{padding:13px 12px 10px}.excel-table-wrap{max-height:55vh;margin:0 11px}.excel-error{margin:10px 12px}.excel-preview-footer{padding:10px 12px}}
@media(max-width:480px){.excel-csv-page .editor-hero-inner h1{font-size:35px}.excel-csv-page .editor-upload-card{grid-template-columns:1fr}.excel-csv-page .editor-upload{min-height:176px;padding:15px}.excel-csv-page .editor-upload strong{font-size:14px}.excel-csv-page .editor-upload .viewer-upload-icon svg{width:48px;height:48px}.excel-paste-card{padding:14px}.excel-paste-card button{width:auto;justify-content:center}.excel-filebar{align-items:flex-start;flex-direction:column}}

/* Excel to CSV page has its own namespace to keep it independent from CSV to Excel. */
.excel-to-csv-page{min-height:calc(100vh - 60px);background:var(--bg)}
.excel-to-csv-page .editor-upload-card[hidden],.excel-to-csv-page .editor-content[hidden],.excel-to-csv-page .excel-csv-workspace[hidden]{display:none!important}
.excel-to-csv-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.excel-to-csv-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:36px}
.excel-to-csv-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}
.excel-to-csv-page .editor-hero-inner p{max-width:440px;font-size:15px}
.excel-to-csv-page .editor-upload-card{height:auto;min-height:250px;padding:13px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.excel-to-csv-page .editor-upload{height:auto;min-height:222px;padding:16px;border-color:color-mix(in srgb,var(--accent) 56%,var(--line));background:var(--soft)}
.excel-to-csv-page .editor-upload strong{font-size:15px}
.excel-to-csv-page .editor-content{max-width:1160px;padding-top:24px}
.excel-to-csv-page .excel-csv-data-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.excel-to-csv-page .excel-csv-filebar{min-height:72px;padding:13px 18px;border-color:var(--line)}
.excel-to-csv-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.excel-to-csv-file-actions [role="status"]{color:var(--accent);font-size:11px}
.excel-to-csv-controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--soft)}
.excel-to-csv-controls>label{display:flex;flex-direction:column;gap:5px;min-width:190px;color:var(--muted);font-size:11px;font-weight:700}
.excel-to-csv-controls select{height:39px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}
.excel-to-csv-controls select:focus{outline:2px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:1px}
.excel-to-csv-actions{display:flex;gap:8px;margin-left:auto}
.excel-to-csv-actions button{min-height:39px;justify-content:center}
.excel-to-csv-table-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px 12px}
.excel-to-csv-table-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}
.excel-to-csv-table-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}
.excel-to-csv-table-heading>span{flex:0 0 auto;padding:5px 9px;border:1px solid var(--line);border-radius:20px;background:var(--soft);color:var(--accent);font-size:10px;font-weight:750}
.excel-to-csv-page .excel-csv-table-wrap{max-height:64vh;margin:0 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.excel-to-csv-page .excel-csv-table-wrap table{min-width:620px;border-collapse:separate;border-spacing:0;font-size:12px}
.excel-to-csv-page .excel-csv-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;background:var(--accent-soft);color:var(--text);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.excel-to-csv-page .excel-csv-table-wrap td{max-width:320px;padding:9px 12px;color:var(--text);border-bottom:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.excel-to-csv-page .excel-csv-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}
.excel-to-csv-page .excel-csv-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.excel-to-csv-page .excel-to-csv-footer{padding:11px 18px;color:var(--muted);font-size:11px}
.excel-to-csv-guide{margin-top:12px}
.excel-to-csv-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.25px}
@media(max-width:900px){.excel-to-csv-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.excel-to-csv-page .editor-hero-inner>div:first-child{text-align:center}.excel-to-csv-page .editor-hero-inner p{margin:0 auto}.excel-to-csv-page .editor-upload-card{max-width:700px;width:100%;margin:0 auto}}
@media(max-width:760px){.excel-to-csv-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.excel-to-csv-page .editor-upload{min-height:190px}.excel-to-csv-page .excel-csv-filebar{align-items:flex-start;flex-direction:column}.excel-to-csv-file-actions{width:100%;justify-content:space-between}.excel-to-csv-controls{align-items:stretch;flex-direction:column;padding:13px}.excel-to-csv-controls>label{min-width:0}.excel-to-csv-controls select{width:100%}.excel-to-csv-actions{display:grid;grid-template-columns:1fr 1fr;margin:0}.excel-to-csv-actions button{width:100%}.excel-to-csv-page .excel-csv-table-wrap{max-height:55vh;margin:0 11px}.excel-to-csv-table-heading{padding:13px 12px 10px}.excel-to-csv-page .excel-to-csv-footer{padding:10px 12px}}
@media(max-width:480px){.excel-to-csv-page .editor-hero-inner h1{font-size:35px}}

/* CSV to PDF converter input and paginated table workspace. */
.csv-to-pdf-page{min-height:calc(100vh - 60px);background:var(--bg)}
.csv-to-pdf-page .editor-upload-card[hidden],.csv-to-pdf-page .editor-content[hidden],.csv-to-pdf-page .pdf-workspace[hidden]{display:none!important}
.csv-to-pdf-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.csv-to-pdf-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:34px}
.csv-to-pdf-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}
.csv-to-pdf-page .editor-hero-inner p{max-width:450px;font-size:15px}
.csv-to-pdf-page .editor-upload-card{height:auto;min-height:270px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.csv-to-pdf-page .editor-upload{min-height:242px;height:auto;padding:15px;border-color:color-mix(in srgb,var(--accent) 56%,var(--line));background:var(--soft)}
.csv-to-pdf-page .editor-upload strong{font-size:14px}
.pdf-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.pdf-paste-card h2{margin:3px 0 2px;color:var(--text);font-size:17px;line-height:1.3}
.pdf-paste-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.pdf-paste-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.25px}
.pdf-paste-card textarea{display:block;width:100%;min-height:112px;resize:vertical;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}
.pdf-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}
.pdf-paste-card button{align-self:flex-start;min-height:38px}
.csv-to-pdf-page .editor-content{max-width:1160px;padding-top:24px}
.csv-to-pdf-page .pdf-data-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.csv-to-pdf-page .pdf-filebar{min-height:72px;padding:13px 18px;border-color:var(--line)}
.pdf-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.pdf-file-actions [role="status"]{color:var(--accent);font-size:11px}
.csv-to-pdf-page .pdf-options{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--soft)}
.csv-to-pdf-page .pdf-options>label:not(.pdf-header-toggle){display:flex;flex-direction:column;gap:5px;min-width:116px;color:var(--muted);font-size:11px;font-weight:700}
.csv-to-pdf-page .pdf-options select{height:39px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}
.csv-to-pdf-page .pdf-options select:focus{outline:2px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:1px}
.csv-to-pdf-page .pdf-options .pdf-header-toggle{display:flex;align-items:center;gap:8px;min-height:39px;color:var(--text);font-size:11px;font-weight:650}
.csv-to-pdf-page .pdf-options input[type="checkbox"]{width:16px;height:16px;margin:0;accent-color:var(--accent)}
.csv-to-pdf-page .pdf-options>button{min-height:39px;margin-left:auto}
.csv-to-pdf-page .pdf-error{margin:12px 18px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.pdf-table-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 18px 12px}
.pdf-table-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}
.pdf-table-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}
.pdf-table-heading>span{flex:0 0 auto;padding:5px 9px;border:1px solid var(--line);border-radius:20px;background:var(--soft);color:var(--accent);font-size:10px;font-weight:750}
.csv-to-pdf-page .pdf-table-wrap{max-height:64vh;margin:0 18px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.csv-to-pdf-page .pdf-table-wrap table{min-width:620px;border-collapse:separate;border-spacing:0;font-size:12px}
.csv-to-pdf-page .pdf-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;background:var(--accent-soft);color:var(--text);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.csv-to-pdf-page .pdf-table-wrap td{max-width:320px;padding:9px 12px;color:var(--text);border-bottom:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csv-to-pdf-page .pdf-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}
.csv-to-pdf-page .pdf-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.csv-to-pdf-page .pdf-preview-footer{padding:11px 18px;color:var(--muted);font-size:11px}
.csv-to-pdf-guide{margin-top:12px}
@media(max-width:900px){.csv-to-pdf-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.csv-to-pdf-page .editor-hero-inner>div:first-child{text-align:center}.csv-to-pdf-page .editor-hero-inner p{margin:0 auto}.csv-to-pdf-page .editor-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:760px){.csv-to-pdf-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.csv-to-pdf-page .editor-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.csv-to-pdf-page .editor-upload{min-height:212px;padding:10px}.csv-to-pdf-page .editor-upload strong{font-size:12px}.csv-to-pdf-page .editor-upload .viewer-upload-icon svg{width:36px;height:36px}.pdf-paste-card{padding:12px}.pdf-paste-card textarea{min-height:90px;padding:8px;font-size:10px}.pdf-paste-card button{width:100%;justify-content:center;padding-left:8px;padding-right:8px}.csv-to-pdf-page .pdf-filebar{align-items:flex-start;flex-direction:column}.pdf-file-actions{width:100%;justify-content:space-between}.csv-to-pdf-page .pdf-options{align-items:stretch;flex-direction:column;gap:11px;padding:13px}.csv-to-pdf-page .pdf-options>label:not(.pdf-header-toggle){min-width:0}.csv-to-pdf-page .pdf-options select{width:100%}.csv-to-pdf-page .pdf-options .pdf-header-toggle{justify-content:flex-start}.csv-to-pdf-page .pdf-options>button{width:100%;margin:0}.pdf-table-heading{padding:13px 12px 10px}.csv-to-pdf-page .pdf-table-wrap{max-height:55vh;margin:0 11px}.csv-to-pdf-page .pdf-error{margin:10px 12px}.csv-to-pdf-page .pdf-preview-footer{padding:10px 12px}}
@media(max-width:480px){.csv-to-pdf-page .editor-hero-inner h1{font-size:35px}.csv-to-pdf-page .editor-upload-card{grid-template-columns:1fr}.csv-to-pdf-page .editor-upload{min-height:176px;padding:15px}.csv-to-pdf-page .editor-upload strong{font-size:14px}.csv-to-pdf-page .editor-upload .viewer-upload-icon svg{width:48px;height:48px}.pdf-paste-card{padding:14px}.pdf-paste-card button{width:auto;justify-content:center}.pdf-table-heading{align-items:flex-start}}

/* CSV to XML converter, table preview, and XML output. */
.csv-to-xml-page{min-height:calc(100vh - 60px);background:var(--bg)}
.csv-to-xml-page .editor-upload-card[hidden],.csv-to-xml-page .editor-content[hidden],.csv-to-xml-page .sql-workspace[hidden]{display:none!important}
.csv-to-xml-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.csv-to-xml-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:34px}
.csv-to-xml-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}
.csv-to-xml-page .editor-hero-inner p{max-width:450px;font-size:15px}
.csv-to-xml-page .editor-upload-card{height:auto;min-height:270px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.csv-to-xml-page .editor-upload{height:auto;min-height:242px;padding:15px;border-color:color-mix(in srgb,var(--accent) 56%,var(--line));background:var(--soft)}
.csv-to-xml-page .editor-upload strong{font-size:14px}
.xml-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.xml-paste-card h2{margin:3px 0 2px;color:var(--text);font-size:17px;line-height:1.3}
.xml-paste-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.xml-paste-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.25px}
.xml-paste-card textarea{display:block;width:100%;min-height:112px;resize:vertical;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}
.xml-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}
.xml-paste-card button{align-self:flex-start;min-height:38px}
.csv-to-xml-page .editor-content{max-width:1160px;padding-top:24px}
.csv-to-xml-page .sql-data-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.csv-to-xml-page .sql-filebar{min-height:72px;padding:13px 18px;border-color:var(--line)}
.xml-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.xml-file-actions [role="status"]{color:var(--accent);font-size:11px}
.csv-to-xml-page .sql-options{display:flex;align-items:end;flex-wrap:wrap;gap:12px;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--soft)}
.csv-to-xml-page .sql-options>label:not(.xml-header-toggle){display:flex;flex-direction:column;gap:5px;min-width:155px;color:var(--muted);font-size:11px;font-weight:700}
.csv-to-xml-page .sql-options input[type="text"],.csv-to-xml-page .sql-options select{width:100%;height:39px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}
.csv-to-xml-page .sql-options input[type="text"]:focus,.csv-to-xml-page .sql-options select:focus{outline:2px solid color-mix(in srgb,var(--accent) 38%,transparent);outline-offset:1px}
.csv-to-xml-page .sql-options .xml-header-toggle{display:flex;align-items:center;gap:8px;min-height:39px;color:var(--text);font-size:11px;font-weight:650}
.csv-to-xml-page .xml-header-toggle input{width:16px;height:16px;margin:0;accent-color:var(--accent)}
.csv-to-xml-page .sql-options>button{min-height:39px;margin-left:auto}
.csv-to-xml-page .excel-error{margin:12px 18px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.xml-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}
.xml-table-panel,.xml-output-panel{min-width:0;padding:18px;background:var(--surface)}
.xml-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.xml-panel-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}
.xml-panel-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}
.xml-panel-heading>span{color:var(--muted);font-size:10px}
.csv-to-xml-page .xml-table-wrap{max-height:62vh;border:1px solid var(--line);border-radius:9px;background:var(--surface)}
.csv-to-xml-page .xml-table-wrap table{min-width:440px;border-collapse:separate;border-spacing:0;font-size:12px}
.csv-to-xml-page .xml-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;background:var(--accent-soft);color:var(--text);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.csv-to-xml-page .xml-table-wrap td{max-width:300px;padding:9px 12px;color:var(--text);border-bottom:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.csv-to-xml-page .xml-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}
.csv-to-xml-page .xml-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.csv-to-xml-page #xmlPreview{display:block;width:100%;min-height:380px;max-height:62vh;resize:vertical;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font:11px/1.6 ui-monospace,Consolas,monospace;white-space:pre;overflow:auto}
.csv-to-xml-page .sql-copy-status{min-height:18px;padding-top:5px;color:var(--accent);font-size:11px}
.csv-xml-seo-content{margin-top:12px}
.csv-xml-seo-content pre{max-width:760px;overflow:auto;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font:12px/1.65 ui-monospace,Consolas,monospace;white-space:pre}
.csv-xml-seo-content pre code{color:inherit;font:inherit;font-weight:400}
@media(max-width:900px){.csv-to-xml-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.csv-to-xml-page .editor-hero-inner>div:first-child{text-align:center}.csv-to-xml-page .editor-hero-inner p{margin:0 auto}.csv-to-xml-page .editor-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:760px){.csv-to-xml-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.csv-to-xml-page .editor-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.csv-to-xml-page .editor-upload{min-height:212px;padding:10px}.csv-to-xml-page .editor-upload strong{font-size:12px}.csv-to-xml-page .editor-upload .viewer-upload-icon svg{width:36px;height:36px}.xml-paste-card{padding:12px}.xml-paste-card textarea{min-height:90px;padding:8px;font-size:10px}.xml-paste-card button{width:100%;justify-content:center;padding-left:8px;padding-right:8px}.xml-file-actions{width:100%;justify-content:space-between}.csv-to-xml-page .sql-filebar{align-items:flex-start;flex-direction:column}.csv-to-xml-page .sql-options{align-items:stretch;flex-direction:column;padding:13px}.csv-to-xml-page .sql-options>label:not(.xml-header-toggle){min-width:0}.csv-to-xml-page .sql-options>button{width:100%;margin:0}.xml-workbench{grid-template-columns:minmax(0,1fr)}.xml-table-panel,.xml-output-panel{padding:14px}.xml-output-panel{border-top:1px solid var(--line)}.csv-to-xml-page .xml-table-wrap{max-height:54vh}.csv-to-xml-page #xmlPreview{min-height:300px;max-height:50vh}}
@media(max-width:480px){.csv-to-xml-page .editor-hero-inner h1{font-size:35px}.csv-to-xml-page .editor-upload-card{grid-template-columns:1fr}.csv-to-xml-page .editor-upload{min-height:176px;padding:15px}.csv-to-xml-page .editor-upload strong{font-size:14px}.csv-to-xml-page .editor-upload .viewer-upload-icon svg{width:48px;height:48px}.xml-paste-card{padding:14px}.xml-paste-card button{width:auto;justify-content:center}.xml-panel-heading{align-items:flex-start;flex-direction:column}}

/* XML to CSV upload and table workspace. */
.xml-to-csv-page{min-height:calc(100vh - 60px);background:var(--bg)}
.xml-to-csv-page .editor-upload-card[hidden],.xml-to-csv-page .editor-content[hidden],.xml-to-csv-page .sql-workspace[hidden]{display:none!important}
.xml-to-csv-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.xml-to-csv-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:34px}
.xml-to-csv-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}
.xml-to-csv-page .editor-hero-inner p{max-width:450px;font-size:15px}
.xml-to-csv-page .editor-upload-card{height:auto;min-height:270px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.xml-to-csv-page .editor-upload{height:auto;min-height:242px;padding:15px;border-color:color-mix(in srgb,var(--accent) 56%,var(--line));background:var(--soft)}
.xml-to-csv-page .editor-upload strong{font-size:14px}
.xml-csv-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.xml-csv-paste-card h2{margin:3px 0 2px;color:var(--text);font-size:17px;line-height:1.3}
.xml-csv-paste-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.45}
.xml-csv-paste-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.25px}
.xml-csv-paste-card textarea{display:block;width:100%;min-height:112px;resize:vertical;padding:10px 11px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}
.xml-csv-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:1px}
.xml-csv-paste-card button{align-self:flex-start;min-height:38px}
.xml-to-csv-page .editor-content{max-width:1160px;padding-top:24px}
.xml-to-csv-page .sql-data-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.xml-to-csv-page .sql-filebar{min-height:72px;padding:13px 18px;border-color:var(--line)}
.xml-to-csv-page .xml-csv-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.xml-to-csv-page .xml-csv-actions [role="status"]{color:var(--accent);font-size:11px}
.xml-csv-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}
.xml-csv-input-panel,.xml-csv-output-panel{min-width:0;padding:18px;background:var(--surface)}
.xml-csv-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.xml-csv-panel-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}
.xml-csv-panel-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}
.xml-csv-panel-heading>span{color:var(--muted);font-size:10px}
.xml-to-csv-page #xmlCsvInput,.xml-to-csv-page #xmlCsvOutput{display:block;width:100%;min-height:340px;padding:13px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font:11px/1.6 ui-monospace,Consolas,monospace;resize:vertical;white-space:pre;overflow:auto}
.xml-to-csv-page #xmlCsvInput:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}
.xml-csv-output-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}
.xml-csv-output-actions label{color:var(--muted);font-size:10px;font-weight:700}
.xml-csv-output-actions select{height:34px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:10px}
.xml-csv-output-actions button{min-height:34px;justify-content:center}
.xml-csv-output-actions button:disabled{opacity:.5;cursor:not-allowed}
.xml-csv-stale{margin:8px 0 0;color:#ad7627;font-size:11px}
.xml-csv-stale[hidden]{display:none}
.xml-csv-copy-status{min-height:18px;padding-top:5px;color:var(--accent);font-size:11px}
.xml-csv-table-preview{padding:16px 18px;border-top:1px solid var(--line)}
.xml-csv-table-wrap{max-height:62vh;border:1px solid var(--line);border-radius:9px}
.xml-csv-table-wrap table{min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}
.xml-csv-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;background:var(--accent-soft);color:var(--text);border-bottom:1px solid var(--line);text-align:left;white-space:nowrap}
.xml-csv-table-wrap td{max-width:320px;padding:9px 12px;color:var(--text);border-bottom:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xml-csv-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}
.xml-csv-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.xml-to-csv-page .xml-csv-error{margin:12px 18px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.xml-csv-seo-content{margin-top:12px}
.xml-csv-seo-content pre{max-width:760px;overflow:auto;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font:12px/1.65 ui-monospace,Consolas,monospace;white-space:pre}
.xml-csv-seo-content pre code{color:inherit;font:inherit;font-weight:400}
@media(max-width:900px){.xml-to-csv-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.xml-to-csv-page .editor-hero-inner>div:first-child{text-align:center}.xml-to-csv-page .editor-hero-inner p{margin:0 auto}.xml-to-csv-page .editor-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:760px){.xml-to-csv-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.xml-to-csv-page .editor-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.xml-to-csv-page .editor-upload{min-height:212px;padding:10px}.xml-to-csv-page .editor-upload strong{font-size:12px}.xml-to-csv-page .editor-upload .viewer-upload-icon svg{width:36px;height:36px}.xml-csv-paste-card{padding:12px}.xml-csv-paste-card textarea{min-height:90px;padding:8px;font-size:10px}.xml-csv-paste-card button{width:100%;justify-content:center;padding-left:8px;padding-right:8px}.xml-to-csv-page .sql-filebar{align-items:flex-start;flex-direction:column}.xml-to-csv-page .xml-csv-actions{width:100%;justify-content:space-between}.xml-csv-workbench{grid-template-columns:minmax(0,1fr)}.xml-csv-input-panel,.xml-csv-output-panel{padding:14px}.xml-csv-output-panel{border-top:1px solid var(--line)}.xml-csv-panel-heading{align-items:flex-start;flex-direction:column}.xml-csv-output-actions{width:100%;justify-content:flex-start}.xml-to-csv-page #xmlCsvInput,.xml-to-csv-page #xmlCsvOutput{min-height:250px}.xml-csv-table-preview{padding:13px 12px}.xml-csv-table-wrap{max-height:54vh}}
@media(max-width:480px){.xml-to-csv-page .editor-hero-inner h1{font-size:35px}.xml-to-csv-page .editor-upload-card{grid-template-columns:1fr}.xml-to-csv-page .editor-upload{min-height:176px;padding:15px}.xml-to-csv-page .editor-upload strong{font-size:14px}.xml-to-csv-page .editor-upload .viewer-upload-icon svg{width:48px;height:48px}.xml-csv-paste-card{padding:14px}.xml-csv-paste-card button{width:auto;justify-content:center}.xml-csv-output-actions{display:grid;grid-template-columns:auto 1fr 1fr}.xml-csv-output-actions label{grid-column:1/-1}}
.sort-heading{border:0;background:transparent;color:inherit;font:inherit;font-weight:750;cursor:pointer;padding:3px}
.special-controls .special-code{width:min(100%,720px);margin:8px 0}
.sheet-formula-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--soft)}
.sheet-formula-bar label{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:11px;font-weight:700}
.sheet-formula-bar .sheet-cell-address{width:58px;padding:6px 7px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:12px ui-monospace,Consolas,monospace}
.sheet-formula-bar>span{font-size:12px;font-weight:800;color:var(--accent);font-style:italic}
.sheet-formula-bar .sheet-cell-value{flex:1;min-width:0;padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--text);font:13px ui-monospace,Consolas,monospace}
@media(max-width:560px){.sheet-formula-bar{gap:5px;padding:8px}.sheet-formula-bar label{gap:4px}.sheet-formula-bar .sheet-cell-address{width:48px}}

/* Expanded homepage quick workspace controls. */
.quick-options{padding:12px 15px;border-bottom:1px solid var(--line);background:var(--surface)}
.quick-options-head{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.quick-options-head strong{font-size:11px;letter-spacing:.7px;text-transform:uppercase}.quick-options-head span,.quick-option-note{font-size:11px;color:var(--muted)}
.quick-options-grid{display:flex;align-items:end;gap:10px 16px;flex-wrap:wrap}.quick-option{display:flex;flex-direction:column;gap:5px;min-width:145px;color:var(--muted);font-size:10px;font-weight:750}.quick-option input,.quick-option select{min-width:150px;height:34px;padding:6px 9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font:inherit;font-size:12px}.quick-check{display:flex;align-items:center;gap:7px;min-height:34px;color:var(--muted);font-size:11px}.quick-check input{accent-color:var(--accent)}.quick-option-note{margin:0;padding:7px 0}.quick-input-meter{padding:4px 13px 10px;color:var(--muted);font-size:10px}.editor-panel.drag{outline:2px dashed var(--accent);outline-offset:-5px}
@media(max-width:760px){.quick-options{padding:11px}.quick-options-head{align-items:flex-start;flex-direction:column;gap:2px}.quick-options-grid{align-items:stretch;gap:8px}.quick-option{flex:1 1 145px}.quick-option input,.quick-option select{width:100%;min-width:0}.work-toolbar .toolbar-actions{width:100%;flex-wrap:wrap}.work-toolbar .toolbar-actions button{flex:1}}

/* Quick Workspace CSV table preview. */
.quick-table-preview{padding:15px;border-top:1px solid var(--line);background:var(--surface)}
.quick-table-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.quick-table-heading h3{margin:0;font-size:14px;color:var(--text)}.quick-table-heading p{margin:3px 0 0;color:var(--muted);font-size:11px}.quick-table-heading>span{flex:0 0 auto;color:var(--accent);font-size:11px;font-weight:750}
.quick-table-scroll{max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.quick-data-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;color:var(--text);font-size:12px;line-height:1.5}.quick-data-table th,.quick-data-table td{max-width:360px;min-width:90px;padding:8px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}.quick-data-table thead th{position:sticky;top:0;z-index:2;background:var(--soft);font-weight:800}.quick-data-table tbody th{position:sticky;left:0;z-index:1;background:var(--surface);color:var(--muted);font-weight:650}.quick-data-table thead th:first-child{left:0;z-index:3}.quick-data-table .quick-empty-row{text-align:center;color:var(--muted)}
@media(max-width:760px){.quick-table-preview{padding:11px}.quick-table-heading{align-items:flex-start;flex-direction:column;gap:4px}.quick-data-table{font-size:11px}.quick-data-table th,.quick-data-table td{max-width:260px;min-width:76px;padding:7px}}
/* XML → CSV workbench: keep editable XML input beside the generated CSV. */
.xml-csv-page .xml-csv-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.xml-csv-page #xmlCsvInput,.xml-csv-page #xmlCsvOutput{width:100%;min-height:300px;padding:12px;border:1px solid #dce5f0;border-radius:6px;background:#f8fafc;color:#24405f;font:11px/1.55 Consolas,"Courier New",monospace;resize:vertical;white-space:pre;overflow:auto}
.xml-csv-page #xmlCsvInput:focus{outline:2px solid #10b995;outline-offset:1px}
.xml-csv-page .xml-csv-table-preview{padding:14px 15px;border-top:1px solid #e8eef5}
.xml-csv-page .xml-csv-table-preview .sql-panel-heading{padding-bottom:10px}
body.dark .xml-csv-page #xmlCsvInput,body.dark .xml-csv-page #xmlCsvOutput{background:#121a18;border-color:var(--line);color:#e6edf3}
body.dark .xml-csv-page .xml-csv-table-preview{border-color:var(--line)}
@media(max-width:820px){.xml-csv-page .sql-filebar{align-items:flex-start;gap:10px;flex-direction:column}.xml-csv-page .xml-csv-actions{width:100%}.xml-csv-page .xml-csv-actions button{flex:1;justify-content:center}.xml-csv-page #xmlCsvInput,.xml-csv-page #xmlCsvOutput{min-height:240px}.xml-csv-page .xml-csv-table-preview{padding:12px}}

/* All Tools category navigation */
.tool-category-nav{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0 12px}
.tool-category-nav a{display:inline-flex;align-items:center;padding:9px 13px;border:1px solid var(--line,#dce4ec);border-radius:999px;color:var(--text,#17212e);background:var(--surface,#fff);font-size:12px;font-weight:750;text-decoration:none}
.tool-category-nav a:hover{border-color:var(--accent,#10b995);color:var(--accent,#078b71)}
.tool-category{margin-top:36px;scroll-margin-top:88px}
.tool-category-heading{margin:0 0 15px}
.tool-category-label{margin:0 0 5px;color:var(--accent,#078b71);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.tool-category-label span{letter-spacing:0;opacity:.7}
.tool-category-heading h2{margin:0;font-size:24px}
/* CSV Viewer upload matches the homepage drop zone, with paste kept inside it. */
.csv-viewer-page .editor-upload-card{width:550px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.csv-viewer-page .editor-upload{width:100%;height:auto;min-height:202px;padding:18px 14px;border:1.5px dashed var(--accent);border-radius:10px;background:color-mix(in srgb,var(--soft) 70%,transparent);color:var(--text)}
.csv-viewer-page .editor-upload.drag,.csv-viewer-page .editor-upload:hover{background:var(--accent-soft);border-color:var(--accent)}
.csv-viewer-page .editor-upload .viewer-upload-icon{color:var(--accent)}
.csv-viewer-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 4px 12px rgba(57,198,83,.2)}
.viewer-paste-details{width:100%;margin-top:6px;padding-top:8px;color:var(--text)}
.viewer-paste-details summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--accent-dark)}
.viewer-paste-details .special-label{display:block;margin:12px 0 6px;text-align:left}
.viewer-paste-details .special-code{display:block;width:100%;max-width:none;min-height:110px;margin:0 0 10px;box-sizing:border-box}

/* Homepage-linked CSV Table Viewer button */
.csv-viewer-page #app .viewer-primary{background:#39c653!important;background-image:none!important;border-color:transparent!important;color:#0d1117!important;box-shadow:0 4px 12px rgba(57,198,83,.2)!important}
.csv-viewer-page #app .viewer-primary:hover{background:#32bd4b!important}

/* CSV Table Viewer: clearer file summary, controls, and data grid */
.csv-viewer-page .viewer-data-card{border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px rgba(12,55,45,.1);overflow:hidden}
.csv-viewer-page .viewer-filebar{background:linear-gradient(110deg,var(--accent-soft),var(--surface) 72%);border-bottom:1px solid var(--line);align-items:center;flex-wrap:wrap}
.csv-viewer-page .viewer-fileicon{background:var(--surface);color:var(--accent-dark);border:1px solid var(--line);box-shadow:0 4px 12px rgba(12,55,45,.08)}
.csv-viewer-page .viewer-fileinfo strong{color:var(--text);font-size:14px}
.csv-viewer-page .viewer-fileinfo span{color:var(--muted);font-size:11px}
.csv-viewer-page .viewer-table-tools{background:var(--surface);padding:16px 18px;gap:14px}
.csv-viewer-page .viewer-search{height:42px;border:1px solid var(--line);border-radius:10px;box-shadow:0 3px 10px rgba(12,55,45,.04)}
.csv-viewer-page .viewer-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.csv-viewer-page .viewer-search input{font-size:13px}
.csv-viewer-page .viewer-selects label{color:var(--muted);font-size:11px;font-weight:650}
.csv-viewer-page .viewer-selects select{height:38px;border:1px solid var(--line);border-radius:9px;color:var(--text);font-size:12px}
.csv-viewer-page .viewer-selects select:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
.csv-viewer-page .viewer-table-wrap{max-height:65vh;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.csv-viewer-page .viewer-table-wrap table{min-width:760px;width:100%;font-size:12px}
.csv-viewer-page .viewer-table-wrap th{background:var(--accent-soft);color:var(--accent-dark);border-color:var(--line);font-size:11px;font-weight:800}
.csv-viewer-page .viewer-table-wrap th:first-child{position:sticky;left:0;z-index:5}
.csv-viewer-page .viewer-table-wrap .th-sort{color:var(--accent-dark);font-size:11px;padding:13px 12px}
.csv-viewer-page .viewer-table-wrap .th-sort:hover{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent-dark)}
.csv-viewer-page .viewer-table-wrap td{padding:11px 13px;color:var(--text);font-size:12px;line-height:1.45;border-color:var(--line)}
.csv-viewer-page .viewer-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 75%,transparent)}
.csv-viewer-page .viewer-table-wrap tbody tr:hover td{background:var(--accent-soft);color:var(--text)}
.csv-viewer-page .viewer-table-wrap .row-num-head,.csv-viewer-page .viewer-table-wrap .row-number{position:sticky;left:0;z-index:2;width:52px;min-width:52px;text-align:center;color:var(--accent-dark);background:var(--soft);font-weight:750}
.csv-viewer-page .viewer-table-wrap .row-number{font-size:11px}
.csv-viewer-page .viewer-pager{background:var(--soft);border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.csv-viewer-page .viewer-pager .pager-buttons button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent-dark);font-weight:800}
.csv-viewer-page .viewer-pager .pager-buttons button:not(:disabled):hover{background:var(--accent);border-color:var(--accent);color:#fff}
.csv-viewer-page .viewer-pager .pager-buttons button:disabled{opacity:.45}
.csv-viewer-page .viewer-table-wrap .no-results{padding:44px!important;color:var(--muted)!important;background:var(--surface)!important}
@media(max-width:650px){
  .csv-viewer-page .viewer-filebar{align-items:flex-start;padding:12px}
  .csv-viewer-page .viewer-table-tools{padding:12px;gap:10px}
  .csv-viewer-page .viewer-selects{gap:10px}
  .csv-viewer-page .viewer-selects label{align-items:flex-start;flex-direction:column;gap:5px}
  .csv-viewer-page .viewer-selects select{width:100%}
  .csv-viewer-page .viewer-table-wrap{max-height:62vh}
  .csv-viewer-page .viewer-table-wrap table{min-width:680px}
}
/* Calmer table finish and in-page cell editing */
.csv-viewer-page .viewer-filebar{background:var(--surface)}
.csv-viewer-page .viewer-file-actions{width:auto;flex-wrap:wrap;justify-content:flex-end}
.csv-viewer-page .viewer-file-actions button{flex:0 0 auto;min-width:86px}
.csv-viewer-page .viewer-table-wrap th{background:var(--soft);color:var(--text)}
.csv-viewer-page .viewer-table-wrap .th-sort{color:var(--text)}
.csv-viewer-page .viewer-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--text) 2%,var(--surface))}
.csv-viewer-page .viewer-table-wrap tbody tr:hover td{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.csv-viewer-page .viewer-table-wrap td[contenteditable="true"]{background:var(--surface)!important;outline:1px solid var(--accent);outline-offset:-2px;white-space:pre-wrap;min-width:110px;cursor:text}
.csv-viewer-page .viewer-table-wrap td[contenteditable="true"]:focus{outline:2px solid var(--accent);background:var(--accent-soft)!important}
.csv-viewer-page #toggleCellEdit[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
@media(max-width:650px){.csv-viewer-page .viewer-file-actions{width:100%;justify-content:stretch}.csv-viewer-page .viewer-file-actions button{flex:1;min-width:0}}
/* CSV Viewer table matches the CSV Table Viewer grid and controls */
.csv-viewer-page .special-data-card{border:1px solid var(--line);border-radius:16px;box-shadow:0 16px 40px rgba(12,55,45,.1);overflow:hidden}
.csv-viewer-page .special-filebar{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px;padding:14px 18px;background:var(--surface);border-bottom:1px solid var(--line)}
.csv-viewer-page .special-file-info{min-width:180px;flex:1}
.csv-viewer-page .special-file-info strong{display:block;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:14px}
.csv-viewer-page .special-file-info span{display:block;margin-top:4px;color:var(--muted);font-size:11px}
.csv-viewer-page .special-file-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.csv-viewer-page .special-file-actions button{min-height:38px;padding:0 13px;border-radius:9px;font-size:11px}
.csv-viewer-page .special-controls{padding:16px 18px 10px}
.csv-viewer-page .special-controls h2{margin:0 0 12px;color:var(--text);font-size:17px}
.csv-viewer-page .special-controls input[type=search]{width:min(100%,480px);height:42px;min-height:42px;margin:0 0 12px;padding:0 13px;border-radius:10px;background:var(--surface);font-size:13px}
.csv-viewer-page .special-controls input[type=search]:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.csv-viewer-page .viewer-table-summary{margin:0 0 9px;font-size:11px}
.csv-viewer-page .special-table-wrap{margin:0;max-height:65vh;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.csv-viewer-page .special-table{min-width:760px;width:100%;border-collapse:separate;border-spacing:0;font-size:12px}
.csv-viewer-page .special-table th{position:sticky;top:0;z-index:3;padding:0;background:var(--soft);color:var(--text);border:0;border-bottom:1px solid var(--line);font-size:11px;font-weight:800;white-space:nowrap}
.csv-viewer-page .special-table th:first-child{left:0;z-index:5}
.csv-viewer-page .special-table th:not(:first-child){border-left:1px solid var(--line)}
.csv-viewer-page .special-table .sort-heading{display:block;width:100%;min-height:42px;padding:11px 13px;border:0;background:transparent;color:var(--text);font:inherit;text-align:left;white-space:nowrap;cursor:pointer}
.csv-viewer-page .special-table .sort-heading:hover{background:var(--accent-soft);color:var(--accent-dark)}
.csv-viewer-page .special-table td{padding:10px 13px;border:0;border-bottom:1px solid var(--line);border-right:1px solid color-mix(in srgb,var(--line) 65%,transparent);color:var(--text);font-size:12px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}
.csv-viewer-page .special-table tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--text) 2%,var(--surface))}
.csv-viewer-page .special-table tbody tr:hover td{background:color-mix(in srgb,var(--accent) 7%,var(--surface))}
.csv-viewer-page .special-table .row-num-head,.csv-viewer-page .special-table .row-number{position:sticky;left:0;z-index:2;width:52px;min-width:52px;text-align:center;color:var(--accent-dark);background:var(--soft);font-weight:750}
.csv-viewer-page .special-table td[contenteditable="true"]{background:var(--surface)!important;outline:1px solid var(--accent);outline-offset:-2px;min-width:110px;cursor:text}
.csv-viewer-page .special-table td[contenteditable="true"]:focus{outline:2px solid var(--accent);background:var(--accent-soft)!important}
.csv-viewer-page .special-table .no-results{padding:44px!important;color:var(--muted)!important;text-align:center;background:var(--surface)!important}
.csv-viewer-page #specialEdit[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:#fff}
.csv-viewer-page #viewerPager{margin-top:0;border:1px solid var(--line);border-top:0;border-radius:0 0 11px 11px;background:var(--soft)}
@media(max-width:650px){
  .csv-viewer-page .special-filebar{align-items:flex-start;flex-direction:column;padding:12px}
  .csv-viewer-page .special-file-actions{width:100%;justify-content:stretch}
  .csv-viewer-page .special-file-actions button{flex:1;min-width:0}
  .csv-viewer-page .special-controls{padding:14px 12px 8px}
  .csv-viewer-page .special-table{min-width:680px}
  .csv-viewer-page .special-table-wrap{max-height:62vh}
}
/* Online CSV Reader opened-file workspace */
.reader-tool-page .special-workspace{width:min(1160px,calc(100% - 36px));margin:0 auto 48px}
.reader-tool-page .special-data-card{border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 48px rgba(5,20,35,.16);overflow:hidden}
.reader-tool-page .special-filebar{align-items:center;flex-direction:row;gap:18px;padding:18px 22px;background:linear-gradient(115deg,var(--accent-soft),var(--surface) 65%);border-bottom:1px solid var(--line)}
.reader-tool-page .special-file-info{min-width:0;flex:1}
.reader-tool-page .special-file-info strong{max-width:100%;color:var(--text);font-size:14px}
.reader-tool-page .special-file-info span{margin:5px 0 0;color:var(--muted);font-size:11px}
.reader-tool-page .special-file-actions{display:flex;justify-content:flex-end}
.reader-tool-page .special-file-actions .viewer-clear{min-height:40px;padding:0 14px;border-radius:10px;font-size:11px}
.reader-tool-page .special-controls{padding:24px 26px 26px}
.reader-tool-page .special-controls h2{margin:0 0 10px;color:var(--text);font-size:22px;letter-spacing:-.02em}
.reader-tool-page .reader-intro{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}
.reader-tool-page .reader-intro p{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.reader-tool-page .reader-readonly-tag{flex:0 0 auto;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;letter-spacing:.04em;text-transform:uppercase}
.reader-tool-page .reader-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 14px}
.reader-tool-page .reader-actions button{min-height:42px;padding:0 16px;border-radius:10px;font-size:12px}
.reader-tool-page .reader-status{flex:1 1 200px;min-height:20px;margin:0;color:var(--accent-dark);font-size:12px}
.reader-tool-page .reader-text-panel{overflow:hidden;border:1px solid #243447;border-radius:14px;background:#0b121a;box-shadow:0 8px 24px rgba(5,15,25,.16)}
.reader-tool-page .reader-text-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid #243447;background:#111b27;color:#dce8f5;font-size:11px;font-weight:700}
.reader-tool-page .reader-text-heading span:last-child{color:#91a4ba;font-size:10px;font-weight:500}
.reader-tool-page .reader-raw-text{display:block;width:100%!important;max-width:none!important;min-height:420px;height:min(58vh,680px);margin:0!important;padding:18px 20px;border:0;border-radius:0;background:#0b121a;color:#e5edf7;font:13px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace;white-space:pre;overflow:auto;tab-size:4;resize:vertical;box-sizing:border-box;caret-color:#51d9b5}
.reader-tool-page .reader-raw-text:focus{outline:2px solid var(--accent);outline-offset:-2px}
.reader-tool-page .reader-raw-text::selection{background:#245e60;color:#fff}
.reader-tool-page .reader-text-panel ::-webkit-scrollbar{width:12px;height:12px}
.reader-tool-page .reader-text-panel ::-webkit-scrollbar-track{background:#0b121a}
.reader-tool-page .reader-text-panel ::-webkit-scrollbar-thumb{border:3px solid #0b121a;border-radius:999px;background:#46576a}
@media(max-width:650px){
  .reader-tool-page .special-workspace{width:calc(100% - 24px)}
  .reader-tool-page .special-filebar{align-items:flex-start;flex-direction:column;padding:14px}
  .reader-tool-page .special-file-actions{width:100%;justify-content:flex-start}
  .reader-tool-page .special-controls{padding:18px 14px}
  .reader-tool-page .special-controls h2{font-size:19px}
  .reader-tool-page .reader-intro{align-items:flex-start;flex-direction:column;gap:9px}
  .reader-tool-page .reader-actions{align-items:stretch}
  .reader-tool-page .reader-actions button{flex:1}
  .reader-tool-page .reader-status{flex-basis:100%}
  .reader-tool-page .reader-raw-text{min-height:320px;height:55vh;padding:14px;font-size:12px}
}
/* CSV Column Viewer: focused controls and a single-column results grid. */
.csv-column-viewer-page .editor-upload-card{width:550px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.csv-column-viewer-page .editor-upload{width:100%;height:auto;min-height:202px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.csv-column-viewer-page .editor-upload:hover,.csv-column-viewer-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent)}
.csv-column-viewer-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.csv-column-viewer-page .special-workspace{width:min(1080px,calc(100% - 36px));margin:0 auto 42px}
.csv-column-viewer-page .special-data-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.csv-column-viewer-page .special-filebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 21px;background:linear-gradient(115deg,var(--accent-soft),var(--surface) 66%);border-bottom:1px solid var(--line)}
.csv-column-viewer-page .special-file-info{min-width:0;flex:1}
.csv-column-viewer-page .special-file-info strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:14px}
.csv-column-viewer-page .special-file-info span{margin-top:4px;color:var(--muted);font-size:11px}
.csv-column-viewer-page .special-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.csv-column-viewer-page .special-file-actions button{height:38px;padding:0 13px;border-radius:9px;font-size:11px}
.csv-column-viewer-page .special-controls{padding:22px 24px 20px}
.csv-column-viewer-page .special-controls h2{margin:0 0 18px;color:var(--text);font-size:19px;letter-spacing:-.02em}
.csv-column-viewer-page .column-tools-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.2fr);gap:16px 20px;align-items:end}
.csv-column-viewer-page .column-field{display:block;min-width:0;margin:0;color:var(--muted);font-size:11px;font-weight:750}
.csv-column-viewer-page .column-field>span:first-child{display:block;margin:0 0 7px;color:var(--text);font-size:12px;font-weight:750}
.csv-column-viewer-page .column-field select{width:100%;height:46px;min-height:46px;margin:0;padding:0 38px 0 13px;border:1px solid var(--line);border-radius:11px;background:var(--bg);color:var(--text);font:inherit;font-size:13px;outline:none}
.csv-column-viewer-page .column-field select:focus,.csv-column-viewer-page .column-search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.csv-column-viewer-page .column-search-box{display:flex;align-items:center;gap:9px;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--bg);transition:border-color .16s,box-shadow .16s}
.csv-column-viewer-page .column-search-box svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round}
.csv-column-viewer-page .column-search-box input{width:100%;height:42px;min-height:42px;margin:0;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;outline:none}
.csv-column-viewer-page .column-search-box input:focus{border:0;box-shadow:none}
.csv-column-viewer-page .column-search-box input::placeholder{color:var(--muted);opacity:.78}
.csv-column-viewer-page .column-export-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:18px 0 17px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.csv-column-viewer-page .column-export-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.csv-column-viewer-page .column-export-copy strong{color:var(--text);font-size:12px}
.csv-column-viewer-page .column-export-copy span{color:var(--muted);font-size:11px;line-height:1.45}
.csv-column-viewer-page .column-export-actions{display:flex;flex:0 0 auto;gap:8px;margin:0}
.csv-column-viewer-page .column-export-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:0 13px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.csv-column-viewer-page #copyColumn{border:1px solid var(--line);background:var(--surface);color:var(--text)}
.csv-column-viewer-page #copyColumn:hover,.csv-column-viewer-page #copyColumn.is-copied{border-color:var(--accent);color:var(--accent-dark);background:var(--accent-soft)}
.csv-column-viewer-page #downloadColumn{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.csv-column-viewer-page #downloadColumn:hover{filter:brightness(.96);transform:translateY(-1px)}
.csv-column-viewer-page .column-results{margin-top:0}
.csv-column-viewer-page .column-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
.csv-column-viewer-page .column-results-head>div{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.csv-column-viewer-page .column-results-head>div>span{color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.09em}
.csv-column-viewer-page .column-results-head strong{color:var(--text);font-size:14px}
.csv-column-viewer-page .column-selected-name{max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:5px 10px;border:1px solid var(--line);border-radius:99px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:700}
.csv-column-viewer-page .column-values-table-wrap{max-height:min(540px,62vh);margin:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overscroll-behavior:contain}
.csv-column-viewer-page .column-values-table-wrap .special-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0;font-size:12px}
.csv-column-viewer-page .column-values-table-wrap .special-table th{position:sticky;top:0;z-index:2;padding:12px 14px;border:0;border-bottom:1px solid var(--line);background:var(--soft);color:var(--text);font-size:11px;font-weight:800}
.csv-column-viewer-page .column-values-table-wrap .special-table th:first-child{width:82px;min-width:82px;text-align:center}
.csv-column-viewer-page .column-values-table-wrap .special-table td{padding:11px 14px;border:0;border-bottom:1px solid var(--line);color:var(--text);font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.csv-column-viewer-page .column-values-table-wrap .special-table td:first-child{width:82px;min-width:82px;text-align:center;color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums;background:var(--soft)}
.csv-column-viewer-page .column-values-table-wrap .special-table tbody tr:nth-child(even) td:not(:first-child){background:color-mix(in srgb,var(--text) 2%,var(--surface))}
.csv-column-viewer-page .column-values-table-wrap .special-table tbody tr:hover td{background:var(--accent-soft)}
.csv-column-viewer-page .column-values-table-wrap .special-table tbody tr:last-child td{border-bottom:0}
.csv-column-viewer-page .column-values-table-wrap .special-table .no-results{padding:38px 16px;text-align:center;background:var(--surface);color:var(--text)}
.csv-column-viewer-page .column-values-table-wrap .special-table .no-results strong,.csv-column-viewer-page .column-values-table-wrap .special-table .no-results span{display:block}
.csv-column-viewer-page .column-values-table-wrap .special-table .no-results strong{font-size:13px}
.csv-column-viewer-page .column-values-table-wrap .special-table .no-results span{margin-top:4px;color:var(--muted);font-size:11px;font-weight:400}
.csv-column-viewer-page #columnValues .viewer-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:11px 3px 0;color:var(--muted);font-size:11px}
.csv-column-viewer-page #columnValues .pager-buttons{display:flex;align-items:center;gap:8px}
.csv-column-viewer-page #columnValues .pager-buttons b{color:var(--text);font-size:10px;white-space:nowrap}
.csv-column-viewer-page #columnValues .pager-buttons button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent-dark);font-size:17px;font-weight:800;cursor:pointer}
.csv-column-viewer-page #columnValues .pager-buttons button:not(:disabled):hover{border-color:var(--accent);background:var(--accent);color:#fff}
.csv-column-viewer-page #columnValues .pager-buttons button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:680px){
  .csv-column-viewer-page .special-workspace{width:calc(100% - 24px);margin-bottom:32px}
  .csv-column-viewer-page .special-filebar{align-items:flex-start;flex-direction:column;padding:14px}
  .csv-column-viewer-page .special-file-actions{width:100%;justify-content:flex-start}
  .csv-column-viewer-page .special-file-actions button{flex:1;justify-content:center}
  .csv-column-viewer-page .special-controls{padding:17px 14px}
  .csv-column-viewer-page .special-controls h2{font-size:17px;margin-bottom:15px}
  .csv-column-viewer-page .column-tools-grid{grid-template-columns:1fr;gap:13px}
  .csv-column-viewer-page .column-export-row{align-items:stretch;flex-direction:column;gap:10px;padding:12px;margin:15px 0}
  .csv-column-viewer-page .column-export-actions{width:100%}
  .csv-column-viewer-page .column-export-actions button{flex:1}
  .csv-column-viewer-page .column-values-table-wrap{max-height:58vh}
  .csv-column-viewer-page .column-results-head{align-items:flex-start;flex-direction:column;gap:7px}
  .csv-column-viewer-page .column-selected-name{max-width:100%}
  .csv-column-viewer-page #columnValues .viewer-pager{align-items:flex-start;flex-direction:column}
}

/* Keep the column pager label wide enough for its page count. */
.csv-column-viewer-page #columnValues .pager-buttons{flex-wrap:nowrap;gap:8px}
.csv-column-viewer-page #columnValues .pager-buttons b{display:flex;width:auto;min-width:82px;height:34px;flex:0 0 auto;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;line-height:1;white-space:nowrap}

/* CSV Row Viewer: searchable record list with a readable field inspector. */
.csv-row-viewer-page .editor-upload-card{width:550px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.csv-row-viewer-page .editor-upload{width:100%;height:auto;min-height:202px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.csv-row-viewer-page .editor-upload:hover,.csv-row-viewer-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent)}
.csv-row-viewer-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.csv-row-viewer-page .special-workspace{width:min(1080px,calc(100% - 36px));margin:0 auto 42px}
.csv-row-viewer-page .special-data-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.csv-row-viewer-page .special-filebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 21px;background:linear-gradient(115deg,var(--accent-soft),var(--surface) 66%);border-bottom:1px solid var(--line)}
.csv-row-viewer-page .special-file-info{min-width:0;flex:1}
.csv-row-viewer-page .special-file-info strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:14px}
.csv-row-viewer-page .special-file-info span{margin-top:4px;color:var(--muted);font-size:11px}
.csv-row-viewer-page .special-file-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
.csv-row-viewer-page .special-file-actions button{height:38px;padding:0 13px;border-radius:9px;font-size:11px}
.csv-row-viewer-page .special-controls{padding:22px 24px 20px}
.csv-row-viewer-page .special-controls h2{margin:0 0 17px;color:var(--text);font-size:19px;letter-spacing:-.02em}
.csv-row-viewer-page .row-tools{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:19px}
.csv-row-viewer-page .row-search-field{display:block;flex:1;min-width:0;margin:0;color:var(--muted);font-size:11px;font-weight:750}
.csv-row-viewer-page .row-search-field>span:first-child{display:block;margin:0 0 7px;color:var(--text);font-size:12px;font-weight:750}
.csv-row-viewer-page .row-search-box{display:flex;align-items:center;gap:9px;height:46px;padding:0 12px;border:1px solid var(--line);border-radius:11px;background:var(--bg);transition:border-color .16s,box-shadow .16s}
.csv-row-viewer-page .row-search-box:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.csv-row-viewer-page .row-search-box svg{width:17px;height:17px;flex:0 0 auto;fill:none;stroke:var(--muted);stroke-width:1.8;stroke-linecap:round}
.csv-row-viewer-page .row-search-box input{width:100%;height:42px;min-height:42px;margin:0;padding:0;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;outline:none}
.csv-row-viewer-page .row-search-box input:focus{border:0;box-shadow:none}
.csv-row-viewer-page .row-search-box input::placeholder{color:var(--muted);opacity:.78}
.csv-row-viewer-page .row-search-hint{max-width:300px;margin:0 0 2px;color:var(--muted);font-size:11px;line-height:1.5}
.csv-row-viewer-page .row-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 10px}
.csv-row-viewer-page .row-results-head>div{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
.csv-row-viewer-page .row-results-head>div>span,.csv-row-viewer-page .row-detail-heading>div:first-child>span{color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.09em}
.csv-row-viewer-page .row-results-head strong{color:var(--text);font-size:14px}
.csv-row-viewer-page .row-results-range{color:var(--muted);font-size:11px}
.csv-row-viewer-page .row-table-wrap{max-height:min(520px,58vh);margin:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);overscroll-behavior:contain}
.csv-row-viewer-page .row-table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;font-size:12px}
.csv-row-viewer-page .row-table th{position:sticky;top:0;z-index:2;padding:12px 13px;border:0;border-bottom:1px solid var(--line);background:var(--soft);color:var(--text);font-size:11px;font-weight:800;text-align:left;white-space:nowrap}
.csv-row-viewer-page .row-table td{max-width:300px;padding:10px 13px;border:0;border-bottom:1px solid var(--line);color:var(--text);font-size:12px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.csv-row-viewer-page .row-table .row-index-head,.csv-row-viewer-page .row-table .row-index-cell{width:76px;min-width:76px;text-align:center}
.csv-row-viewer-page .row-table .row-index-cell{background:var(--soft)}
.csv-row-viewer-page .row-select{min-width:40px;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent-dark);font-size:11px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer}
.csv-row-viewer-page .row-select:hover,.csv-row-viewer-page .row-table tr.is-selected .row-select{border-color:var(--accent);background:var(--accent);color:#fff}
.csv-row-viewer-page .row-table tbody tr:nth-child(even) td:not(.row-index-cell){background:color-mix(in srgb,var(--text) 2%,var(--surface))}
.csv-row-viewer-page .row-table tbody tr:hover td,.csv-row-viewer-page .row-table tbody tr.is-selected td{background:var(--accent-soft)}
.csv-row-viewer-page .row-table tbody tr:last-child td{border-bottom:0}
.csv-row-viewer-page .row-table .row-more-head,.csv-row-viewer-page .row-table .row-more-cell{text-align:center;color:var(--muted)}
.csv-row-viewer-page .row-table .no-results{padding:38px 16px;text-align:center;background:var(--surface);color:var(--text)}
.csv-row-viewer-page .row-table .no-results strong,.csv-row-viewer-page .row-table .no-results span{display:block}
.csv-row-viewer-page .row-table .no-results strong{font-size:13px}
.csv-row-viewer-page .row-table .no-results span{margin-top:4px;color:var(--muted);font-size:11px;font-weight:400}
.csv-row-viewer-page .row-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:11px 3px 0;color:var(--muted);font-size:11px}
.csv-row-viewer-page .row-pager .pager-buttons{display:flex;align-items:center;gap:8px}
.csv-row-viewer-page .row-pager .pager-buttons b{display:flex;width:auto;min-width:82px;height:34px;flex:0 0 auto;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;line-height:1;white-space:nowrap}
.csv-row-viewer-page .row-pager .pager-buttons button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent-dark);font-size:17px;font-weight:800;cursor:pointer}
.csv-row-viewer-page .row-pager .pager-buttons button:not(:disabled):hover{border-color:var(--accent);background:var(--accent);color:#fff}
.csv-row-viewer-page .row-pager .pager-buttons button:disabled{opacity:.45;cursor:not-allowed}
.csv-row-viewer-page .row-detail-panel{margin-top:22px;padding:17px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}
.csv-row-viewer-page .row-detail-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}
.csv-row-viewer-page .row-detail-heading h3{margin:4px 0 0;color:var(--text);font-size:17px}
.csv-row-viewer-page .row-detail-actions{display:flex;flex:0 0 auto;gap:8px;margin:0}
.csv-row-viewer-page .row-detail-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:0 12px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.csv-row-viewer-page .row-detail-actions .secondary-btn{border:1px solid var(--line);background:var(--surface);color:var(--text)}
.csv-row-viewer-page .row-detail-actions .secondary-btn:hover,.csv-row-viewer-page .row-detail-actions .secondary-btn.is-copied{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-dark)}
.csv-row-viewer-page .row-detail-actions .viewer-download{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff}
.csv-row-viewer-page .row-fields-wrap{max-height:440px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:var(--surface);overscroll-behavior:contain}
.csv-row-viewer-page .row-fields-table{width:100%;min-width:0;border-collapse:separate;border-spacing:0}
.csv-row-viewer-page .row-fields-table thead th{position:sticky;top:0;z-index:2;padding:10px 13px;border:0;border-bottom:1px solid var(--line);background:var(--surface);color:var(--muted);font-size:10px;text-align:left}
.csv-row-viewer-page .row-fields-table th[scope="row"]{width:32%;min-width:130px;padding:10px 13px;border:0;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface));color:var(--text);font-size:11px;font-weight:750;text-align:left;overflow-wrap:anywhere}
.csv-row-viewer-page .row-fields-table td{padding:10px 13px;border:0;border-bottom:1px solid var(--line);color:var(--text);font-size:12px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}
.csv-row-viewer-page .row-fields-table tbody tr:last-child th,.csv-row-viewer-page .row-fields-table tbody tr:last-child td{border-bottom:0}
.csv-row-viewer-page .row-empty-value{color:var(--muted);font-size:11px;font-style:italic}
.csv-row-viewer-page .row-detail-empty{display:grid;justify-items:center;padding:25px 14px;text-align:center}
.csv-row-viewer-page .row-detail-empty>span{display:grid;width:38px;height:38px;place-items:center;margin-bottom:10px;border-radius:12px;background:var(--accent-soft);color:var(--accent-dark);font-size:22px}
.csv-row-viewer-page .row-detail-empty strong{color:var(--text);font-size:13px}
.csv-row-viewer-page .row-detail-empty p{margin:5px 0 0;color:var(--muted);font-size:11px}
@media(max-width:680px){
  .csv-row-viewer-page .special-workspace{width:calc(100% - 24px);margin-bottom:32px}
  .csv-row-viewer-page .special-filebar{align-items:flex-start;flex-direction:column;padding:14px}
  .csv-row-viewer-page .special-file-actions{width:100%;justify-content:flex-start}
  .csv-row-viewer-page .special-file-actions button{flex:1;justify-content:center}
  .csv-row-viewer-page .special-controls{padding:17px 14px}
  .csv-row-viewer-page .special-controls h2{font-size:17px;margin-bottom:15px}
  .csv-row-viewer-page .row-tools{align-items:stretch;flex-direction:column;gap:8px}
  .csv-row-viewer-page .row-search-hint{max-width:none}
  .csv-row-viewer-page .row-results-head{align-items:flex-start;flex-direction:column;gap:5px}
  .csv-row-viewer-page .row-detail-panel{margin-top:17px;padding:12px}
  .csv-row-viewer-page .row-detail-heading{align-items:flex-start;flex-direction:column}
  .csv-row-viewer-page .row-detail-actions{width:100%}
  .csv-row-viewer-page .row-detail-actions button{flex:1}
  .csv-row-viewer-page .row-fields-table th[scope="row"]{width:38%;min-width:100px}
  .csv-row-viewer-page .row-pager{align-items:flex-start;flex-direction:column}
}
/* CSV Cleaner: clear cleanup controls, change summary, and readable preview. */
.csv-cleaner-page .editor-upload-card{width:550px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.csv-cleaner-page .editor-upload{width:100%;height:auto;min-height:202px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.csv-cleaner-page .editor-upload:hover,.csv-cleaner-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent)}
.csv-cleaner-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.csv-cleaner-page .cleaner-workspace{width:min(1080px,calc(100% - 36px));margin:0 auto 42px}
.csv-cleaner-page .cleaner-data-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.csv-cleaner-page .cleaner-filebar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 21px;background:linear-gradient(115deg,var(--accent-soft),var(--surface) 66%);border-bottom:1px solid var(--line)}
.csv-cleaner-page .viewer-fileinfo{min-width:0}
.csv-cleaner-page .viewer-fileinfo strong{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-size:14px}
.csv-cleaner-page .viewer-fileinfo span{margin-top:4px;color:var(--muted);font-size:11px}
.csv-cleaner-page .cleaner-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.csv-cleaner-page .cleaner-actions button{min-height:38px;padding:0 13px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.csv-cleaner-page .cleaner-actions #runClean{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.csv-cleaner-page .cleaner-actions #downloadCleaned{border:1px solid transparent;background:var(--accent-soft);color:var(--accent-dark)}
.csv-cleaner-page .cleaner-actions #downloadCleaned:disabled{border-color:var(--line);background:var(--soft);color:var(--muted);box-shadow:none;opacity:.7;cursor:not-allowed}
.csv-cleaner-page .cleaner-actions #clearCleaner{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.csv-cleaner-page .cleaner-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.csv-cleaner-page .cleaner-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:17px 20px;border-bottom:1px solid var(--line);background:var(--surface)}
.csv-cleaner-page .cleaner-options-heading{grid-column:1/-1;display:flex;align-items:baseline;gap:9px;flex-wrap:wrap;margin:0 0 2px}
.csv-cleaner-page .cleaner-options-heading strong{color:var(--text);font-size:13px}
.csv-cleaner-page .cleaner-options-heading span{color:var(--muted);font-size:11px}
.csv-cleaner-page .cleaner-options label{display:flex;align-items:center;gap:9px;min-height:42px;margin:0;padding:9px 11px;border:1px solid var(--line);border-radius:10px;background:var(--soft);color:var(--text);font-size:11px;font-weight:650;cursor:pointer;transition:border-color .16s,background .16s}
.csv-cleaner-page .cleaner-options label:hover{border-color:var(--accent);background:var(--accent-soft)}
.csv-cleaner-page .cleaner-options input{width:16px;height:16px;flex:0 0 auto;margin:0;accent-color:var(--accent)}
.csv-cleaner-page .cleaner-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--soft)}
.csv-cleaner-page .cleaner-stats div{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 7px;border:1px solid var(--line);border-radius:11px;background:var(--surface);text-align:center}
.csv-cleaner-page .cleaner-stats div:last-child{border-right:1px solid var(--line)}
.csv-cleaner-page .cleaner-stats strong{color:var(--accent-dark);font-size:18px;font-variant-numeric:tabular-nums}
.csv-cleaner-page .cleaner-stats span{color:var(--muted);font-size:10px;line-height:1.35}
.csv-cleaner-page .cleaner-table-wrap{max-height:min(540px,60vh);margin:0;border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface);overscroll-behavior:contain}
.csv-cleaner-page .cleaner-table-wrap table{width:100%;min-width:680px;border-collapse:separate;border-spacing:0;font-size:12px}
.csv-cleaner-page .cleaner-table-wrap th{position:sticky;top:0;z-index:2;padding:11px 13px;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);background:var(--soft);color:var(--text);font-size:11px;font-weight:800;text-align:left;white-space:nowrap}
.csv-cleaner-page .cleaner-table-wrap td{max-width:340px;padding:9px 13px;border:0;border-bottom:1px solid var(--line);border-right:1px solid var(--line);color:var(--text);font-size:12px;line-height:1.45;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.csv-cleaner-page .cleaner-table-wrap th:first-child,.csv-cleaner-page .cleaner-table-wrap td:first-child{width:58px;min-width:58px;text-align:center}
.csv-cleaner-page .cleaner-table-wrap td:first-child{background:var(--soft);color:var(--muted);font-size:11px;font-variant-numeric:tabular-nums}
.csv-cleaner-page .cleaner-table-wrap th:last-child,.csv-cleaner-page .cleaner-table-wrap td:last-child{border-right:0}
.csv-cleaner-page .cleaner-table-wrap tbody tr:nth-child(even) td:not(:first-child){background:color-mix(in srgb,var(--text) 2%,var(--surface))}
.csv-cleaner-page .cleaner-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.csv-cleaner-page .cleaner-table-wrap tbody tr:last-child td{border-bottom:0}
.csv-cleaner-page .cleaner-table-wrap .no-results{padding:35px 16px;text-align:center;color:var(--muted)}
.csv-cleaner-page .cleaner-data-card>.viewer-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;padding:11px 17px;color:var(--muted);font-size:11px}
.csv-cleaner-page .cleaner-data-card>.viewer-pager .pager-buttons{display:flex;align-items:center;gap:8px}
.csv-cleaner-page .cleaner-data-card>.viewer-pager .pager-buttons b{display:flex;width:auto;min-width:82px;height:34px;flex:0 0 auto;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;line-height:1;white-space:nowrap}
.csv-cleaner-page .cleaner-data-card>.viewer-pager .pager-buttons button{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent-dark);font-size:17px;font-weight:800;cursor:pointer}
.csv-cleaner-page .cleaner-data-card>.viewer-pager .pager-buttons button:not(:disabled):hover{border-color:var(--accent);background:var(--accent);color:#fff}
.csv-cleaner-page .cleaner-data-card>.viewer-pager .pager-buttons button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){
  .csv-cleaner-page .cleaner-workspace{width:calc(100% - 24px);margin-bottom:32px}
  .csv-cleaner-page .cleaner-filebar{align-items:flex-start;flex-direction:column;padding:14px}
  .csv-cleaner-page .cleaner-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .csv-cleaner-page .cleaner-actions #runClean,.csv-cleaner-page .cleaner-actions #clearCleaner{grid-column:1/-1}
  .csv-cleaner-page .cleaner-actions button{width:100%}
  .csv-cleaner-page .cleaner-options{grid-template-columns:1fr;padding:14px}
  .csv-cleaner-page .cleaner-options-heading{align-items:flex-start;flex-direction:column;gap:3px}
  .csv-cleaner-page .cleaner-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px}
  .csv-cleaner-page .cleaner-stats div:last-child{grid-column:1/-1}
  .csv-cleaner-page .cleaner-table-wrap{max-height:55vh}
  .csv-cleaner-page .cleaner-data-card>.viewer-pager{align-items:flex-start;flex-direction:column;padding:11px 14px}
}
/* Remove Duplicate Rows: matched upload, paste, result, and guide layout. */
.duplicate-rows-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.duplicate-rows-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.duplicate-rows-page .editor-upload:hover,.duplicate-rows-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.duplicate-rows-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.duplicate-rows-page .duplicate-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.duplicate-rows-page .duplicate-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.duplicate-rows-page .duplicate-input-panel{padding:22px 23px 15px}
.duplicate-rows-page .duplicate-input-heading,.duplicate-rows-page .duplicate-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.duplicate-rows-page .duplicate-input-heading>div>span,.duplicate-rows-page .duplicate-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.duplicate-rows-page .duplicate-input-heading h2,.duplicate-rows-page .duplicate-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.duplicate-rows-page .duplicate-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.duplicate-rows-page .duplicate-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.duplicate-rows-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.duplicate-rows-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.duplicate-rows-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.duplicate-rows-page .duplicate-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.duplicate-rows-page .duplicate-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.duplicate-rows-page .duplicate-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.duplicate-rows-page .duplicate-rule-card strong{color:var(--text);font-size:12px}
.duplicate-rows-page .duplicate-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.duplicate-rows-page .duplicate-rule-card code{color:var(--text);font:inherit;font-weight:700}
.duplicate-rows-page .duplicate-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.duplicate-rows-page .duplicate-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.duplicate-rows-page .duplicate-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.duplicate-rows-page .duplicate-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.duplicate-rows-page .duplicate-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.duplicate-rows-page .duplicate-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.duplicate-rows-page .duplicate-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.duplicate-rows-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.duplicate-rows-page #cleaningStatus.is-error{color:#f85149}
.duplicate-rows-page .duplicate-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.duplicate-rows-page .duplicate-output[hidden]{display:none!important}
.duplicate-rows-page .duplicate-output-heading{align-items:flex-end;margin-bottom:12px}
.duplicate-rows-page .duplicate-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.duplicate-rows-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.duplicate-rows-page .duplicate-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.duplicate-rows-page .duplicate-rows-content{margin-top:18px}
@media(max-width:700px){
  .duplicate-rows-page .duplicate-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .duplicate-rows-page .duplicate-input-panel{padding:17px 14px 13px}
  .duplicate-rows-page .duplicate-input-heading,.duplicate-rows-page .duplicate-output-heading{align-items:flex-start;flex-direction:column}
  .duplicate-rows-page .duplicate-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .duplicate-rows-page .duplicate-rule-card>span{grid-row:auto}
  .duplicate-rows-page .duplicate-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .duplicate-rows-page .duplicate-actions #runTool,.duplicate-rows-page .duplicate-actions #clearTool{grid-column:1/-1}
  .duplicate-rows-page .duplicate-actions button{width:100%}
  .duplicate-rows-page #cleaningStatus{margin:0 14px 14px}
  .duplicate-rows-page .duplicate-output{padding:15px 14px 18px}
  .duplicate-rows-page .duplicate-summary{max-width:100%;text-align:left}
  .duplicate-rows-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}

/* Remove Empty Rows: matched upload, paste, result, and guide layout. */
.remove-empty-rows-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.remove-empty-rows-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.remove-empty-rows-page .editor-upload:hover,.remove-empty-rows-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.remove-empty-rows-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.remove-empty-rows-page .empty-rows-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.remove-empty-rows-page .empty-rows-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.remove-empty-rows-page .empty-rows-input-panel{padding:22px 23px 15px}
.remove-empty-rows-page .empty-rows-input-heading,.remove-empty-rows-page .empty-rows-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.remove-empty-rows-page .empty-rows-input-heading>div>span,.remove-empty-rows-page .empty-rows-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-empty-rows-page .empty-rows-input-heading h2,.remove-empty-rows-page .empty-rows-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.remove-empty-rows-page .empty-rows-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-empty-rows-page .empty-rows-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-empty-rows-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.remove-empty-rows-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.remove-empty-rows-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.remove-empty-rows-page .empty-rows-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-empty-rows-page .empty-rows-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.remove-empty-rows-page .empty-rows-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.remove-empty-rows-page .empty-rows-rule-card strong{color:var(--text);font-size:12px}
.remove-empty-rows-page .empty-rows-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-empty-rows-page .empty-rows-rule-card code{color:var(--text);font:inherit;font-weight:700}
.remove-empty-rows-page .empty-rows-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.remove-empty-rows-page .empty-rows-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.remove-empty-rows-page .empty-rows-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.remove-empty-rows-page .empty-rows-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.remove-empty-rows-page .empty-rows-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.remove-empty-rows-page .empty-rows-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.remove-empty-rows-page .empty-rows-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.remove-empty-rows-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.remove-empty-rows-page #cleaningStatus.is-error{color:#f85149}
.remove-empty-rows-page .empty-rows-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.remove-empty-rows-page .empty-rows-output[hidden]{display:none!important}
.remove-empty-rows-page .empty-rows-output-heading{align-items:flex-end;margin-bottom:12px}
.remove-empty-rows-page .empty-rows-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.remove-empty-rows-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.remove-empty-rows-page .empty-rows-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-empty-rows-page .empty-rows-rows-content{margin-top:18px}
@media(max-width:700px){
  .remove-empty-rows-page .empty-rows-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .remove-empty-rows-page .empty-rows-input-panel{padding:17px 14px 13px}
  .remove-empty-rows-page .empty-rows-input-heading,.remove-empty-rows-page .empty-rows-output-heading{align-items:flex-start;flex-direction:column}
  .remove-empty-rows-page .empty-rows-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .remove-empty-rows-page .empty-rows-rule-card>span{grid-row:auto}
  .remove-empty-rows-page .empty-rows-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .remove-empty-rows-page .empty-rows-actions #runTool,.remove-empty-rows-page .empty-rows-actions #clearTool{grid-column:1/-1}
  .remove-empty-rows-page .empty-rows-actions button{width:100%}
  .remove-empty-rows-page #cleaningStatus{margin:0 14px 14px}
  .remove-empty-rows-page .empty-rows-output{padding:15px 14px 18px}
  .remove-empty-rows-page .empty-rows-summary{max-width:100%;text-align:left}
  .remove-empty-rows-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}/* Remove Empty Rows: matched upload, paste, result, and guide layout. */
.remove-empty-columns-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.remove-empty-columns-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.remove-empty-columns-page .editor-upload:hover,.remove-empty-columns-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.remove-empty-columns-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.remove-empty-columns-page .empty-columns-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.remove-empty-columns-page .empty-columns-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.remove-empty-columns-page .empty-columns-input-panel{padding:22px 23px 15px}
.remove-empty-columns-page .empty-columns-input-heading,.remove-empty-columns-page .empty-columns-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.remove-empty-columns-page .empty-columns-input-heading>div>span,.remove-empty-columns-page .empty-columns-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-empty-columns-page .empty-columns-input-heading h2,.remove-empty-columns-page .empty-columns-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.remove-empty-columns-page .empty-columns-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-empty-columns-page .empty-columns-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-empty-columns-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.remove-empty-columns-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.remove-empty-columns-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.remove-empty-columns-page .empty-columns-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-empty-columns-page .empty-columns-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.remove-empty-columns-page .empty-columns-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.remove-empty-columns-page .empty-columns-rule-card strong{color:var(--text);font-size:12px}
.remove-empty-columns-page .empty-columns-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-empty-columns-page .empty-columns-rule-card code{color:var(--text);font:inherit;font-weight:700}
.remove-empty-columns-page .empty-columns-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.remove-empty-columns-page .empty-columns-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.remove-empty-columns-page .empty-columns-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.remove-empty-columns-page .empty-columns-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.remove-empty-columns-page .empty-columns-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.remove-empty-columns-page .empty-columns-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.remove-empty-columns-page .empty-columns-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.remove-empty-columns-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.remove-empty-columns-page #cleaningStatus.is-error{color:#f85149}
.remove-empty-columns-page .empty-columns-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.remove-empty-columns-page .empty-columns-output[hidden]{display:none!important}
.remove-empty-columns-page .empty-columns-output-heading{align-items:flex-end;margin-bottom:12px}
.remove-empty-columns-page .empty-columns-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.remove-empty-columns-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.remove-empty-columns-page .empty-columns-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-empty-columns-page .empty-columns-rows-content{margin-top:18px}
@media(max-width:700px){
  .remove-empty-columns-page .empty-columns-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .remove-empty-columns-page .empty-columns-input-panel{padding:17px 14px 13px}
  .remove-empty-columns-page .empty-columns-input-heading,.remove-empty-columns-page .empty-columns-output-heading{align-items:flex-start;flex-direction:column}
  .remove-empty-columns-page .empty-columns-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .remove-empty-columns-page .empty-columns-rule-card>span{grid-row:auto}
  .remove-empty-columns-page .empty-columns-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .remove-empty-columns-page .empty-columns-actions #runTool,.remove-empty-columns-page .empty-columns-actions #clearTool{grid-column:1/-1}
  .remove-empty-columns-page .empty-columns-actions button{width:100%}
  .remove-empty-columns-page #cleaningStatus{margin:0 14px 14px}
  .remove-empty-columns-page .empty-columns-output{padding:15px 14px 18px}
  .remove-empty-columns-page .empty-columns-summary{max-width:100%;text-align:left}
  .remove-empty-columns-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}
/* Remove Empty Columns page copy aliases and theme match. */
.remove-empty-columns-page .empty-columns-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-empty-columns-page .empty-columns-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-empty-columns-page .empty-columns-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-empty-columns-page .empty-columns-content{margin-top:18px}
.remove-blank-cells-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.remove-blank-cells-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.remove-blank-cells-page .editor-upload:hover,.remove-blank-cells-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.remove-blank-cells-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.remove-blank-cells-page .blank-cells-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.remove-blank-cells-page .blank-cells-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.remove-blank-cells-page .blank-cells-input-panel{padding:22px 23px 15px}
.remove-blank-cells-page .blank-cells-input-heading,.remove-blank-cells-page .blank-cells-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.remove-blank-cells-page .blank-cells-input-heading>div>span,.remove-blank-cells-page .blank-cells-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-blank-cells-page .blank-cells-input-heading h2,.remove-blank-cells-page .blank-cells-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.remove-blank-cells-page .blank-cells-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-blank-cells-page .blank-cells-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-blank-cells-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.remove-blank-cells-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.remove-blank-cells-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.remove-blank-cells-page .blank-cells-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-blank-cells-page .blank-cells-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.remove-blank-cells-page .blank-cells-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.remove-blank-cells-page .blank-cells-rule-card strong{color:var(--text);font-size:12px}
.remove-blank-cells-page .blank-cells-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-blank-cells-page .blank-cells-rule-card code{color:var(--text);font:inherit;font-weight:700}
.remove-blank-cells-page .blank-cells-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.remove-blank-cells-page .blank-cells-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.remove-blank-cells-page .blank-cells-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.remove-blank-cells-page .blank-cells-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.remove-blank-cells-page .blank-cells-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.remove-blank-cells-page .blank-cells-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.remove-blank-cells-page .blank-cells-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.remove-blank-cells-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.remove-blank-cells-page #cleaningStatus.is-error{color:#f85149}
.remove-blank-cells-page .blank-cells-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.remove-blank-cells-page .blank-cells-output[hidden]{display:none!important}
.remove-blank-cells-page .blank-cells-output-heading{align-items:flex-end;margin-bottom:12px}
.remove-blank-cells-page .blank-cells-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.remove-blank-cells-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.remove-blank-cells-page .blank-cells-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-blank-cells-page .blank-cells-rows-content{margin-top:18px}
@media(max-width:700px){
  .remove-blank-cells-page .blank-cells-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .remove-blank-cells-page .blank-cells-input-panel{padding:17px 14px 13px}
  .remove-blank-cells-page .blank-cells-input-heading,.remove-blank-cells-page .blank-cells-output-heading{align-items:flex-start;flex-direction:column}
  .remove-blank-cells-page .blank-cells-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .remove-blank-cells-page .blank-cells-rule-card>span{grid-row:auto}
  .remove-blank-cells-page .blank-cells-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .remove-blank-cells-page .blank-cells-actions #runTool,.remove-blank-cells-page .blank-cells-actions #clearTool{grid-column:1/-1}
  .remove-blank-cells-page .blank-cells-actions button{width:100%}
  .remove-blank-cells-page #cleaningStatus{margin:0 14px 14px}
  .remove-blank-cells-page .blank-cells-output{padding:15px 14px 18px}
  .remove-blank-cells-page .blank-cells-summary{max-width:100%;text-align:left}
  .remove-blank-cells-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}
/* Remove Empty Columns page copy aliases and theme match. */
.remove-blank-cells-page .blank-cells-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-blank-cells-page .blank-cells-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-blank-cells-page .blank-cells-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-blank-cells-page .blank-cells-content{margin-top:18px}

/* Remove Blank Cells page copy aliases and theme match. */
.remove-blank-cells-page .blank-cells-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-blank-cells-page .blank-cells-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-blank-cells-page .blank-cells-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-blank-cells-page .blank-cells-content{margin-top:18px}
.trim-csv-whitespace-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.trim-csv-whitespace-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.trim-csv-whitespace-page .editor-upload:hover,.trim-csv-whitespace-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.trim-csv-whitespace-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.trim-csv-whitespace-page .trim-whitespace-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.trim-csv-whitespace-page .trim-whitespace-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.trim-csv-whitespace-page .trim-whitespace-input-panel{padding:22px 23px 15px}
.trim-csv-whitespace-page .trim-whitespace-input-heading,.trim-csv-whitespace-page .trim-whitespace-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.trim-csv-whitespace-page .trim-whitespace-input-heading>div>span,.trim-csv-whitespace-page .trim-whitespace-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.trim-csv-whitespace-page .trim-whitespace-input-heading h2,.trim-csv-whitespace-page .trim-whitespace-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.trim-csv-whitespace-page .trim-whitespace-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.trim-csv-whitespace-page .trim-whitespace-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.trim-csv-whitespace-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.trim-csv-whitespace-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.trim-csv-whitespace-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.trim-csv-whitespace-page .trim-whitespace-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.trim-csv-whitespace-page .trim-whitespace-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.trim-csv-whitespace-page .trim-whitespace-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.trim-csv-whitespace-page .trim-whitespace-rule-card strong{color:var(--text);font-size:12px}
.trim-csv-whitespace-page .trim-whitespace-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.trim-csv-whitespace-page .trim-whitespace-rule-card code{color:var(--text);font:inherit;font-weight:700}
.trim-csv-whitespace-page .trim-whitespace-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.trim-csv-whitespace-page .trim-whitespace-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.trim-csv-whitespace-page .trim-whitespace-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.trim-csv-whitespace-page .trim-whitespace-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.trim-csv-whitespace-page .trim-whitespace-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.trim-csv-whitespace-page .trim-whitespace-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.trim-csv-whitespace-page .trim-whitespace-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.trim-csv-whitespace-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.trim-csv-whitespace-page #cleaningStatus.is-error{color:#f85149}
.trim-csv-whitespace-page .trim-whitespace-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.trim-csv-whitespace-page .trim-whitespace-output[hidden]{display:none!important}
.trim-csv-whitespace-page .trim-whitespace-output-heading{align-items:flex-end;margin-bottom:12px}
.trim-csv-whitespace-page .trim-whitespace-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.trim-csv-whitespace-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.trim-csv-whitespace-page .trim-whitespace-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.trim-csv-whitespace-page .trim-whitespace-rows-content{margin-top:18px}
@media(max-width:700px){
  .trim-csv-whitespace-page .trim-whitespace-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .trim-csv-whitespace-page .trim-whitespace-input-panel{padding:17px 14px 13px}
  .trim-csv-whitespace-page .trim-whitespace-input-heading,.trim-csv-whitespace-page .trim-whitespace-output-heading{align-items:flex-start;flex-direction:column}
  .trim-csv-whitespace-page .trim-whitespace-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .trim-csv-whitespace-page .trim-whitespace-rule-card>span{grid-row:auto}
  .trim-csv-whitespace-page .trim-whitespace-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .trim-csv-whitespace-page .trim-whitespace-actions #runTool,.trim-csv-whitespace-page .trim-whitespace-actions #clearTool{grid-column:1/-1}
  .trim-csv-whitespace-page .trim-whitespace-actions button{width:100%}
  .trim-csv-whitespace-page #cleaningStatus{margin:0 14px 14px}
  .trim-csv-whitespace-page .trim-whitespace-output{padding:15px 14px 18px}
  .trim-csv-whitespace-page .trim-whitespace-summary{max-width:100%;text-align:left}
  .trim-csv-whitespace-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}
/* Remove Empty Columns page copy aliases and theme match. */
.trim-csv-whitespace-page .trim-whitespace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.trim-csv-whitespace-page .trim-whitespace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.trim-csv-whitespace-page .trim-whitespace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.trim-csv-whitespace-page .trim-whitespace-content{margin-top:18px}

/* Remove Blank Cells page copy aliases and theme match. */
.trim-csv-whitespace-page .trim-whitespace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.trim-csv-whitespace-page .trim-whitespace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.trim-csv-whitespace-page .trim-whitespace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.trim-csv-whitespace-page .trim-whitespace-content{margin-top:18px}

/* Trim CSV Whitespace page copy aliases and theme match. */
.trim-csv-whitespace-page .trim-whitespace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.trim-csv-whitespace-page .trim-whitespace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.trim-csv-whitespace-page .trim-whitespace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.trim-csv-whitespace-page .trim-whitespace-content{margin-top:18px}
.remove-special-characters-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.remove-special-characters-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.remove-special-characters-page .editor-upload:hover,.remove-special-characters-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.remove-special-characters-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.remove-special-characters-page .special-char-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.remove-special-characters-page .special-char-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.remove-special-characters-page .special-char-input-panel{padding:22px 23px 15px}
.remove-special-characters-page .special-char-input-heading,.remove-special-characters-page .special-char-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.remove-special-characters-page .special-char-input-heading>div>span,.remove-special-characters-page .special-char-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-special-characters-page .special-char-input-heading h2,.remove-special-characters-page .special-char-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.remove-special-characters-page .special-char-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-special-characters-page .special-char-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-special-characters-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.remove-special-characters-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.remove-special-characters-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.remove-special-characters-page .special-char-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-special-characters-page .special-char-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.remove-special-characters-page .special-char-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.remove-special-characters-page .special-char-rule-card strong{color:var(--text);font-size:12px}
.remove-special-characters-page .special-char-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-special-characters-page .special-char-rule-card code{color:var(--text);font:inherit;font-weight:700}
.remove-special-characters-page .special-char-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.remove-special-characters-page .special-char-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.remove-special-characters-page .special-char-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.remove-special-characters-page .special-char-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.remove-special-characters-page .special-char-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.remove-special-characters-page .special-char-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.remove-special-characters-page .special-char-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.remove-special-characters-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.remove-special-characters-page #cleaningStatus.is-error{color:#f85149}
.remove-special-characters-page .special-char-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.remove-special-characters-page .special-char-output[hidden]{display:none!important}
.remove-special-characters-page .special-char-output-heading{align-items:flex-end;margin-bottom:12px}
.remove-special-characters-page .special-char-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.remove-special-characters-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.remove-special-characters-page .special-char-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-special-characters-page .special-char-rows-content{margin-top:18px}
@media(max-width:700px){
  .remove-special-characters-page .special-char-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .remove-special-characters-page .special-char-input-panel{padding:17px 14px 13px}
  .remove-special-characters-page .special-char-input-heading,.remove-special-characters-page .special-char-output-heading{align-items:flex-start;flex-direction:column}
  .remove-special-characters-page .special-char-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .remove-special-characters-page .special-char-rule-card>span{grid-row:auto}
  .remove-special-characters-page .special-char-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .remove-special-characters-page .special-char-actions #runTool,.remove-special-characters-page .special-char-actions #clearTool{grid-column:1/-1}
  .remove-special-characters-page .special-char-actions button{width:100%}
  .remove-special-characters-page #cleaningStatus{margin:0 14px 14px}
  .remove-special-characters-page .special-char-output{padding:15px 14px 18px}
  .remove-special-characters-page .special-char-summary{max-width:100%;text-align:left}
  .remove-special-characters-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}
/* Remove Empty Columns page copy aliases and theme match. */
.remove-special-characters-page .special-char-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-special-characters-page .special-char-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-special-characters-page .special-char-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-special-characters-page .special-char-content{margin-top:18px}

/* Remove Blank Cells page copy aliases and theme match. */
.remove-special-characters-page .special-char-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-special-characters-page .special-char-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-special-characters-page .special-char-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-special-characters-page .special-char-content{margin-top:18px}

/* Trim CSV Whitespace page copy aliases and theme match. */
.remove-special-characters-page .special-char-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-special-characters-page .special-char-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-special-characters-page .special-char-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-special-characters-page .special-char-content{margin-top:18px}

/* Remove Special Characters page copy aliases and theme match. */
.remove-special-characters-page .special-char-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-special-characters-page .special-char-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-special-characters-page .special-char-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-special-characters-page .special-char-content{margin-top:18px}
.remove-extra-spaces-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.remove-extra-spaces-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.remove-extra-spaces-page .editor-upload:hover,.remove-extra-spaces-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.remove-extra-spaces-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.remove-extra-spaces-page .extra-spaces-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.remove-extra-spaces-page .extra-spaces-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.remove-extra-spaces-page .extra-spaces-input-panel{padding:22px 23px 15px}
.remove-extra-spaces-page .extra-spaces-input-heading,.remove-extra-spaces-page .extra-spaces-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.remove-extra-spaces-page .extra-spaces-input-heading>div>span,.remove-extra-spaces-page .extra-spaces-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-extra-spaces-page .extra-spaces-input-heading h2,.remove-extra-spaces-page .extra-spaces-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.remove-extra-spaces-page .extra-spaces-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-extra-spaces-page .extra-spaces-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-extra-spaces-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.remove-extra-spaces-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.remove-extra-spaces-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.remove-extra-spaces-page .extra-spaces-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-extra-spaces-page .extra-spaces-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.remove-extra-spaces-page .extra-spaces-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.remove-extra-spaces-page .extra-spaces-rule-card strong{color:var(--text);font-size:12px}
.remove-extra-spaces-page .extra-spaces-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-extra-spaces-page .extra-spaces-rule-card code{color:var(--text);font:inherit;font-weight:700}
.remove-extra-spaces-page .extra-spaces-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.remove-extra-spaces-page .extra-spaces-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.remove-extra-spaces-page .extra-spaces-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.remove-extra-spaces-page .extra-spaces-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.remove-extra-spaces-page .extra-spaces-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.remove-extra-spaces-page .extra-spaces-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.remove-extra-spaces-page .extra-spaces-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.remove-extra-spaces-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.remove-extra-spaces-page #cleaningStatus.is-error{color:#f85149}
.remove-extra-spaces-page .extra-spaces-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.remove-extra-spaces-page .extra-spaces-output[hidden]{display:none!important}
.remove-extra-spaces-page .extra-spaces-output-heading{align-items:flex-end;margin-bottom:12px}
.remove-extra-spaces-page .extra-spaces-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.remove-extra-spaces-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.remove-extra-spaces-page .extra-spaces-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-extra-spaces-page .extra-spaces-rows-content{margin-top:18px}
@media(max-width:700px){
  .remove-extra-spaces-page .extra-spaces-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .remove-extra-spaces-page .extra-spaces-input-panel{padding:17px 14px 13px}
  .remove-extra-spaces-page .extra-spaces-input-heading,.remove-extra-spaces-page .extra-spaces-output-heading{align-items:flex-start;flex-direction:column}
  .remove-extra-spaces-page .extra-spaces-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .remove-extra-spaces-page .extra-spaces-rule-card>span{grid-row:auto}
  .remove-extra-spaces-page .extra-spaces-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .remove-extra-spaces-page .extra-spaces-actions #runTool,.remove-extra-spaces-page .extra-spaces-actions #clearTool{grid-column:1/-1}
  .remove-extra-spaces-page .extra-spaces-actions button{width:100%}
  .remove-extra-spaces-page #cleaningStatus{margin:0 14px 14px}
  .remove-extra-spaces-page .extra-spaces-output{padding:15px 14px 18px}
  .remove-extra-spaces-page .extra-spaces-summary{max-width:100%;text-align:left}
  .remove-extra-spaces-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}
/* Remove Empty Columns page copy aliases and theme match. */
.remove-extra-spaces-page .extra-spaces-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-extra-spaces-page .extra-spaces-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-extra-spaces-page .extra-spaces-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-extra-spaces-page .extra-spaces-content{margin-top:18px}

/* Remove Blank Cells page copy aliases and theme match. */
.remove-extra-spaces-page .extra-spaces-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-extra-spaces-page .extra-spaces-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-extra-spaces-page .extra-spaces-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-extra-spaces-page .extra-spaces-content{margin-top:18px}

/* Trim CSV Whitespace page copy aliases and theme match. */
.remove-extra-spaces-page .extra-spaces-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-extra-spaces-page .extra-spaces-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-extra-spaces-page .extra-spaces-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-extra-spaces-page .extra-spaces-content{margin-top:18px}

/* Remove Special Characters page copy aliases and theme match. */
.remove-extra-spaces-page .extra-spaces-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-extra-spaces-page .extra-spaces-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-extra-spaces-page .extra-spaces-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-extra-spaces-page .extra-spaces-content{margin-top:18px}

/* Remove Extra Spaces page copy aliases and theme match. */
.remove-extra-spaces-page .extra-spaces-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-extra-spaces-page .extra-spaces-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-extra-spaces-page .extra-spaces-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-extra-spaces-page .extra-spaces-content{margin-top:18px}

/* Remove Extra Spaces: focused before-and-after example. */
.remove-extra-spaces-page .extra-space-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.remove-extra-spaces-page .extra-space-example>div{min-width:0}
.remove-extra-spaces-page .extra-space-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-extra-spaces-page .extra-space-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.remove-extra-spaces-page .extra-space-example{grid-template-columns:1fr;gap:10px;padding:12px}}
.fix-csv-formatting-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.fix-csv-formatting-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.fix-csv-formatting-page .editor-upload:hover,.fix-csv-formatting-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.fix-csv-formatting-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.fix-csv-formatting-page .format-csv-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.fix-csv-formatting-page .format-csv-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.fix-csv-formatting-page .format-csv-input-panel{padding:22px 23px 15px}
.fix-csv-formatting-page .format-csv-input-heading,.fix-csv-formatting-page .format-csv-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.fix-csv-formatting-page .format-csv-input-heading>div>span,.fix-csv-formatting-page .format-csv-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.fix-csv-formatting-page .format-csv-input-heading h2,.fix-csv-formatting-page .format-csv-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.fix-csv-formatting-page .format-csv-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.fix-csv-formatting-page .format-csv-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.fix-csv-formatting-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.fix-csv-formatting-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.fix-csv-formatting-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.fix-csv-formatting-page .format-csv-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.fix-csv-formatting-page .format-csv-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.fix-csv-formatting-page .format-csv-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.fix-csv-formatting-page .format-csv-rule-card strong{color:var(--text);font-size:12px}
.fix-csv-formatting-page .format-csv-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.fix-csv-formatting-page .format-csv-rule-card code{color:var(--text);font:inherit;font-weight:700}
.fix-csv-formatting-page .format-csv-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.fix-csv-formatting-page .format-csv-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.fix-csv-formatting-page .format-csv-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.fix-csv-formatting-page .format-csv-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.fix-csv-formatting-page .format-csv-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.fix-csv-formatting-page .format-csv-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.fix-csv-formatting-page .format-csv-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.fix-csv-formatting-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.fix-csv-formatting-page #cleaningStatus.is-error{color:#f85149}
.fix-csv-formatting-page .format-csv-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.fix-csv-formatting-page .format-csv-output[hidden]{display:none!important}
.fix-csv-formatting-page .format-csv-output-heading{align-items:flex-end;margin-bottom:12px}
.fix-csv-formatting-page .format-csv-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.fix-csv-formatting-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.fix-csv-formatting-page .format-csv-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.fix-csv-formatting-page .format-csv-rows-content{margin-top:18px}
@media(max-width:700px){
  .fix-csv-formatting-page .format-csv-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .fix-csv-formatting-page .format-csv-input-panel{padding:17px 14px 13px}
  .fix-csv-formatting-page .format-csv-input-heading,.fix-csv-formatting-page .format-csv-output-heading{align-items:flex-start;flex-direction:column}
  .fix-csv-formatting-page .format-csv-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .fix-csv-formatting-page .format-csv-rule-card>span{grid-row:auto}
  .fix-csv-formatting-page .format-csv-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .fix-csv-formatting-page .format-csv-actions #runTool,.fix-csv-formatting-page .format-csv-actions #clearTool{grid-column:1/-1}
  .fix-csv-formatting-page .format-csv-actions button{width:100%}
  .fix-csv-formatting-page #cleaningStatus{margin:0 14px 14px}
  .fix-csv-formatting-page .format-csv-output{padding:15px 14px 18px}
  .fix-csv-formatting-page .format-csv-summary{max-width:100%;text-align:left}
  .fix-csv-formatting-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}
/* Remove Empty Columns page copy aliases and theme match. */
.fix-csv-formatting-page .format-csv-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.fix-csv-formatting-page .format-csv-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.fix-csv-formatting-page .format-csv-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.fix-csv-formatting-page .format-csv-content{margin-top:18px}

/* Remove Blank Cells page copy aliases and theme match. */
.fix-csv-formatting-page .format-csv-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.fix-csv-formatting-page .format-csv-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.fix-csv-formatting-page .format-csv-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.fix-csv-formatting-page .format-csv-content{margin-top:18px}

/* Trim CSV Whitespace page copy aliases and theme match. */
.fix-csv-formatting-page .format-csv-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.fix-csv-formatting-page .format-csv-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.fix-csv-formatting-page .format-csv-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.fix-csv-formatting-page .format-csv-content{margin-top:18px}

/* Remove Special Characters page copy aliases and theme match. */
.fix-csv-formatting-page .format-csv-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.fix-csv-formatting-page .format-csv-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.fix-csv-formatting-page .format-csv-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.fix-csv-formatting-page .format-csv-content{margin-top:18px}

/* Remove Extra Spaces page copy aliases and theme match. */
.fix-csv-formatting-page .format-csv-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.fix-csv-formatting-page .format-csv-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.fix-csv-formatting-page .format-csv-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.fix-csv-formatting-page .format-csv-content{margin-top:18px}

/* Remove Extra Spaces: focused before-and-after example. */
.fix-csv-formatting-page .extra-space-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.fix-csv-formatting-page .extra-space-example>div{min-width:0}
.fix-csv-formatting-page .extra-space-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.fix-csv-formatting-page .extra-space-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.fix-csv-formatting-page .extra-space-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* Fix CSV Formatting page before-and-after example. */
.fix-csv-formatting-page .format-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.fix-csv-formatting-page .format-example>div{min-width:0}
.fix-csv-formatting-page .format-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.fix-csv-formatting-page .format-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.fix-csv-formatting-page .format-example{grid-template-columns:1fr;gap:10px;padding:12px}}
.csv-data-cleaner-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.csv-data-cleaner-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.csv-data-cleaner-page .editor-upload:hover,.csv-data-cleaner-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.csv-data-cleaner-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.csv-data-cleaner-page .data-cleaner-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.csv-data-cleaner-page .data-cleaner-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.csv-data-cleaner-page .data-cleaner-input-panel{padding:22px 23px 15px}
.csv-data-cleaner-page .data-cleaner-input-heading,.csv-data-cleaner-page .data-cleaner-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.csv-data-cleaner-page .data-cleaner-input-heading>div>span,.csv-data-cleaner-page .data-cleaner-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.csv-data-cleaner-page .data-cleaner-input-heading h2,.csv-data-cleaner-page .data-cleaner-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.csv-data-cleaner-page .data-cleaner-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.csv-data-cleaner-page .data-cleaner-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.csv-data-cleaner-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.csv-data-cleaner-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.csv-data-cleaner-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.csv-data-cleaner-page .data-cleaner-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.csv-data-cleaner-page .data-cleaner-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.csv-data-cleaner-page .data-cleaner-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.csv-data-cleaner-page .data-cleaner-rule-card strong{color:var(--text);font-size:12px}
.csv-data-cleaner-page .data-cleaner-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.csv-data-cleaner-page .data-cleaner-rule-card code{color:var(--text);font:inherit;font-weight:700}
.csv-data-cleaner-page .data-cleaner-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.csv-data-cleaner-page .data-cleaner-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.csv-data-cleaner-page .data-cleaner-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.csv-data-cleaner-page .data-cleaner-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.csv-data-cleaner-page .data-cleaner-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.csv-data-cleaner-page .data-cleaner-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.csv-data-cleaner-page .data-cleaner-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.csv-data-cleaner-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.csv-data-cleaner-page #cleaningStatus.is-error{color:#f85149}
.csv-data-cleaner-page .data-cleaner-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.csv-data-cleaner-page .data-cleaner-output[hidden]{display:none!important}
.csv-data-cleaner-page .data-cleaner-output-heading{align-items:flex-end;margin-bottom:12px}
.csv-data-cleaner-page .data-cleaner-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.csv-data-cleaner-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.csv-data-cleaner-page .data-cleaner-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.csv-data-cleaner-page .data-cleaner-rows-content{margin-top:18px}
@media(max-width:700px){
  .csv-data-cleaner-page .data-cleaner-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .csv-data-cleaner-page .data-cleaner-input-panel{padding:17px 14px 13px}
  .csv-data-cleaner-page .data-cleaner-input-heading,.csv-data-cleaner-page .data-cleaner-output-heading{align-items:flex-start;flex-direction:column}
  .csv-data-cleaner-page .data-cleaner-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .csv-data-cleaner-page .data-cleaner-rule-card>span{grid-row:auto}
  .csv-data-cleaner-page .data-cleaner-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .csv-data-cleaner-page .data-cleaner-actions #runTool,.csv-data-cleaner-page .data-cleaner-actions #clearTool{grid-column:1/-1}
  .csv-data-cleaner-page .data-cleaner-actions button{width:100%}
  .csv-data-cleaner-page #cleaningStatus{margin:0 14px 14px}
  .csv-data-cleaner-page .data-cleaner-output{padding:15px 14px 18px}
  .csv-data-cleaner-page .data-cleaner-summary{max-width:100%;text-align:left}
  .csv-data-cleaner-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}
/* Remove Empty Columns page copy aliases and theme match. */
.csv-data-cleaner-page .data-cleaner-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.csv-data-cleaner-page .data-cleaner-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.csv-data-cleaner-page .data-cleaner-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.csv-data-cleaner-page .data-cleaner-content{margin-top:18px}

/* Remove Blank Cells page copy aliases and theme match. */
.csv-data-cleaner-page .data-cleaner-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.csv-data-cleaner-page .data-cleaner-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.csv-data-cleaner-page .data-cleaner-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.csv-data-cleaner-page .data-cleaner-content{margin-top:18px}

/* Trim CSV Whitespace page copy aliases and theme match. */
.csv-data-cleaner-page .data-cleaner-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.csv-data-cleaner-page .data-cleaner-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.csv-data-cleaner-page .data-cleaner-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.csv-data-cleaner-page .data-cleaner-content{margin-top:18px}

/* Remove Special Characters page copy aliases and theme match. */
.csv-data-cleaner-page .data-cleaner-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.csv-data-cleaner-page .data-cleaner-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.csv-data-cleaner-page .data-cleaner-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.csv-data-cleaner-page .data-cleaner-content{margin-top:18px}

/* Remove Extra Spaces page copy aliases and theme match. */
.csv-data-cleaner-page .data-cleaner-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.csv-data-cleaner-page .data-cleaner-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.csv-data-cleaner-page .data-cleaner-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.csv-data-cleaner-page .data-cleaner-content{margin-top:18px}

/* Remove Extra Spaces: focused before-and-after example. */
.csv-data-cleaner-page .extra-space-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.csv-data-cleaner-page .extra-space-example>div{min-width:0}
.csv-data-cleaner-page .extra-space-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.csv-data-cleaner-page .extra-space-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.csv-data-cleaner-page .extra-space-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* Fix CSV Formatting page before-and-after example. */
.csv-data-cleaner-page .format-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.csv-data-cleaner-page .format-example>div{min-width:0}
.csv-data-cleaner-page .format-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.csv-data-cleaner-page .format-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.csv-data-cleaner-page .format-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* CSV Data Cleaner page before-and-after example. */
.csv-data-cleaner-page .cleaner-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.csv-data-cleaner-page .cleaner-example>div{min-width:0}
.csv-data-cleaner-page .cleaner-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.csv-data-cleaner-page .cleaner-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.csv-data-cleaner-page .cleaner-example{grid-template-columns:1fr;gap:10px;padding:12px}}
.normalize-csv-data-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.normalize-csv-data-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.normalize-csv-data-page .editor-upload:hover,.normalize-csv-data-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.normalize-csv-data-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.normalize-csv-data-page .normalize-data-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.normalize-csv-data-page .normalize-data-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.normalize-csv-data-page .normalize-data-input-panel{padding:22px 23px 15px}
.normalize-csv-data-page .normalize-data-input-heading,.normalize-csv-data-page .normalize-data-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.normalize-csv-data-page .normalize-data-input-heading>div>span,.normalize-csv-data-page .normalize-data-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.normalize-csv-data-page .normalize-data-input-heading h2,.normalize-csv-data-page .normalize-data-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.normalize-csv-data-page .normalize-data-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.normalize-csv-data-page .normalize-data-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.normalize-csv-data-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.normalize-csv-data-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.normalize-csv-data-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.normalize-csv-data-page .normalize-data-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.normalize-csv-data-page .normalize-data-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.normalize-csv-data-page .normalize-data-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.normalize-csv-data-page .normalize-data-rule-card strong{color:var(--text);font-size:12px}
.normalize-csv-data-page .normalize-data-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.normalize-csv-data-page .normalize-data-rule-card code{color:var(--text);font:inherit;font-weight:700}
.normalize-csv-data-page .normalize-data-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.normalize-csv-data-page .normalize-data-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.normalize-csv-data-page .normalize-data-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.normalize-csv-data-page .normalize-data-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.normalize-csv-data-page .normalize-data-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.normalize-csv-data-page .normalize-data-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.normalize-csv-data-page .normalize-data-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.normalize-csv-data-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.normalize-csv-data-page #cleaningStatus.is-error{color:#f85149}
.normalize-csv-data-page .normalize-data-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.normalize-csv-data-page .normalize-data-output[hidden]{display:none!important}
.normalize-csv-data-page .normalize-data-output-heading{align-items:flex-end;margin-bottom:12px}
.normalize-csv-data-page .normalize-data-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.normalize-csv-data-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.normalize-csv-data-page .normalize-data-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.normalize-csv-data-page .normalize-data-rows-content{margin-top:18px}
@media(max-width:700px){
  .normalize-csv-data-page .normalize-data-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .normalize-csv-data-page .normalize-data-input-panel{padding:17px 14px 13px}
  .normalize-csv-data-page .normalize-data-input-heading,.normalize-csv-data-page .normalize-data-output-heading{align-items:flex-start;flex-direction:column}
  .normalize-csv-data-page .normalize-data-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .normalize-csv-data-page .normalize-data-rule-card>span{grid-row:auto}
  .normalize-csv-data-page .normalize-data-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .normalize-csv-data-page .normalize-data-actions #runTool,.normalize-csv-data-page .normalize-data-actions #clearTool{grid-column:1/-1}
  .normalize-csv-data-page .normalize-data-actions button{width:100%}
  .normalize-csv-data-page #cleaningStatus{margin:0 14px 14px}
  .normalize-csv-data-page .normalize-data-output{padding:15px 14px 18px}
  .normalize-csv-data-page .normalize-data-summary{max-width:100%;text-align:left}
  .normalize-csv-data-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}
/* Remove Empty Columns page copy aliases and theme match. */
.normalize-csv-data-page .normalize-data-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.normalize-csv-data-page .normalize-data-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.normalize-csv-data-page .normalize-data-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.normalize-csv-data-page .normalize-data-content{margin-top:18px}

/* Remove Blank Cells page copy aliases and theme match. */
.normalize-csv-data-page .normalize-data-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.normalize-csv-data-page .normalize-data-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.normalize-csv-data-page .normalize-data-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.normalize-csv-data-page .normalize-data-content{margin-top:18px}

/* Trim CSV Whitespace page copy aliases and theme match. */
.normalize-csv-data-page .normalize-data-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.normalize-csv-data-page .normalize-data-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.normalize-csv-data-page .normalize-data-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.normalize-csv-data-page .normalize-data-content{margin-top:18px}

/* Remove Special Characters page copy aliases and theme match. */
.normalize-csv-data-page .normalize-data-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.normalize-csv-data-page .normalize-data-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.normalize-csv-data-page .normalize-data-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.normalize-csv-data-page .normalize-data-content{margin-top:18px}

/* Remove Extra Spaces page copy aliases and theme match. */
.normalize-csv-data-page .normalize-data-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.normalize-csv-data-page .normalize-data-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.normalize-csv-data-page .normalize-data-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.normalize-csv-data-page .normalize-data-content{margin-top:18px}

/* Remove Extra Spaces: focused before-and-after example. */
.normalize-csv-data-page .extra-space-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.normalize-csv-data-page .extra-space-example>div{min-width:0}
.normalize-csv-data-page .extra-space-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.normalize-csv-data-page .extra-space-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.normalize-csv-data-page .extra-space-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* Fix CSV Formatting page before-and-after example. */
.normalize-csv-data-page .format-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.normalize-csv-data-page .format-example>div{min-width:0}
.normalize-csv-data-page .format-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.normalize-csv-data-page .format-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.normalize-csv-data-page .format-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* CSV Data Cleaner page before-and-after example. */
.normalize-csv-data-page .cleaner-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.normalize-csv-data-page .cleaner-example>div{min-width:0}
.normalize-csv-data-page .cleaner-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.normalize-csv-data-page .cleaner-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.normalize-csv-data-page .cleaner-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* Normalize CSV Data page before-and-after example. */
.normalize-csv-data-page .normalize-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.normalize-csv-data-page .normalize-example>div{min-width:0}
.normalize-csv-data-page .normalize-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.normalize-csv-data-page .normalize-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.normalize-csv-data-page .normalize-example{grid-template-columns:1fr;gap:10px;padding:12px}}
.find-and-replace-csv-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.find-and-replace-csv-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.find-and-replace-csv-page .editor-upload:hover,.find-and-replace-csv-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.find-and-replace-csv-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.find-and-replace-csv-page .find-replace-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.find-and-replace-csv-page .find-replace-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.find-and-replace-csv-page .find-replace-input-panel{padding:22px 23px 15px}
.find-and-replace-csv-page .find-replace-input-heading,.find-and-replace-csv-page .find-replace-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.find-and-replace-csv-page .find-replace-input-heading>div>span,.find-and-replace-csv-page .find-replace-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.find-and-replace-csv-page .find-replace-input-heading h2,.find-and-replace-csv-page .find-replace-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.find-and-replace-csv-page .find-replace-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.find-and-replace-csv-page .find-replace-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.find-and-replace-csv-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.find-and-replace-csv-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.find-and-replace-csv-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.find-and-replace-csv-page .find-replace-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.find-and-replace-csv-page .find-replace-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.find-and-replace-csv-page .find-replace-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.find-and-replace-csv-page .find-replace-rule-card strong{color:var(--text);font-size:12px}
.find-and-replace-csv-page .find-replace-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.find-and-replace-csv-page .find-replace-rule-card code{color:var(--text);font:inherit;font-weight:700}
.find-and-replace-csv-page .find-replace-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.find-and-replace-csv-page .find-replace-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.find-and-replace-csv-page .find-replace-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.find-and-replace-csv-page .find-replace-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.find-and-replace-csv-page .find-replace-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.find-and-replace-csv-page .find-replace-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.find-and-replace-csv-page .find-replace-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.find-and-replace-csv-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.find-and-replace-csv-page #cleaningStatus.is-error{color:#f85149}
.find-and-replace-csv-page .find-replace-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.find-and-replace-csv-page .find-replace-output[hidden]{display:none!important}
.find-and-replace-csv-page .find-replace-output-heading{align-items:flex-end;margin-bottom:12px}
.find-and-replace-csv-page .find-replace-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.find-and-replace-csv-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.find-and-replace-csv-page .find-replace-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.find-and-replace-csv-page .find-replace-rows-content{margin-top:18px}
@media(max-width:700px){
  .find-and-replace-csv-page .find-replace-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .find-and-replace-csv-page .find-replace-input-panel{padding:17px 14px 13px}
  .find-and-replace-csv-page .find-replace-input-heading,.find-and-replace-csv-page .find-replace-output-heading{align-items:flex-start;flex-direction:column}
  .find-and-replace-csv-page .find-replace-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .find-and-replace-csv-page .find-replace-rule-card>span{grid-row:auto}
  .find-and-replace-csv-page .find-replace-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .find-and-replace-csv-page .find-replace-actions #runTool,.find-and-replace-csv-page .find-replace-actions #clearTool{grid-column:1/-1}
  .find-and-replace-csv-page .find-replace-actions button{width:100%}
  .find-and-replace-csv-page #cleaningStatus{margin:0 14px 14px}
  .find-and-replace-csv-page .find-replace-output{padding:15px 14px 18px}
  .find-and-replace-csv-page .find-replace-summary{max-width:100%;text-align:left}
  .find-and-replace-csv-page #csvInput{min-height:200px;padding:12px;font-size:11px}
}
/* Remove Empty Columns page copy aliases and theme match. */
.find-and-replace-csv-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.find-and-replace-csv-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.find-and-replace-csv-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.find-and-replace-csv-page .find-replace-content{margin-top:18px}

/* Remove Blank Cells page copy aliases and theme match. */
.find-and-replace-csv-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.find-and-replace-csv-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.find-and-replace-csv-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.find-and-replace-csv-page .find-replace-content{margin-top:18px}

/* Trim CSV Whitespace page copy aliases and theme match. */
.find-and-replace-csv-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.find-and-replace-csv-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.find-and-replace-csv-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.find-and-replace-csv-page .find-replace-content{margin-top:18px}

/* Remove Special Characters page copy aliases and theme match. */
.find-and-replace-csv-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.find-and-replace-csv-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.find-and-replace-csv-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.find-and-replace-csv-page .find-replace-content{margin-top:18px}

/* Remove Extra Spaces page copy aliases and theme match. */
.find-and-replace-csv-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.find-and-replace-csv-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.find-and-replace-csv-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.find-and-replace-csv-page .find-replace-content{margin-top:18px}

/* Remove Extra Spaces: focused before-and-after example. */
.find-and-replace-csv-page .extra-space-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.find-and-replace-csv-page .extra-space-example>div{min-width:0}
.find-and-replace-csv-page .extra-space-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.find-and-replace-csv-page .extra-space-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.find-and-replace-csv-page .extra-space-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* Fix CSV Formatting page before-and-after example. */
.find-and-replace-csv-page .format-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.find-and-replace-csv-page .format-example>div{min-width:0}
.find-and-replace-csv-page .format-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.find-and-replace-csv-page .format-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.find-and-replace-csv-page .format-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* CSV Data Cleaner page before-and-after example. */
.find-and-replace-csv-page .cleaner-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.find-and-replace-csv-page .cleaner-example>div{min-width:0}
.find-and-replace-csv-page .cleaner-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.find-and-replace-csv-page .cleaner-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.find-and-replace-csv-page .cleaner-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* Normalize CSV Data page before-and-after example. */
.find-and-replace-csv-page .normalize-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.find-and-replace-csv-page .normalize-example>div{min-width:0}
.find-and-replace-csv-page .normalize-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.find-and-replace-csv-page .normalize-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.find-and-replace-csv-page .normalize-example{grid-template-columns:1fr;gap:10px;padding:12px}}

/* Find and Replace CSV page examples. */
.find-and-replace-csv-page .replace-example{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.find-and-replace-csv-page .replace-example>div{min-width:0}
.find-and-replace-csv-page .replace-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.find-and-replace-csv-page .replace-example pre{overflow:auto;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:11px/1.7 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:700px){.find-and-replace-csv-page .replace-example{grid-template-columns:1fr;gap:9px;padding:12px}}

/* Find and Replace controls, inserted by csv-cleaning-tools.js. */
.find-and-replace-csv-page .find-replace-options{display:grid;gap:10px;margin:0 0 12px}
.find-and-replace-csv-page .find-replace-options .cleaning-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.find-and-replace-csv-page .find-replace-options .cleaning-option-grid label{display:grid;gap:6px;color:var(--text);font-size:11px;font-weight:750}
.find-and-replace-csv-page .find-replace-options input[type="text"]{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);font:inherit;font-size:13px;box-sizing:border-box}
.find-and-replace-csv-page .find-replace-options input[type="text"]:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.find-and-replace-csv-page .find-replace-options .cleaning-check{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:650;cursor:pointer}
.find-and-replace-csv-page .find-replace-options .cleaning-check input{accent-color:var(--accent)}
@media(max-width:620px){.find-and-replace-csv-page .find-replace-options .cleaning-option-grid{grid-template-columns:1fr;gap:10px}}
.find-and-replace-csv-page .find-replace-table-wrap{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.find-and-replace-csv-page .find-replace-result-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:12px}
.find-and-replace-csv-page .find-replace-result-table th,.find-and-replace-csv-page .find-replace-result-table td{min-width:120px;max-width:360px;padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}
.find-and-replace-csv-page .find-replace-result-table thead th{position:sticky;top:0;z-index:2;background:var(--accent-soft);color:var(--accent-dark);font-size:11px;font-weight:800}
.find-and-replace-csv-page .find-replace-result-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--soft) 72%,var(--surface))}
.find-and-replace-csv-page .find-replace-result-table tbody tr:hover{background:var(--accent-soft)}
.find-and-replace-csv-page .find-replace-result-table .find-replace-row-index{position:sticky;left:0;z-index:1;min-width:48px;width:48px;background:var(--soft);color:var(--accent-dark);text-align:center;font-weight:750}
.find-and-replace-csv-page .find-replace-result-table thead .find-replace-row-index{z-index:3;background:var(--accent-soft)}
@media(max-width:620px){.find-and-replace-csv-page .find-replace-table-wrap{max-height:420px}.find-and-replace-csv-page .find-replace-result-table th,.find-and-replace-csv-page .find-replace-result-table td{min-width:105px;padding:8px}}
.find-and-replace-csv-page .editor-upload[hidden],.find-and-replace-csv-page .find-replace-loaded-file[hidden]{display:none!important}
.find-and-replace-csv-page .find-replace-loaded-file{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-sizing:border-box}
.find-and-replace-csv-page .find-replace-loaded-file>div{min-width:0;display:grid;gap:4px}
.find-and-replace-csv-page .find-replace-loaded-file strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.find-and-replace-csv-page .find-replace-loaded-file small{color:var(--muted);font-size:10px}
.find-and-replace-csv-page .find-replace-loaded-file button{flex:none;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font-size:10px;font-weight:700;cursor:pointer}
.find-and-replace-csv-page .find-replace-upload-status{min-height:18px;margin:6px 0 0;font-size:11px}
@media(max-width:620px){.find-and-replace-csv-page .find-replace-loaded-file{align-items:flex-start;flex-direction:column}.find-and-replace-csv-page .find-replace-loaded-file button{width:100%}}
.find-and-replace-csv-page #csvInput[hidden],.find-and-replace-csv-page #csvInputLabel[hidden]{display:none!important}
.find-and-replace-csv-page .find-replace-edit-text{min-height:35px;margin-top:10px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font-size:10px;font-weight:700;cursor:pointer}
.remove-duplicate-columns-page .editor-upload-card{width:530px;max-width:100%;height:auto;min-height:0;padding:0;background:transparent;border:0;box-shadow:none}
.remove-duplicate-columns-page .editor-upload{width:100%;height:auto;min-height:205px;padding:20px 16px;border:1.5px dashed var(--accent);border-radius:14px;background:color-mix(in srgb,var(--accent-soft) 42%,var(--surface));color:var(--text);transition:background .18s,border-color .18s,transform .18s}
.remove-duplicate-columns-page .editor-upload:hover,.remove-duplicate-columns-page .editor-upload.drag{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-1px)}
.remove-duplicate-columns-page .editor-upload .viewer-primary{background:#39c653;border-color:transparent;color:#0d1117;box-shadow:0 5px 14px rgba(57,198,83,.2)}
.remove-duplicate-columns-page .find-replace-workspace{width:min(1060px,calc(100% - 36px));margin:0 auto 38px}
.remove-duplicate-columns-page .find-replace-tool-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.remove-duplicate-columns-page .find-replace-input-panel{padding:22px 23px 15px}
.remove-duplicate-columns-page .find-replace-input-heading,.remove-duplicate-columns-page .find-replace-output-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.remove-duplicate-columns-page .find-replace-input-heading>div>span,.remove-duplicate-columns-page .find-replace-output-heading>div>span{display:block;margin-bottom:4px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-duplicate-columns-page .find-replace-input-heading h2,.remove-duplicate-columns-page .find-replace-output-heading h2{margin:0;color:var(--text);font-size:17px;letter-spacing:-.02em}
.remove-duplicate-columns-page .find-replace-match-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-duplicate-columns-page .find-replace-text-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-duplicate-columns-page #csvInput{display:block;width:100%;min-height:230px;margin:0;padding:15px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:12px/1.6 ui-monospace,"Cascadia Code",Consolas,monospace;resize:vertical;outline:none;box-sizing:border-box}
.remove-duplicate-columns-page #csvInput:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.remove-duplicate-columns-page #csvInput::placeholder{color:var(--muted);opacity:.8}
.remove-duplicate-columns-page .find-replace-input-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-duplicate-columns-page .find-replace-rule-card{display:grid;grid-template-columns:170px minmax(0,1fr);gap:4px 16px;margin:0 23px 17px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:var(--soft)}
.remove-duplicate-columns-page .find-replace-rule-card>span{grid-row:1/4;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.08em}
.remove-duplicate-columns-page .find-replace-rule-card strong{color:var(--text);font-size:12px}
.remove-duplicate-columns-page .find-replace-rule-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-duplicate-columns-page .find-replace-rule-card code{color:var(--text);font:inherit;font-weight:700}
.remove-duplicate-columns-page .find-replace-actions{display:flex;align-items:center;gap:9px;padding:0 23px 18px}
.remove-duplicate-columns-page .find-replace-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;border-radius:9px;font-size:11px;font-weight:750;cursor:pointer}
.remove-duplicate-columns-page .find-replace-actions #runTool{border:1px solid transparent;background:linear-gradient(135deg,#14b989,#079d78);color:#fff;box-shadow:0 4px 12px rgba(8,157,120,.17)}
.remove-duplicate-columns-page .find-replace-actions #downloadResult{border:1px solid var(--line);background:var(--accent-soft);color:var(--accent-dark)}
.remove-duplicate-columns-page .find-replace-actions #downloadResult:disabled{background:var(--soft);color:var(--muted);opacity:.65;cursor:not-allowed}
.remove-duplicate-columns-page .find-replace-actions #clearTool{border:1px solid var(--line);background:var(--surface);color:var(--muted)}
.remove-duplicate-columns-page .find-replace-actions button:not(:disabled):hover{filter:brightness(.97);transform:translateY(-1px)}
.remove-duplicate-columns-page #cleaningStatus{min-height:18px;margin:0 23px 17px;color:var(--accent-dark);font-size:11px}
.remove-duplicate-columns-page #cleaningStatus.is-error{color:#f85149}
.remove-duplicate-columns-page .find-replace-output{padding:18px 23px 22px;border-top:1px solid var(--line);background:var(--surface)}
.remove-duplicate-columns-page .find-replace-output[hidden]{display:none!important}
.remove-duplicate-columns-page .find-replace-output-heading{align-items:flex-end;margin-bottom:12px}
.remove-duplicate-columns-page .find-replace-summary{max-width:70%;margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--accent-dark);font-size:10px;font-weight:750;text-align:right}
.remove-duplicate-columns-page #cleaningPreview{max-height:390px;overflow:auto;margin:0;padding:15px;border:1px solid #273440;border-radius:12px;background:#0b1218;color:#dce8e2;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.65 ui-monospace,"Cascadia Code",Consolas,monospace}
.remove-duplicate-columns-page .find-replace-preview-note{margin:8px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-duplicate-columns-page .find-replace-rows-content{margin-top:18px}
  .remove-duplicate-columns-page .find-replace-workspace{width:calc(100% - 24px);margin-bottom:28px}
  .remove-duplicate-columns-page .find-replace-input-panel{padding:17px 14px 13px}
  .remove-duplicate-columns-page .find-replace-input-heading,.remove-duplicate-columns-page .find-replace-output-heading{align-items:flex-start;flex-direction:column}
  .remove-duplicate-columns-page .find-replace-rule-card{grid-template-columns:1fr;gap:5px;margin:0 14px 14px;padding:13px}
  .remove-duplicate-columns-page .find-replace-rule-card>span{grid-row:auto}
  .remove-duplicate-columns-page .find-replace-actions{display:grid;grid-template-columns:1fr 1fr;padding:0 14px 14px}
  .remove-duplicate-columns-page .find-replace-actions #runTool,.remove-duplicate-columns-page .find-replace-actions #clearTool{grid-column:1/-1}
  .remove-duplicate-columns-page .find-replace-actions button{width:100%}
  .remove-duplicate-columns-page #cleaningStatus{margin:0 14px 14px}
  .remove-duplicate-columns-page .find-replace-output{padding:15px 14px 18px}
  .remove-duplicate-columns-page .find-replace-summary{max-width:100%;text-align:left}
  .remove-duplicate-columns-page #csvInput{min-height:200px;padding:12px;font-size:11px}
.remove-duplicate-columns-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-duplicate-columns-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-duplicate-columns-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-duplicate-columns-page .find-replace-content{margin-top:18px}
.remove-duplicate-columns-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-duplicate-columns-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-duplicate-columns-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-duplicate-columns-page .find-replace-content{margin-top:18px}
.remove-duplicate-columns-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-duplicate-columns-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-duplicate-columns-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-duplicate-columns-page .find-replace-content{margin-top:18px}
.remove-duplicate-columns-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-duplicate-columns-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-duplicate-columns-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-duplicate-columns-page .find-replace-content{margin-top:18px}
.remove-duplicate-columns-page .find-replace-badge{padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:var(--accent-soft);color:var(--accent-dark);font-size:10px;font-weight:750;white-space:nowrap}
.remove-duplicate-columns-page .find-replace-label{display:block;margin:0 0 7px;color:var(--text);font-size:11px;font-weight:750}
.remove-duplicate-columns-page .find-replace-help{margin:7px 1px 0;color:var(--muted);font-size:10px;line-height:1.5}
.remove-duplicate-columns-page .find-replace-content{margin-top:18px}
.remove-duplicate-columns-page .extra-space-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.remove-duplicate-columns-page .extra-space-example>div{min-width:0}
.remove-duplicate-columns-page .extra-space-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-duplicate-columns-page .extra-space-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.remove-duplicate-columns-page .extra-space-example{grid-template-columns:1fr;gap:10px;padding:12px}}
.remove-duplicate-columns-page .format-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.remove-duplicate-columns-page .format-example>div{min-width:0}
.remove-duplicate-columns-page .format-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-duplicate-columns-page .format-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.remove-duplicate-columns-page .format-example{grid-template-columns:1fr;gap:10px;padding:12px}}
.remove-duplicate-columns-page .cleaner-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.remove-duplicate-columns-page .cleaner-example>div{min-width:0}
.remove-duplicate-columns-page .cleaner-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-duplicate-columns-page .cleaner-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.remove-duplicate-columns-page .cleaner-example{grid-template-columns:1fr;gap:10px;padding:12px}}
.remove-duplicate-columns-page .normalize-example{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 22px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.remove-duplicate-columns-page .normalize-example>div{min-width:0}
.remove-duplicate-columns-page .normalize-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-duplicate-columns-page .normalize-example pre{overflow:auto;margin:0;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:12px/1.75 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:620px){.remove-duplicate-columns-page .normalize-example{grid-template-columns:1fr;gap:10px;padding:12px}}
.remove-duplicate-columns-page .replace-example{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.remove-duplicate-columns-page .replace-example>div{min-width:0}
.remove-duplicate-columns-page .replace-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-duplicate-columns-page .replace-example pre{overflow:auto;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:11px/1.7 ui-monospace,"Cascadia Code",Consolas,monospace}
@media(max-width:700px){.remove-duplicate-columns-page .replace-example{grid-template-columns:1fr;gap:9px;padding:12px}}
.remove-duplicate-columns-page .find-replace-options{display:grid;gap:10px;margin:0 0 12px}
.remove-duplicate-columns-page .find-replace-options .cleaning-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.remove-duplicate-columns-page .find-replace-options .cleaning-option-grid label{display:grid;gap:6px;color:var(--text);font-size:11px;font-weight:750}
.remove-duplicate-columns-page .find-replace-options input[type="text"]{width:100%;min-height:40px;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);font:inherit;font-size:13px;box-sizing:border-box}
.remove-duplicate-columns-page .find-replace-options input[type="text"]:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.remove-duplicate-columns-page .find-replace-options .cleaning-check{display:flex;align-items:center;gap:8px;color:var(--muted);font-size:11px;font-weight:650;cursor:pointer}
.remove-duplicate-columns-page .find-replace-options .cleaning-check input{accent-color:var(--accent)}
@media(max-width:620px){.remove-duplicate-columns-page .find-replace-options .cleaning-option-grid{grid-template-columns:1fr;gap:10px}}
.remove-duplicate-columns-page .find-replace-table-wrap{max-height:520px;overflow:auto;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.remove-duplicate-columns-page .find-replace-result-table{width:100%;border-collapse:separate;border-spacing:0;text-align:left;font-size:12px}
.remove-duplicate-columns-page .find-replace-result-table th,.remove-duplicate-columns-page .find-replace-result-table td{min-width:120px;max-width:360px;padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;white-space:pre-wrap;overflow-wrap:anywhere}
.remove-duplicate-columns-page .find-replace-result-table thead th{position:sticky;top:0;z-index:2;background:var(--accent-soft);color:var(--accent-dark);font-size:11px;font-weight:800}
.remove-duplicate-columns-page .find-replace-result-table tbody tr:nth-child(even){background:color-mix(in srgb,var(--soft) 72%,var(--surface))}
.remove-duplicate-columns-page .find-replace-result-table tbody tr:hover{background:var(--accent-soft)}
.remove-duplicate-columns-page .find-replace-result-table .find-replace-row-index{position:sticky;left:0;z-index:1;min-width:48px;width:48px;background:var(--soft);color:var(--accent-dark);text-align:center;font-weight:750}
.remove-duplicate-columns-page .find-replace-result-table thead .find-replace-row-index{z-index:3;background:var(--accent-soft)}
@media(max-width:620px){.remove-duplicate-columns-page .find-replace-table-wrap{max-height:420px}.remove-duplicate-columns-page .find-replace-result-table th,.remove-duplicate-columns-page .find-replace-result-table td{min-width:105px;padding:8px}}
.remove-duplicate-columns-page .editor-upload[hidden],.remove-duplicate-columns-page .find-replace-loaded-file[hidden]{display:none!important}
.remove-duplicate-columns-page .find-replace-loaded-file{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-sizing:border-box}
.remove-duplicate-columns-page .find-replace-loaded-file>div{min-width:0;display:grid;gap:4px}
.remove-duplicate-columns-page .find-replace-loaded-file strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.remove-duplicate-columns-page .find-replace-loaded-file small{color:var(--muted);font-size:10px}
.remove-duplicate-columns-page .find-replace-loaded-file button{flex:none;min-height:36px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font-size:10px;font-weight:700;cursor:pointer}
.remove-duplicate-columns-page .find-replace-upload-status{min-height:18px;margin:6px 0 0;font-size:11px}
@media(max-width:620px){.remove-duplicate-columns-page .find-replace-loaded-file{align-items:flex-start;flex-direction:column}.remove-duplicate-columns-page .find-replace-loaded-file button{width:100%}}
.remove-duplicate-columns-page #csvInput[hidden],.remove-duplicate-columns-page #csvInputLabel[hidden]{display:none!important}
.remove-duplicate-columns-page .find-replace-edit-text{min-height:35px;margin-top:10px;padding:0 11px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font-size:10px;font-weight:700;cursor:pointer}
/* Remove Duplicate Columns page article and before/after example. */
.remove-duplicate-columns-page .duplicate-columns-content{margin-top:18px}
.remove-duplicate-columns-page .duplicate-columns-example{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.remove-duplicate-columns-page .duplicate-columns-example>div{min-width:0}
.remove-duplicate-columns-page .duplicate-columns-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.remove-duplicate-columns-page .duplicate-columns-example pre{overflow:auto;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:11px/1.7 ui-monospace,"Cascadia Code",Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:700px){.remove-duplicate-columns-page .duplicate-columns-example{grid-template-columns:1fr;gap:9px;padding:12px}}
.remove-duplicate-columns-page .duplicate-columns-ignore-label{align-items:flex-start!important;padding:12px 14px;border:1px solid var(--line);border-radius:11px;background:var(--soft)}
.remove-duplicate-columns-page .duplicate-columns-ignore-label>span{display:grid;gap:4px}
.remove-duplicate-columns-page .duplicate-columns-ignore-label strong{color:var(--text);font-size:11px}
.remove-duplicate-columns-page .duplicate-columns-ignore-label small{color:var(--muted);font-size:10px;line-height:1.45}
.remove-duplicate-columns-page .duplicate-columns-report{margin:0 0 12px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));border-radius:10px;background:color-mix(in srgb,var(--accent-soft) 48%,var(--surface));color:var(--text);font-size:11px;line-height:1.55}
.remove-duplicate-columns-page .duplicate-columns-report[hidden]{display:none!important}
.remove-duplicate-columns-page .duplicate-columns-report strong{display:block;margin:0 0 6px;color:var(--accent-dark);font-size:12px}
.remove-duplicate-columns-page .duplicate-columns-report p{margin:0;color:var(--muted)}
.remove-duplicate-columns-page .duplicate-columns-report ul{display:grid;gap:4px;margin:0;padding-left:18px}
.remove-duplicate-columns-page .duplicate-columns-report li{overflow-wrap:anywhere}
.remove-duplicate-columns-page .duplicate-columns-report.is-empty{border-color:var(--line);background:var(--soft)}
.remove-duplicate-columns-page #cleaningStatus.find-replace-upload-status{margin:6px 0 0}

/* CSV Merger layout, alignment controls, and file management. */
.csv-merger-page{min-height:calc(100vh - 60px);background:var(--bg)}
.csv-merger-page .editor-hero-inner{align-items:center}
.csv-merger-page .editor-upload-card[hidden],.csv-merger-page .merger-workspace[hidden]{display:none!important}
.csv-merger-page .merger-option-card{max-width:570px;margin-top:18px;padding:13px 15px;border:1px solid var(--line);border-radius:12px;background:var(--surface);box-shadow:0 6px 20px rgba(8,30,48,.07)}
.csv-merger-page .merger-option-card label{display:flex;align-items:flex-start;gap:10px;color:var(--text);cursor:pointer}
.csv-merger-page .merger-option-card input{flex:none;margin:3px 0 0;accent-color:var(--accent)}
.csv-merger-page .merger-option-card label span{display:grid;gap:4px}
.csv-merger-page .merger-option-card strong{font-size:12px;font-weight:780}
.csv-merger-page .merger-option-card small,.csv-merger-page .merger-option-card>p{color:var(--muted);font-size:10px;line-height:1.5}
.csv-merger-page .merger-option-card>p{margin:9px 0 0 25px}
.csv-merger-page .merger-status{min-height:18px;margin:8px 0 0;color:var(--accent-dark);font-size:11px;line-height:1.45}
.csv-merger-page .merger-status.is-error{color:#f85149}
.csv-merger-page .merger-workspace{width:min(1120px,calc(100% - 36px));margin:0 auto 36px;scroll-margin-top:18px}
.csv-merger-page .merger-data-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.csv-merger-page .merger-filebar{padding:15px 18px;border-color:var(--line)}
.csv-merger-page .merger-actions{gap:8px}
.csv-merger-page .merger-actions button{min-height:38px}
.csv-merger-page .merger-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none}
.csv-merger-page .merger-sources{gap:8px;padding:12px 18px;border-color:var(--line);color:var(--muted)}
.csv-merger-page .merger-source{display:inline-flex;align-items:center;gap:7px;max-width:100%;padding:5px 8px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text)}
.csv-merger-page .merger-source>span{overflow:hidden;max-width:min(310px,60vw);text-overflow:ellipsis;white-space:nowrap}
.csv-merger-page .merger-remove-source{width:23px;height:23px;flex:none;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:16px;line-height:1;cursor:pointer}
.csv-merger-page .merger-remove-source:hover{background:var(--accent-soft);color:var(--accent-dark)}
.csv-merger-page .merger-alignment-note{display:grid;gap:4px;margin:14px 18px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.csv-merger-page .merger-alignment-note strong{color:var(--accent-dark);font-size:11px}
.csv-merger-page .merger-alignment-note span{color:var(--muted);font-size:10px;line-height:1.5}
.csv-merger-page .merger-table-wrap{max-height:65vh;margin:0 18px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.csv-merger-page .merger-table-wrap table{min-width:720px}
.csv-merger-page .merger-table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--accent-soft);color:var(--accent-dark)}
.csv-merger-page .merger-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 70%,var(--surface))}
.csv-merger-page .merger-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.csv-merger-page .viewer-pager{margin:0 18px;padding:13px 0 16px;border:0}
.csv-merger-page .pager-buttons{display:flex;align-items:center;gap:8px}
.csv-merger-page .pager-buttons b{min-width:78px;color:var(--text);font-size:10px;text-align:center}
.csv-merger-page .pager-buttons button{width:34px;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent-dark);font-size:18px;cursor:pointer}
.csv-merger-page .pager-buttons button:disabled{opacity:.45;cursor:not-allowed}
.csv-merger-page .merger-content{margin-top:20px}
.csv-merger-page .merger-example{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 22px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.csv-merger-page .merger-example>div{min-width:0}
.csv-merger-page .merger-example span{display:block;margin:0 0 8px;color:var(--accent-dark);font-size:9px;font-weight:850;letter-spacing:.1em}
.csv-merger-page .merger-example pre{overflow:auto;margin:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:11px/1.7 ui-monospace,"Cascadia Code",Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.csv-merger-page #mergerUploadCard[hidden]{display:none!important}
.csv-merger-page #mergerDropzone.drag{border-color:#39c653;background:color-mix(in srgb,#39c653 12%,var(--surface));box-shadow:0 0 0 4px color-mix(in srgb,#39c653 18%,transparent)}
.csv-merger-page #addMoreFiles{border:1px solid transparent;background:#39c653;color:#0d1117;font-weight:800;box-shadow:0 5px 14px rgba(57,198,83,.22)}
.csv-merger-page #addMoreFiles:hover{background:#2fba48;box-shadow:0 7px 18px rgba(57,198,83,.3);transform:translateY(-1px)}
.csv-merger-page #addMoreFiles:focus-visible{outline:3px solid color-mix(in srgb,#39c653 45%,transparent);outline-offset:2px}
.csv-merger-page .merger-workspace{position:relative}
.csv-merger-page .merger-workspace.merger-drop-active::after{content:"Drop CSV, TSV, or TXT files to add them to this merge";position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:center;padding:24px;border:3px dashed #39c653;border-radius:18px;background:rgba(10,18,23,.9);color:#fff;font-size:clamp(17px,3vw,24px);font-weight:800;text-align:center;pointer-events:none}

/* CSV Splitter workspace, part controls, and downloads. */
.csv-splitter-page{min-height:calc(100vh - 60px);background:var(--bg)}
.csv-splitter-page .editor-hero-inner{align-items:center}
.csv-splitter-page .editor-upload-card[hidden],.csv-splitter-page .splitter-workspace[hidden]{display:none!important}
.csv-splitter-page .splitter-status{min-height:18px;margin:8px 0 0;color:var(--accent-dark);font-size:11px;line-height:1.45}
.csv-splitter-page .splitter-status.is-error{color:#f85149}
.csv-splitter-page .splitter-workspace{width:min(1120px,calc(100% - 36px));margin:0 auto 36px;scroll-margin-top:18px}
.csv-splitter-page .splitter-data-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:0 16px 42px rgba(8,30,48,.12)}
.csv-splitter-page .splitter-filebar{padding:15px 18px;border-color:var(--line)}
.csv-splitter-page .splitter-actions{gap:8px;flex-wrap:wrap}
.csv-splitter-page .splitter-actions button{min-height:38px}
.csv-splitter-page .splitter-controls{display:flex;align-items:center;flex-wrap:wrap;gap:14px;padding:15px 18px;border-color:var(--line);background:var(--surface)}
.csv-splitter-page .splitter-controls>label:first-child{display:flex;align-items:center;gap:10px;color:var(--text);font-size:11px;font-weight:700}
.csv-splitter-page .splitter-controls input[type="number"]{width:124px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}
.csv-splitter-page .splitter-controls input[type="number"]:focus,.csv-splitter-page .splitter-partbar select:focus{outline:0;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.csv-splitter-page .splitter-header-option{display:flex;align-items:center;gap:8px;color:var(--text);font-size:11px;font-weight:650;cursor:pointer}
.csv-splitter-page .splitter-header-option input{width:16px;height:16px;margin:0;accent-color:var(--accent)}
.csv-splitter-page .splitter-controls #runSplit{min-height:38px;margin-left:auto}
.csv-splitter-page .splitter-error{flex-basis:100%;font-size:11px}
.csv-splitter-page .splitter-partbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:12px 18px;border-color:var(--line)}
.csv-splitter-page .splitter-partbar label{display:flex;align-items:center;gap:9px;color:var(--muted);font-size:11px}
.csv-splitter-page .splitter-partbar select{height:36px;min-width:190px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font-size:11px}
.csv-splitter-page .splitter-partbar>span{color:var(--muted);font-size:10px}
.csv-splitter-page .splitter-downloads{display:flex;gap:8px;margin-left:auto}
.csv-splitter-page .splitter-downloads button{min-height:38px}
.csv-splitter-page #downloadAllParts{border-color:transparent;background:#39c653;color:#0d1117;font-weight:800;box-shadow:0 4px 12px rgba(57,198,83,.2)}
.csv-splitter-page #downloadAllParts:hover{background:#2fba48;transform:translateY(-1px)}
.csv-splitter-page .splitter-preview-note{margin:0;padding:9px 18px;color:var(--muted);font-size:10px}
.csv-splitter-page .splitter-table-wrap{max-height:62vh;margin:0 18px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}
.csv-splitter-page .splitter-table-wrap table{min-width:680px}
.csv-splitter-page .splitter-table-wrap thead th{position:sticky;top:0;z-index:2;background:var(--accent-soft);color:var(--accent-dark)}
.csv-splitter-page .splitter-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 72%,var(--surface))}
.csv-splitter-page .splitter-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.csv-splitter-page .viewer-pager{margin:0 18px;padding:13px 0 16px;border:0}
.csv-splitter-page .pager-buttons{display:flex;align-items:center;gap:8px}
.csv-splitter-page .pager-buttons b{min-width:38px;color:var(--text);font-size:11px;text-align:center}
.csv-splitter-page .pager-buttons button{width:34px;height:32px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--accent-dark);font-size:18px;cursor:pointer}
.csv-splitter-page .pager-buttons button:disabled{opacity:.45;cursor:not-allowed}
.csv-splitter-page .splitter-content{margin-top:20px}
@media(max-width:760px){.csv-splitter-page .splitter-workspace{width:calc(100% - 24px)}.csv-splitter-page .splitter-filebar{align-items:flex-start;flex-direction:column}.csv-splitter-page .splitter-controls{align-items:stretch;flex-direction:column;gap:12px;padding:13px}.csv-splitter-page .splitter-controls>label:first-child{justify-content:space-between}.csv-splitter-page .splitter-controls #runSplit{width:100%;margin:0}.csv-splitter-page .splitter-partbar{align-items:stretch;flex-direction:column;padding:12px}.csv-splitter-page .splitter-partbar label{justify-content:space-between}.csv-splitter-page .splitter-partbar select{flex:1;min-width:0}.csv-splitter-page .splitter-downloads{display:grid;grid-template-columns:1fr 1fr;margin:0}.csv-splitter-page .splitter-downloads button{width:100%;justify-content:center}.csv-splitter-page .splitter-table-wrap{max-height:54vh;margin:0 11px}.csv-splitter-page .splitter-preview-note{padding:9px 12px}.csv-splitter-page .viewer-pager{align-items:flex-start;flex-direction:column;gap:10px;margin:0 11px}}
@media(max-width:760px){.csv-merger-page .merger-workspace{width:calc(100% - 24px)}.csv-merger-page .merger-filebar{align-items:flex-start;flex-direction:column}.csv-merger-page .merger-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.csv-merger-page .merger-actions #mergeDownload{grid-column:1/-1}.csv-merger-page .merger-actions #clearMerger{grid-column:2;grid-row:1}.csv-merger-page .merger-actions button{width:100%}.csv-merger-page .merger-table-wrap{max-height:62vh;margin:0 11px}.csv-merger-page .merger-sources{padding:10px 11px}.csv-merger-page .merger-alignment-note{margin:12px 11px}.csv-merger-page .viewer-pager{align-items:flex-start;flex-direction:column;gap:10px;margin:0 11px}.csv-merger-page .merger-example{grid-template-columns:1fr;gap:9px;padding:12px}}

/* CSV to YAML converter workspace. */
.csv-to-yaml-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.csv-to-yaml-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:34px}
.csv-to-yaml-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}
.csv-to-yaml-page .editor-hero-inner p{max-width:450px;font-size:15px}
.csv-to-yaml-page .csv-yaml-upload-card[hidden],.csv-to-yaml-page .csv-yaml-content[hidden],.csv-to-yaml-page #csvYamlWorkspace[hidden]{display:none!important}
.csv-to-yaml-page .csv-yaml-upload-card{height:auto;min-height:280px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.csv-yaml-dropzone{min-width:0;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px dashed color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}
.csv-yaml-dropzone.drag,.csv-yaml-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}
.csv-yaml-dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.csv-yaml-dropzone strong{color:var(--text);font-size:14px}.csv-yaml-dropzone>span,.csv-yaml-dropzone small{color:var(--muted);font-size:11px}
.csv-yaml-dropzone .viewer-upload-icon svg{width:44px;height:44px;color:var(--accent)}
.csv-yaml-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.csv-yaml-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.2px}
.csv-yaml-paste-card h2{margin:0;color:var(--text);font-size:17px;line-height:1.3}.csv-yaml-paste-card p{margin:0;color:var(--muted);font-size:11px}
.csv-yaml-paste-card textarea{width:100%;min-height:104px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}
.csv-yaml-paste-card textarea:focus,.csv-to-yaml-page #csvYamlInput:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}
.csv-yaml-paste-card button{align-self:flex-start;min-height:38px}.csv-yaml-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.csv-yaml-content{max-width:1160px;padding-top:24px}.csv-yaml-workspace-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.csv-yaml-filebar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}
.csv-yaml-file-info{min-width:0;display:flex;align-items:center;gap:10px}.csv-yaml-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.csv-yaml-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.csv-yaml-file-info>div>span{color:var(--muted);font-size:10px}
.csv-yaml-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}
.csv-yaml-file-actions{display:flex;align-items:center;gap:8px}.csv-yaml-file-actions [role=status]{color:var(--accent);font-size:10px}
.csv-yaml-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}
.csv-yaml-input-panel,.csv-yaml-output-panel{min-width:0;padding:17px;background:var(--surface)}
.csv-yaml-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.csv-yaml-section-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}.csv-yaml-section-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.csv-yaml-section-heading>span{flex:none;color:var(--muted);font-size:10px}
.csv-yaml-input-actions,.csv-yaml-output-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.csv-yaml-input-actions label{color:var(--muted);font-size:10px;font-weight:700}
.csv-yaml-input-actions select{height:33px;max-width:118px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:10px}
.csv-yaml-input-actions button,.csv-yaml-output-actions button{min-height:33px;justify-content:center;padding:7px 10px;font-size:10px}
.csv-yaml-output-actions button:disabled{opacity:.5;cursor:not-allowed}
.csv-to-yaml-page #csvYamlInput,.csv-to-yaml-page #csvYamlOutput{display:block;width:100%;min-height:310px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font:11px/1.6 ui-monospace,Consolas,monospace;tab-size:2;resize:vertical;white-space:pre;overflow:auto}
.csv-to-yaml-page #csvYamlOutput{background:color-mix(in srgb,var(--accent-soft) 24%,var(--soft))}
.csv-yaml-stale{margin:7px 0 0;color:#ad7627;font-size:10px}.csv-yaml-stale[hidden]{display:none}.csv-yaml-copy-status{min-height:18px;padding-top:5px;color:var(--accent);font-size:10px}
.csv-yaml-error{margin:12px 17px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.csv-yaml-table-card{padding:15px 17px;border-top:1px solid var(--line)}.csv-yaml-table-wrap{max-height:58vh;border:1px solid var(--line);border-radius:9px}
.csv-yaml-table-wrap table{min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.csv-yaml-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}
.csv-yaml-table-wrap td{max-width:320px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.csv-yaml-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.csv-yaml-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.csv-yaml-guide{margin-top:12px}.csv-yaml-guide pre{max-width:760px;overflow:auto;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font:12px/1.65 ui-monospace,Consolas,monospace;white-space:pre}
@media(max-width:900px){.csv-to-yaml-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.csv-to-yaml-page .editor-hero-inner>div:first-child{text-align:center}.csv-to-yaml-page .editor-hero-inner p{margin:0 auto}.csv-to-yaml-page .csv-yaml-upload-card{max-width:780px;width:100%;margin:0 auto}}
@media(max-width:760px){.csv-to-yaml-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.csv-to-yaml-page .csv-yaml-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.csv-yaml-dropzone{min-height:220px;padding:10px}.csv-yaml-paste-card{padding:12px}.csv-yaml-paste-card textarea{min-height:86px;padding:8px}.csv-yaml-workbench{grid-template-columns:minmax(0,1fr)}.csv-yaml-output-panel{border-top:1px solid var(--line)}.csv-yaml-section-heading{align-items:flex-start;flex-direction:column}.csv-yaml-input-actions,.csv-yaml-output-actions{width:100%;justify-content:flex-start}.csv-to-yaml-page #csvYamlInput,.csv-to-yaml-page #csvYamlOutput{min-height:250px}.csv-yaml-filebar{align-items:flex-start;flex-direction:column}.csv-yaml-file-actions{width:100%;justify-content:space-between}.csv-yaml-table-card{padding:13px 12px}.csv-yaml-table-wrap{max-height:52vh}}
@media(max-width:480px){.csv-to-yaml-page .editor-hero-inner h1{font-size:35px}.csv-to-yaml-page .csv-yaml-upload-card{grid-template-columns:1fr}.csv-yaml-dropzone{min-height:180px;padding:14px}.csv-yaml-paste-card{padding:14px}.csv-yaml-file-actions{flex-wrap:wrap}.csv-yaml-input-actions select{max-width:none;flex:1}}

/* YAML to CSV converter workspace. */
/* CSV to YAML converter workspace. */
.yaml-to-csv-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.yaml-to-csv-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:34px}
.yaml-to-csv-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}
.yaml-to-csv-page .editor-hero-inner p{max-width:450px;font-size:15px}
.yaml-to-csv-page .yaml-csv-upload-card[hidden],.yaml-to-csv-page .yaml-csv-content[hidden],.yaml-to-csv-page #yamlCsvWorkspace[hidden]{display:none!important}
.yaml-to-csv-page .yaml-csv-upload-card{height:auto;min-height:280px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.yaml-csv-dropzone{min-width:0;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px dashed color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}
.yaml-csv-dropzone.drag,.yaml-csv-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}
.yaml-csv-dropzone:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.yaml-csv-dropzone strong{color:var(--text);font-size:14px}.yaml-csv-dropzone>span,.yaml-csv-dropzone small{color:var(--muted);font-size:11px}
.yaml-csv-dropzone .viewer-upload-icon svg{width:44px;height:44px;color:var(--accent)}
.yaml-csv-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.yaml-csv-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.2px}
.yaml-csv-paste-card h2{margin:0;color:var(--text);font-size:17px;line-height:1.3}.yaml-csv-paste-card p{margin:0;color:var(--muted);font-size:11px}
.yaml-csv-paste-card textarea{width:100%;min-height:104px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}
.yaml-csv-paste-card textarea:focus,.yaml-to-csv-page #yamlCsvInput:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}
.yaml-csv-paste-card button{align-self:flex-start;min-height:38px}.yaml-csv-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.yaml-csv-content{max-width:1160px;padding-top:24px}.yaml-csv-workspace-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.yaml-csv-filebar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}
.yaml-csv-file-info{min-width:0;display:flex;align-items:center;gap:10px}.yaml-csv-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.yaml-csv-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.yaml-csv-file-info>div>span{color:var(--muted);font-size:10px}
.yaml-csv-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}
.yaml-csv-file-actions{display:flex;align-items:center;gap:8px}.yaml-csv-file-actions [role=status]{color:var(--accent);font-size:10px}
.yaml-csv-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}
.yaml-csv-input-panel,.yaml-csv-output-panel{min-width:0;padding:17px;background:var(--surface)}
.yaml-csv-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.yaml-csv-section-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}.yaml-csv-section-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.yaml-csv-section-heading>span{flex:none;color:var(--muted);font-size:10px}
.yaml-csv-input-actions,.yaml-csv-output-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.yaml-csv-input-actions label{color:var(--muted);font-size:10px;font-weight:700}
.yaml-csv-input-actions select{height:33px;max-width:118px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:10px}
.yaml-csv-input-actions button,.yaml-csv-output-actions button{min-height:33px;justify-content:center;padding:7px 10px;font-size:10px}
.yaml-csv-output-actions button:disabled{opacity:.5;cursor:not-allowed}
.yaml-to-csv-page #yamlCsvInput,.yaml-to-csv-page #yamlCsvOutput{display:block;width:100%;min-height:310px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font:11px/1.6 ui-monospace,Consolas,monospace;tab-size:2;resize:vertical;white-space:pre;overflow:auto}
.yaml-to-csv-page #yamlCsvOutput{background:color-mix(in srgb,var(--accent-soft) 24%,var(--soft))}
.yaml-csv-stale{margin:7px 0 0;color:#ad7627;font-size:10px}.yaml-csv-stale[hidden]{display:none}.yaml-csv-copy-status{min-height:18px;padding-top:5px;color:var(--accent);font-size:10px}
.yaml-csv-error{margin:12px 17px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.yaml-csv-table-card{padding:15px 17px;border-top:1px solid var(--line)}.yaml-csv-table-wrap{max-height:58vh;border:1px solid var(--line);border-radius:9px}
.yaml-csv-table-wrap table{min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.yaml-csv-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}
.yaml-csv-table-wrap td{max-width:320px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.yaml-csv-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.yaml-csv-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.yaml-csv-guide{margin-top:12px}.yaml-csv-guide pre{max-width:760px;overflow:auto;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font:12px/1.65 ui-monospace,Consolas,monospace;white-space:pre}
@media(max-width:900px){.yaml-to-csv-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.yaml-to-csv-page .editor-hero-inner>div:first-child{text-align:center}.yaml-to-csv-page .editor-hero-inner p{margin:0 auto}.yaml-to-csv-page .yaml-csv-upload-card{max-width:780px;width:100%;margin:0 auto}}
@media(max-width:760px){.yaml-to-csv-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.yaml-to-csv-page .yaml-csv-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.yaml-csv-dropzone{min-height:220px;padding:10px}.yaml-csv-paste-card{padding:12px}.yaml-csv-paste-card textarea{min-height:86px;padding:8px}.yaml-csv-workbench{grid-template-columns:minmax(0,1fr)}.yaml-csv-output-panel{border-top:1px solid var(--line)}.yaml-csv-section-heading{align-items:flex-start;flex-direction:column}.yaml-csv-input-actions,.yaml-csv-output-actions{width:100%;justify-content:flex-start}.yaml-to-csv-page #yamlCsvInput,.yaml-to-csv-page #yamlCsvOutput{min-height:250px}.yaml-csv-filebar{align-items:flex-start;flex-direction:column}.yaml-csv-file-actions{width:100%;justify-content:space-between}.yaml-csv-table-card{padding:13px 12px}.yaml-csv-table-wrap{max-height:52vh}}
@media(max-width:480px){.yaml-to-csv-page .editor-hero-inner h1{font-size:35px}.yaml-to-csv-page .yaml-csv-upload-card{grid-template-columns:1fr}.yaml-csv-dropzone{min-height:180px;padding:14px}.yaml-csv-paste-card{padding:14px}.yaml-csv-file-actions{flex-wrap:wrap}.yaml-csv-input-actions select{max-width:none;flex:1}}


/* CSV to Markdown converter workspace. */
.csv-to-markdown-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.csv-to-markdown-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:34px}
.csv-to-markdown-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}.csv-to-markdown-page .editor-hero-inner p{max-width:450px;font-size:15px}
.csv-to-markdown-page .markdown-upload-card[hidden],.csv-to-markdown-page .markdown-content[hidden],.csv-to-markdown-page #markdownWorkspace[hidden]{display:none!important}
.csv-to-markdown-page .markdown-upload-card{height:auto;min-height:280px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.markdown-dropzone{min-width:0;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px dashed color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}
.markdown-dropzone.drag,.markdown-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.markdown-dropzone strong{color:var(--text);font-size:14px}.markdown-dropzone>span,.markdown-dropzone small{color:var(--muted);font-size:11px}.markdown-dropzone .viewer-upload-icon svg{width:44px;height:44px;color:var(--accent)}
.markdown-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}
.markdown-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.2px}.markdown-paste-card h2{margin:0;color:var(--text);font-size:17px;line-height:1.3}.markdown-paste-card p{margin:0;color:var(--muted);font-size:11px}
.markdown-paste-card textarea{width:100%;min-height:104px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}.markdown-paste-card textarea:focus,.csv-to-markdown-page #markdownInput:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.markdown-paste-card button{align-self:flex-start;min-height:38px}.markdown-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.markdown-content{max-width:1160px;padding-top:24px}.markdown-workspace-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.markdown-filebar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.markdown-file-info{min-width:0;display:flex;align-items:center;gap:10px}.markdown-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.markdown-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.markdown-file-info>div>span{color:var(--muted);font-size:10px}.markdown-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.markdown-file-actions{display:flex;align-items:center;gap:8px}.markdown-file-actions [role=status]{color:var(--accent);font-size:10px}
.markdown-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}.markdown-input-panel,.markdown-output-panel{min-width:0;padding:17px;background:var(--surface)}.markdown-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.markdown-section-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}.markdown-section-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.markdown-section-heading>span{flex:none;color:var(--muted);font-size:10px}.markdown-input-actions,.markdown-output-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.markdown-input-actions label,.markdown-output-actions label{color:var(--muted);font-size:10px;font-weight:700}.markdown-input-actions select{height:33px;max-width:118px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:10px}.markdown-input-actions button,.markdown-output-actions button{min-height:33px;justify-content:center;padding:7px 10px;font-size:10px}.markdown-output-actions button:disabled{opacity:.5;cursor:not-allowed}
.csv-to-markdown-page #markdownInput,.csv-to-markdown-page #markdownOutput{display:block;width:100%;min-height:310px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font:11px/1.6 ui-monospace,Consolas,monospace;tab-size:2;resize:vertical;white-space:pre;overflow:auto}.csv-to-markdown-page #markdownOutput{background:color-mix(in srgb,var(--accent-soft) 24%,var(--soft))}.markdown-stale{margin:7px 0 0;color:#ad7627;font-size:10px}.markdown-stale[hidden]{display:none}.markdown-copy-status{min-height:18px;padding-top:5px;color:var(--accent);font-size:10px}.markdown-error{margin:12px 17px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.markdown-table-card{padding:15px 17px;border-top:1px solid var(--line)}.markdown-table-wrap{max-height:58vh;border:1px solid var(--line);border-radius:9px}.markdown-table-wrap table{min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.markdown-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.markdown-table-wrap td{max-width:320px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.markdown-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.markdown-table-wrap tbody tr:hover td{background:var(--accent-soft)}
.markdown-guide{margin-top:12px}.markdown-guide pre{max-width:760px;overflow:auto;padding:14px 16px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font:12px/1.65 ui-monospace,Consolas,monospace;white-space:pre}
@media(max-width:900px){.csv-to-markdown-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.csv-to-markdown-page .editor-hero-inner>div:first-child{text-align:center}.csv-to-markdown-page .editor-hero-inner p{margin:0 auto}.csv-to-markdown-page .markdown-upload-card{max-width:780px;width:100%;margin:0 auto}}
@media(max-width:760px){.csv-to-markdown-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.csv-to-markdown-page .markdown-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.markdown-dropzone{min-height:220px;padding:10px}.markdown-paste-card{padding:12px}.markdown-paste-card textarea{min-height:86px;padding:8px}.markdown-workbench{grid-template-columns:minmax(0,1fr)}.markdown-output-panel{border-top:1px solid var(--line)}.markdown-section-heading{align-items:flex-start;flex-direction:column}.markdown-input-actions,.markdown-output-actions{width:100%;justify-content:flex-start}.csv-to-markdown-page #markdownInput,.csv-to-markdown-page #markdownOutput{min-height:250px}.markdown-filebar{align-items:flex-start;flex-direction:column}.markdown-file-actions{width:100%;justify-content:space-between}.markdown-table-card{padding:13px 12px}.markdown-table-wrap{max-height:52vh}}
@media(max-width:480px){.csv-to-markdown-page .editor-hero-inner h1{font-size:35px}.csv-to-markdown-page .markdown-upload-card{grid-template-columns:1fr}.markdown-dropzone{min-height:180px;padding:14px}.markdown-paste-card{padding:14px}.markdown-file-actions{flex-wrap:wrap}.markdown-input-actions select{max-width:none;flex:1}}

/* CSV to TSV converter workspace. */
.csv-to-tsv-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.csv-to-tsv-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:34px}.csv-to-tsv-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}.csv-to-tsv-page .editor-hero-inner p{max-width:450px;font-size:15px}
.csv-to-tsv-page .tsv-upload-card[hidden],.csv-to-tsv-page .tsv-content[hidden],.csv-to-tsv-page #tsvWorkspace[hidden]{display:none!important}.csv-to-tsv-page .tsv-upload-card{height:auto;min-height:280px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.tsv-dropzone{min-width:0;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px dashed color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.tsv-dropzone.drag,.tsv-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.tsv-dropzone strong{color:var(--text);font-size:14px}.tsv-dropzone>span,.tsv-dropzone small{color:var(--muted);font-size:11px}.tsv-dropzone .viewer-upload-icon svg{width:44px;height:44px;color:var(--accent)}
.tsv-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.tsv-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.2px}.tsv-paste-card h2{margin:0;color:var(--text);font-size:17px;line-height:1.3}.tsv-paste-card p{margin:0;color:var(--muted);font-size:11px}.tsv-paste-card textarea{width:100%;min-height:104px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}.tsv-paste-card textarea:focus,.csv-to-tsv-page #tsvInput:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.tsv-paste-card button{align-self:flex-start;min-height:38px}.tsv-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.tsv-content{max-width:1160px;padding-top:24px}.tsv-workspace-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.tsv-filebar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.tsv-file-info{min-width:0;display:flex;align-items:center;gap:10px}.tsv-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.tsv-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.tsv-file-info>div>span{color:var(--muted);font-size:10px}.tsv-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.tsv-file-actions{display:flex;align-items:center;gap:8px}.tsv-file-actions [role=status]{color:var(--accent);font-size:10px}
.tsv-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}.tsv-input-panel,.tsv-output-panel{min-width:0;padding:17px;background:var(--surface)}.tsv-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.tsv-section-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}.tsv-section-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.tsv-section-heading>span{flex:none;color:var(--muted);font-size:10px}.tsv-input-actions,.tsv-output-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.tsv-input-actions label{color:var(--muted);font-size:10px;font-weight:700}.tsv-input-actions select{height:33px;max-width:118px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:10px}.tsv-input-actions button,.tsv-output-actions button{min-height:33px;justify-content:center;padding:7px 10px;font-size:10px}.tsv-output-actions button:disabled{opacity:.5;cursor:not-allowed}
.csv-to-tsv-page #tsvInput,.csv-to-tsv-page #tsvOutput{display:block;width:100%;min-height:310px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font:11px/1.6 ui-monospace,Consolas,monospace;tab-size:2;resize:vertical;white-space:pre;overflow:auto}.csv-to-tsv-page #tsvOutput{background:color-mix(in srgb,var(--accent-soft) 24%,var(--soft))}.tsv-stale{margin:7px 0 0;color:#ad7627;font-size:10px}.tsv-stale[hidden]{display:none}.tsv-copy-status{min-height:18px;padding-top:5px;color:var(--accent);font-size:10px}.tsv-error{margin:12px 17px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.tsv-table-card{padding:15px 17px;border-top:1px solid var(--line)}.tsv-table-wrap{max-height:58vh;border:1px solid var(--line);border-radius:9px}.tsv-table-wrap table{min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.tsv-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.tsv-table-wrap td{max-width:320px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsv-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.tsv-table-wrap tbody tr:hover td{background:var(--accent-soft)}.tsv-guide{margin-top:12px}
@media(max-width:900px){.csv-to-tsv-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.csv-to-tsv-page .editor-hero-inner>div:first-child{text-align:center}.csv-to-tsv-page .editor-hero-inner p{margin:0 auto}.csv-to-tsv-page .tsv-upload-card{max-width:780px;width:100%;margin:0 auto}}
@media(max-width:760px){.csv-to-tsv-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.csv-to-tsv-page .tsv-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.tsv-dropzone{min-height:220px;padding:10px}.tsv-paste-card{padding:12px}.tsv-paste-card textarea{min-height:86px;padding:8px}.tsv-workbench{grid-template-columns:minmax(0,1fr)}.tsv-output-panel{border-top:1px solid var(--line)}.tsv-section-heading{align-items:flex-start;flex-direction:column}.tsv-input-actions,.tsv-output-actions{width:100%;justify-content:flex-start}.csv-to-tsv-page #tsvInput,.csv-to-tsv-page #tsvOutput{min-height:250px}.tsv-filebar{align-items:flex-start;flex-direction:column}.tsv-file-actions{width:100%;justify-content:space-between}.tsv-table-card{padding:13px 12px}.tsv-table-wrap{max-height:52vh}}
@media(max-width:480px){.csv-to-tsv-page .editor-hero-inner h1{font-size:35px}.csv-to-tsv-page .tsv-upload-card{grid-template-columns:1fr}.tsv-dropzone{min-height:180px;padding:14px}.tsv-paste-card{padding:14px}.tsv-file-actions{flex-wrap:wrap}.tsv-input-actions select{max-width:none;flex:1}}

/* TSV to CSV converter workspace. */
.tsv-to-csv-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.tsv-to-csv-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:34px}.tsv-to-csv-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}.tsv-to-csv-page .editor-hero-inner p{max-width:450px;font-size:15px}
.tsv-to-csv-page .tsvcsv-upload-card[hidden],.tsv-to-csv-page .tsvcsv-content[hidden],.tsv-to-csv-page #tsvcsvWorkspace[hidden]{display:none!important}.tsv-to-csv-page .tsvcsv-upload-card{height:auto;min-height:280px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.tsvcsv-dropzone{min-width:0;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px dashed color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.tsvcsv-dropzone.drag,.tsvcsv-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.tsvcsv-dropzone strong{color:var(--text);font-size:14px}.tsvcsv-dropzone>span,.tsvcsv-dropzone small{color:var(--muted);font-size:11px}.tsvcsv-dropzone .viewer-upload-icon svg{width:44px;height:44px;color:var(--accent)}
.tsvcsv-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.tsvcsv-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.2px}.tsvcsv-paste-card h2{margin:0;color:var(--text);font-size:17px;line-height:1.3}.tsvcsv-paste-card p{margin:0;color:var(--muted);font-size:11px}.tsvcsv-paste-card textarea{width:100%;min-height:104px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}.tsvcsv-paste-card textarea:focus,.tsv-to-csv-page #tsvcsvInput:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.tsvcsv-paste-card button{align-self:flex-start;min-height:38px}.tsvcsv-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.tsvcsv-content{max-width:1160px;padding-top:24px}.tsvcsv-workspace-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.tsvcsv-filebar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.tsvcsv-file-info{min-width:0;display:flex;align-items:center;gap:10px}.tsvcsv-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.tsvcsv-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.tsvcsv-file-info>div>span{color:var(--muted);font-size:10px}.tsvcsv-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:9px;font-weight:850}.tsvcsv-file-actions{display:flex;align-items:center;gap:8px}.tsvcsv-file-actions [role=status]{color:var(--accent);font-size:10px}
.tsvcsv-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}.tsvcsv-input-panel,.tsvcsv-output-panel{min-width:0;padding:17px;background:var(--surface)}.tsvcsv-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.tsvcsv-section-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}.tsvcsv-section-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.tsvcsv-section-heading>span{flex:none;color:var(--muted);font-size:10px}.tsvcsv-input-actions,.tsvcsv-output-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.tsvcsv-input-actions button,.tsvcsv-output-actions button{min-height:33px;justify-content:center;padding:7px 10px;font-size:10px}.tsvcsv-output-actions button:disabled{opacity:.5;cursor:not-allowed}
.tsv-to-csv-page #tsvcsvInput,.tsv-to-csv-page #tsvcsvOutput{display:block;width:100%;min-height:310px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font:11px/1.6 ui-monospace,Consolas,monospace;tab-size:2;resize:vertical;white-space:pre;overflow:auto}.tsv-to-csv-page #tsvcsvOutput{background:color-mix(in srgb,var(--accent-soft) 24%,var(--soft))}.tsvcsv-stale{margin:7px 0 0;color:#ad7627;font-size:10px}.tsvcsv-stale[hidden]{display:none}.tsvcsv-copy-status{min-height:18px;padding-top:5px;color:var(--accent);font-size:10px}.tsvcsv-error{margin:12px 17px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.tsvcsv-table-card{padding:15px 17px;border-top:1px solid var(--line)}.tsvcsv-table-wrap{max-height:58vh;border:1px solid var(--line);border-radius:9px}.tsvcsv-table-wrap table{min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.tsvcsv-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.tsvcsv-table-wrap td{max-width:320px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tsvcsv-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.tsvcsv-table-wrap tbody tr:hover td{background:var(--accent-soft)}.tsvcsv-guide{margin-top:12px}
@media(max-width:900px){.tsv-to-csv-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.tsv-to-csv-page .editor-hero-inner>div:first-child{text-align:center}.tsv-to-csv-page .editor-hero-inner p{margin:0 auto}.tsv-to-csv-page .tsvcsv-upload-card{max-width:780px;width:100%;margin:0 auto}}
@media(max-width:760px){.tsv-to-csv-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.tsv-to-csv-page .tsvcsv-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.tsvcsv-dropzone{min-height:220px;padding:10px}.tsvcsv-paste-card{padding:12px}.tsvcsv-paste-card textarea{min-height:86px;padding:8px}.tsvcsv-workbench{grid-template-columns:minmax(0,1fr)}.tsvcsv-output-panel{border-top:1px solid var(--line)}.tsvcsv-section-heading{align-items:flex-start;flex-direction:column}.tsvcsv-input-actions,.tsvcsv-output-actions{width:100%;justify-content:flex-start}.tsv-to-csv-page #tsvcsvInput,.tsv-to-csv-page #tsvcsvOutput{min-height:250px}.tsvcsv-filebar{align-items:flex-start;flex-direction:column}.tsvcsv-file-actions{width:100%;justify-content:space-between}.tsvcsv-table-card{padding:13px 12px}.tsvcsv-table-wrap{max-height:52vh}}
@media(max-width:480px){.tsv-to-csv-page .editor-hero-inner h1{font-size:35px}.tsv-to-csv-page .tsvcsv-upload-card{grid-template-columns:1fr}.tsvcsv-dropzone{min-height:180px;padding:14px}.tsvcsv-paste-card{padding:14px}.tsvcsv-file-actions{flex-wrap:wrap}}

/* CSV to TXT converter workspace. */
.csv-to-txt-page .editor-hero{background:linear-gradient(120deg,var(--soft),var(--bg) 70%);border-color:var(--line)}
.csv-to-txt-page .editor-hero-inner{max-width:1160px;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:34px}.csv-to-txt-page .editor-hero-inner h1{font-size:clamp(36px,4vw,48px);letter-spacing:-1.6px}.csv-to-txt-page .editor-hero-inner p{max-width:450px;font-size:15px}
.csv-to-txt-page .txt-upload-card[hidden],.csv-to-txt-page .txt-content[hidden],.csv-to-txt-page #txtWorkspace[hidden]{display:none!important}.csv-to-txt-page .txt-upload-card{height:auto;min-height:280px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px;background:var(--surface);border-color:var(--line);box-shadow:var(--shadow)}
.txt-dropzone{min-width:0;min-height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px dashed color-mix(in srgb,var(--accent) 58%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.txt-dropzone.drag,.txt-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.txt-dropzone strong{color:var(--text);font-size:14px}.txt-dropzone>span,.txt-dropzone small{color:var(--muted);font-size:11px}.txt-dropzone .viewer-upload-icon svg{width:44px;height:44px;color:var(--accent)}
.txt-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:9px;padding:17px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.txt-kicker{color:var(--accent);font-size:9px;font-weight:850;letter-spacing:1.2px}.txt-paste-card h2{margin:0;color:var(--text);font-size:17px;line-height:1.3}.txt-paste-card p{margin:0;color:var(--muted);font-size:11px}.txt-paste-card textarea{width:100%;min-height:104px;resize:vertical;padding:10px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.55 ui-monospace,Consolas,monospace}.txt-paste-card textarea:focus,.csv-to-txt-page #txtInput:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.txt-paste-card button{align-self:flex-start;min-height:38px}.txt-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.txt-content{max-width:1160px;padding-top:24px}.txt-workspace-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.txt-filebar{min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.txt-file-info{min-width:0;display:flex;align-items:center;gap:10px}.txt-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.txt-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.txt-file-info>div>span{color:var(--muted);font-size:10px}.txt-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.txt-file-actions{display:flex;align-items:center;gap:8px}.txt-file-actions [role=status]{color:var(--accent);font-size:10px}
.txt-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1px;background:var(--line)}.txt-input-panel,.txt-output-panel{min-width:0;padding:17px;background:var(--surface)}.txt-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.txt-section-heading h2{margin:0;color:var(--text);font-size:16px;line-height:1.3}.txt-section-heading p{margin:3px 0 0;color:var(--muted);font-size:10px}.txt-section-heading>span{flex:none;color:var(--muted);font-size:10px}.txt-input-actions,.txt-output-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.txt-input-actions label{color:var(--muted);font-size:10px;font-weight:700}.txt-input-actions select{height:33px;max-width:118px;padding:0 7px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:10px}.txt-input-actions button,.txt-output-actions button{min-height:33px;justify-content:center;padding:7px 10px;font-size:10px}.txt-output-actions button:disabled{opacity:.5;cursor:not-allowed}
.csv-to-txt-page #txtInput,.csv-to-txt-page #txtOutput{display:block;width:100%;min-height:310px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--soft);color:var(--text);font:11px/1.6 ui-monospace,Consolas,monospace;tab-size:2;resize:vertical;white-space:pre;overflow:auto}.csv-to-txt-page #txtOutput{background:color-mix(in srgb,var(--accent-soft) 24%,var(--soft))}.txt-stale{margin:7px 0 0;color:#ad7627;font-size:10px}.txt-stale[hidden]{display:none}.txt-copy-status{min-height:18px;padding-top:5px;color:var(--accent);font-size:10px}.txt-error{margin:12px 17px;padding:10px 12px;border-radius:8px;background:#ef444414;color:#e75b64;font-size:12px}
.txt-table-card{padding:15px 17px;border-top:1px solid var(--line)}.txt-table-wrap{max-height:58vh;border:1px solid var(--line);border-radius:9px}.txt-table-wrap table{min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.txt-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.txt-table-wrap td{max-width:320px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.txt-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.txt-table-wrap tbody tr:hover td{background:var(--accent-soft)}.txt-guide{margin-top:12px}
@media(max-width:900px){.csv-to-txt-page .editor-hero-inner{grid-template-columns:1fr;gap:22px}.csv-to-txt-page .editor-hero-inner>div:first-child{text-align:center}.csv-to-txt-page .editor-hero-inner p{margin:0 auto}.csv-to-txt-page .txt-upload-card{max-width:780px;width:100%;margin:0 auto}}
@media(max-width:760px){.csv-to-txt-page .editor-hero-inner{padding-top:28px;padding-bottom:28px}.csv-to-txt-page .txt-upload-card{min-height:0;grid-template-columns:repeat(2,minmax(0,1fr))}.txt-dropzone{min-height:220px;padding:10px}.txt-paste-card{padding:12px}.txt-paste-card textarea{min-height:86px;padding:8px}.txt-workbench{grid-template-columns:minmax(0,1fr)}.txt-output-panel{border-top:1px solid var(--line)}.txt-section-heading{align-items:flex-start;flex-direction:column}.txt-input-actions,.txt-output-actions{width:100%;justify-content:flex-start}.csv-to-txt-page #txtInput,.csv-to-txt-page #txtOutput{min-height:250px}.txt-filebar{align-items:flex-start;flex-direction:column}.txt-file-actions{width:100%;justify-content:space-between}.txt-table-card{padding:13px 12px}.txt-table-wrap{max-height:52vh}}
@media(max-width:480px){.csv-to-txt-page .editor-hero-inner h1{font-size:35px}.csv-to-txt-page .txt-upload-card{grid-template-columns:1fr}.txt-dropzone{min-height:180px;padding:14px}.txt-paste-card{padding:14px}.txt-file-actions{flex-wrap:wrap}.txt-input-actions select{max-width:none;flex:1}}



/* CSV Sorter upload, options, and result table. */
.csv-sorter-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.sorter-hero{display:block;margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}
.sorter-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.sorter-hero-inner>div:first-child{text-align:left}.sorter-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.sorter-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.sorter-hero p{max-width:450px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.sorter-upload-card[hidden],.sorter-content[hidden],#sorterWorkspace[hidden]{display:none!important}.sorter-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}
.sorter-dropzone{min-width:0;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.sorter-dropzone.drag,.sorter-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.sorter-dropzone strong{color:var(--text);font-size:13px}.sorter-dropzone>span,.sorter-dropzone small{color:var(--muted);font-size:10px}.sorter-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}
.sorter-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.sorter-paste-card h2{margin:0;color:var(--text);font-size:16px}.sorter-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.sorter-paste-card textarea{width:100%;min-height:100px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.sorter-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.sorter-paste-card button{align-self:flex-start;min-height:36px}.sorter-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.sorter-content{padding:0 0 24px}.sorter-workspace-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.sorter-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.sorter-file-info{min-width:0;display:flex;align-items:center;gap:10px}.sorter-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.sorter-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.sorter-file-info>div>span{color:var(--muted);font-size:10px}.sorter-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.sorter-file-actions{display:flex;align-items:center;gap:8px}.sorter-file-actions [role=status]{color:var(--accent);font-size:10px}
.sorter-controls{padding:17px;border-bottom:1px solid var(--line);background:var(--soft)}.sorter-controls-head,.sorter-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.sorter-controls-head h2,.sorter-result-head h2{margin:0;color:var(--text);font-size:16px}.sorter-controls-head p,.sorter-result-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.sorter-control-actions,.sorter-result-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.sorter-control-actions button,.sorter-result-actions button{min-height:34px;justify-content:center;padding:7px 11px;font-size:10px}.sorter-result-actions button:disabled{opacity:.5;cursor:not-allowed}
.sorter-options-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1.3fr) minmax(200px,1fr);align-items:end;gap:12px}.sorter-options-grid>label:not(.sorter-numeric){display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;font-weight:750}.sorter-options-grid select{width:100%;min-width:0;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:11px}.sorter-numeric{min-height:36px;display:flex;align-items:center;gap:8px;color:var(--text);font-size:11px}.sorter-numeric input{width:16px;height:16px;accent-color:var(--accent)}.sorter-status{min-height:16px;margin:10px 0 0;color:var(--muted);font-size:10px}
.sorter-result{padding:17px}.sorter-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.sorter-table-wrap table{width:100%;min-width:560px;border-collapse:separate;border-spacing:0;font-size:12px}.sorter-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.sorter-table-wrap td{max-width:350px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sorter-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.sorter-table-wrap tbody tr:hover td{background:var(--accent-soft)}.sorter-empty{color:var(--muted);text-align:center}
.sorter-guide{max-width:900px;margin:15px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.sorter-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px}.sorter-guide h2:first-of-type{margin-top:10px}.sorter-guide p{margin:0 0 12px}.sorter-guide code{color:var(--text)}.sorter-guide pre{max-width:720px;overflow:auto;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font:12px/1.6 ui-monospace,Consolas,monospace;white-space:pre}.sorter-guide pre code{font:inherit;color:inherit}.sorter-guide a{color:var(--accent);font-weight:700}
@media(max-width:900px){.sorter-hero-inner{grid-template-columns:1fr;gap:20px}.sorter-hero-inner>div:first-child{text-align:center}.sorter-hero p{margin:0 auto}.sorter-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:720px){.csv-sorter-page{padding:24px 14px 44px}.sorter-hero{padding:22px 16px}.sorter-hero-inner{gap:18px}.sorter-upload-card{grid-template-columns:1fr}.sorter-dropzone{min-height:180px}.sorter-options-grid{grid-template-columns:1fr}.sorter-controls-head,.sorter-result-head{align-items:flex-start;flex-direction:column}.sorter-control-actions,.sorter-result-actions{width:100%}.sorter-control-actions button,.sorter-result-actions button{flex:1}.sorter-filebar{align-items:flex-start;flex-direction:column}.sorter-file-actions{width:100%;justify-content:space-between}.sorter-result,.sorter-controls{padding:13px}.sorter-table-wrap{max-height:52vh}}

/* CSV Filter upload, options, and result table. */
.csv-filter-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.filter-hero{display:block;margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}
.filter-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.filter-hero-inner>div:first-child{text-align:left}.filter-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.filter-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.filter-hero p{max-width:450px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.filter-upload-card[hidden],.filter-content[hidden],#filterWorkspace[hidden]{display:none!important}.filter-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}
.filter-dropzone{min-width:0;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.filter-dropzone.drag,.filter-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.filter-dropzone strong{color:var(--text);font-size:13px}.filter-dropzone>span,.filter-dropzone small{color:var(--muted);font-size:10px}.filter-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}
.filter-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.filter-paste-card h2{margin:0;color:var(--text);font-size:16px}.filter-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.filter-paste-card textarea{width:100%;min-height:100px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.filter-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.filter-paste-card button{align-self:flex-start;min-height:36px}.filter-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.filter-content{padding:0 0 24px}.filter-workspace-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.filter-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.filter-file-info{min-width:0;display:flex;align-items:center;gap:10px}.filter-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.filter-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.filter-file-info>div>span{color:var(--muted);font-size:10px}.filter-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.filter-file-actions{display:flex;align-items:center;gap:8px}.filter-file-actions [role=status]{color:var(--accent);font-size:10px}
.filter-controls{padding:17px;border-bottom:1px solid var(--line);background:var(--soft)}.filter-controls-head,.filter-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.filter-controls-head h2,.filter-result-head h2{margin:0;color:var(--text);font-size:16px}.filter-controls-head p,.filter-result-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.filter-control-actions,.filter-result-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.filter-control-actions button,.filter-result-actions button{min-height:34px;justify-content:center;padding:7px 11px;font-size:10px}.filter-result-actions button:disabled{opacity:.5;cursor:not-allowed}
.filter-options-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.1fr) minmax(0,1.2fr) auto;align-items:end;gap:12px;min-width:0}.filter-options-grid>label:not(.filter-case){min-width:0;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;font-weight:750}.filter-options-grid select,.filter-options-grid input[type=text]{box-sizing:border-box;width:100%;min-width:0;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:11px}.filter-case{min-height:36px;display:flex;align-items:center;gap:8px;color:var(--text);font-size:11px;white-space:nowrap}.filter-case input{width:16px;height:16px;accent-color:var(--accent)}.filter-options-grid #filterValueLabel[hidden],.filter-options-grid #filterCaseLabel[hidden]{display:none!important}.filter-status{min-height:16px;margin:10px 0 0;color:var(--muted);font-size:10px}
.filter-result{padding:17px}.filter-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.filter-table-wrap table{width:100%;min-width:560px;border-collapse:separate;border-spacing:0;font-size:12px}.filter-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.filter-table-wrap td{max-width:350px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.filter-table-wrap tbody tr:hover td{background:var(--accent-soft)}.filter-empty{color:var(--muted);text-align:center}
.filter-guide{max-width:900px;margin:15px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.filter-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px}.filter-guide h2:first-of-type{margin-top:10px}.filter-guide p{margin:0 0 12px}.filter-guide code{color:var(--text)}.filter-guide pre{max-width:720px;overflow:auto;padding:13px 15px;border:1px solid var(--line);border-radius:9px;background:var(--soft);color:var(--text);font:12px/1.6 ui-monospace,Consolas,monospace;white-space:pre}.filter-guide pre code{font:inherit;color:inherit}.filter-guide a{color:var(--accent);font-weight:700}
@media(max-width:900px){.filter-hero-inner{grid-template-columns:1fr;gap:20px}.filter-hero-inner>div:first-child{text-align:center}.filter-hero p{margin:0 auto}.filter-upload-card{max-width:760px;width:100%;margin:0 auto}.filter-options-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.csv-filter-page{padding:24px 14px 44px}.filter-hero{padding:22px 16px}.filter-hero-inner{gap:18px}.filter-upload-card{grid-template-columns:1fr}.filter-dropzone{min-height:180px}.filter-options-grid{grid-template-columns:1fr}.filter-controls-head,.filter-result-head{align-items:flex-start;flex-direction:column}.filter-control-actions,.filter-result-actions{width:100%}.filter-control-actions button,.filter-result-actions button{flex:1}.filter-filebar{align-items:flex-start;flex-direction:column}.filter-file-actions{width:100%;justify-content:space-between}.filter-result,.filter-controls{padding:13px}.filter-table-wrap{max-height:52vh}}

/* CSV Column Extractor */
.csv-extractor-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.extractor-hero{display:block;margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}
.extractor-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.extractor-hero-inner>div:first-child{text-align:left}.extractor-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.extractor-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.extractor-hero p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.extractor-upload-card[hidden],.extractor-content[hidden],#extractWorkspace[hidden]{display:none!important}.extractor-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}
.extractor-dropzone{min-width:0;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.extractor-dropzone.drag,.extractor-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.extractor-dropzone strong{color:var(--text);font-size:13px}.extractor-dropzone>span,.extractor-dropzone small{color:var(--muted);font-size:10px}.extractor-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}
.extractor-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.extractor-paste-card h2{margin:0;color:var(--text);font-size:16px}.extractor-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.extractor-paste-card textarea{box-sizing:border-box;width:100%;min-height:100px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.extractor-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.extractor-paste-card button{align-self:flex-start;min-height:36px}.extractor-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.extractor-content{padding:0 0 24px}.extractor-workspace-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.extractor-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.extractor-file-info{min-width:0;display:flex;align-items:center;gap:10px}.extractor-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.extractor-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.extractor-file-info>div>span{color:var(--muted);font-size:10px}.extractor-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.extractor-file-actions{display:flex;align-items:center;gap:8px}.extractor-file-actions [role=status]{color:var(--accent);font-size:10px}
.extractor-controls{min-width:0;padding:17px;border-bottom:1px solid var(--line);background:var(--soft)}.extractor-controls-head,.extractor-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.extractor-controls-head h2,.extractor-result-head h2{margin:0;color:var(--text);font-size:16px}.extractor-controls-head p,.extractor-result-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.extractor-control-actions,.extractor-result-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.extractor-control-actions button,.extractor-result-actions button{min-height:34px;justify-content:center;padding:7px 11px;font-size:10px}.extractor-result-actions button:disabled{opacity:.5;cursor:not-allowed}.extractor-selection-summary{display:flex;justify-content:space-between;gap:10px;margin:10px 0;color:var(--muted);font-size:10px}.extractor-selection-summary strong{color:var(--accent);font-size:12px}
.extractor-column-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:8px}.extractor-column-card{position:relative;min-width:0;min-height:62px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer;transition:border-color .15s,background .15s}.extractor-column-card:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.extractor-column-card:has(input:checked){border-color:color-mix(in srgb,var(--accent) 62%,var(--line));background:color-mix(in srgb,var(--accent-soft) 55%,var(--surface))}.extractor-column-card input{position:absolute;width:1px;height:1px;opacity:0}.extractor-column-check{width:18px;height:18px;display:grid;place-items:center;flex:none;border:1px solid var(--line);border-radius:5px;background:var(--bg)}.extractor-column-card input:checked+.extractor-column-check{border-color:var(--accent);background:var(--accent)}.extractor-column-card input:checked+.extractor-column-check:after{content:"✓";color:#fff;font-size:12px;font-weight:900}.extractor-column-card input:focus-visible+.extractor-column-check{outline:2px solid var(--accent);outline-offset:2px}.extractor-column-copy{min-width:0;display:flex;flex-direction:column;gap:3px}.extractor-column-copy strong{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.extractor-column-copy small{color:var(--muted);font-size:9px}.extractor-status{min-height:16px;margin:10px 0 0;color:var(--muted);font-size:10px}
.extractor-result{min-width:0;padding:17px}.extractor-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.extractor-table-wrap table{width:100%;min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.extractor-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.extractor-table-wrap td{max-width:350px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.extractor-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.extractor-table-wrap tbody tr:hover td{background:var(--accent-soft)}.extractor-empty{color:var(--muted);text-align:center}
.extractor-guide{max-width:900px;margin:15px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.extractor-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px}.extractor-guide h2:first-of-type{margin-top:10px}.extractor-guide p{margin:0 0 12px}.extractor-guide code{color:var(--text)}.extractor-guide a{color:var(--accent);font-weight:700}
@media(max-width:900px){.extractor-hero-inner{grid-template-columns:1fr;gap:20px}.extractor-hero-inner>div:first-child{text-align:center}.extractor-hero p{margin:0 auto}.extractor-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:720px){.csv-extractor-page{padding:24px 14px 44px}.extractor-hero{padding:22px 16px}.extractor-hero-inner{gap:18px}.extractor-upload-card{grid-template-columns:1fr}.extractor-dropzone{min-height:180px}.extractor-controls-head,.extractor-result-head{align-items:flex-start;flex-direction:column}.extractor-control-actions,.extractor-result-actions{width:100%}.extractor-control-actions button,.extractor-result-actions button{flex:1}.extractor-filebar{align-items:flex-start;flex-direction:column}.extractor-file-actions{width:100%;justify-content:space-between}.extractor-result,.extractor-controls{padding:13px}.extractor-table-wrap{max-height:52vh}.extractor-selection-summary{flex-direction:column;gap:2px}}

/* CSV Column Reorder */
.csv-reorder-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.reorder-hero{display:block;margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}
.reorder-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.reorder-hero-inner>div:first-child{text-align:left}.reorder-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.reorder-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.reorder-hero p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.reorder-upload-card[hidden],.reorder-content[hidden],#reorderWorkspace[hidden]{display:none!important}.reorder-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}
.reorder-dropzone{min-width:0;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.reorder-dropzone.drag,.reorder-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.reorder-dropzone strong{color:var(--text);font-size:13px}.reorder-dropzone>span,.reorder-dropzone small{color:var(--muted);font-size:10px}.reorder-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}
.reorder-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.reorder-paste-card h2{margin:0;color:var(--text);font-size:16px}.reorder-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.reorder-paste-card textarea{box-sizing:border-box;width:100%;min-height:100px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.reorder-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.reorder-paste-card button{align-self:flex-start;min-height:36px}.reorder-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.reorder-content{padding:0 0 24px}.reorder-workspace-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.reorder-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.reorder-file-info{min-width:0;display:flex;align-items:center;gap:10px}.reorder-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.reorder-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.reorder-file-info>div>span{color:var(--muted);font-size:10px}.reorder-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.reorder-file-actions{display:flex;align-items:center;gap:8px}.reorder-file-actions [role=status]{color:var(--accent);font-size:10px}
.reorder-controls{min-width:0;padding:17px;border-bottom:1px solid var(--line);background:var(--soft)}.reorder-controls-head,.reorder-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.reorder-controls-head h2,.reorder-result-head h2{margin:0;color:var(--text);font-size:16px}.reorder-controls-head p,.reorder-result-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.reorder-control-actions,.reorder-result-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.reorder-control-actions button,.reorder-result-actions button{min-height:34px;justify-content:center;padding:7px 11px;font-size:10px}.reorder-result-actions button:disabled{opacity:.5;cursor:not-allowed}.reorder-position-summary{margin:7px 0 9px;color:var(--muted);font-size:10px}.reorder-list{display:grid;gap:7px;margin:0;padding:0;list-style:none}.reorder-item{min-width:0;min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:grab;transition:border-color .15s,background .15s,opacity .15s}.reorder-item:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}.reorder-item.is-dragging{opacity:.45;border-color:var(--accent)}.reorder-position{width:26px;height:26px;display:grid;place-items:center;flex:none;border-radius:7px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.reorder-grip{color:var(--muted);font-size:18px;cursor:grab}.reorder-item-copy{min-width:0;display:flex;flex:1;flex-direction:column;gap:3px}.reorder-item-copy strong{overflow:hidden;color:var(--text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.reorder-item-copy small{color:var(--muted);font-size:9px}.reorder-move-actions{display:flex;gap:5px}.reorder-move{width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:14px;cursor:pointer}.reorder-move:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.reorder-move:disabled{opacity:.4;cursor:not-allowed}.reorder-status{min-height:16px;margin:10px 0 0;color:var(--muted);font-size:10px}
.reorder-result{min-width:0;padding:17px}.reorder-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.reorder-table-wrap table{width:100%;min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.reorder-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.reorder-table-wrap td{max-width:350px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reorder-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.reorder-table-wrap tbody tr:hover td{background:var(--accent-soft)}.reorder-empty{color:var(--muted);text-align:center}
.reorder-guide{max-width:900px;margin:15px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.reorder-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px}.reorder-guide h2:first-of-type{margin-top:10px}.reorder-guide p{margin:0 0 12px}.reorder-guide code{color:var(--text)}.reorder-guide a{color:var(--accent);font-weight:700}
@media(max-width:900px){.reorder-hero-inner{grid-template-columns:1fr;gap:20px}.reorder-hero-inner>div:first-child{text-align:center}.reorder-hero p{margin:0 auto}.reorder-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:720px){.csv-reorder-page{padding:24px 14px 44px}.reorder-hero{padding:22px 16px}.reorder-hero-inner{gap:18px}.reorder-upload-card{grid-template-columns:1fr}.reorder-dropzone{min-height:180px}.reorder-controls-head,.reorder-result-head{align-items:flex-start;flex-direction:column}.reorder-control-actions,.reorder-result-actions{width:100%}.reorder-control-actions button,.reorder-result-actions button{flex:1}.reorder-filebar{align-items:flex-start;flex-direction:column}.reorder-file-actions{width:100%;justify-content:space-between}.reorder-result,.reorder-controls{padding:13px}.reorder-table-wrap{max-height:52vh}}

/* CSV Column Renamer */
.csv-renamer-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.renamer-hero{display:block;margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}
.renamer-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.renamer-hero-inner>div:first-child{text-align:left}.renamer-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.renamer-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.renamer-hero p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.renamer-upload-card[hidden],.renamer-content[hidden],#renameWorkspace[hidden]{display:none!important}.renamer-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}
.renamer-dropzone{min-width:0;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.renamer-dropzone.drag,.renamer-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.renamer-dropzone strong{color:var(--text);font-size:13px}.renamer-dropzone>span,.renamer-dropzone small{color:var(--muted);font-size:10px}.renamer-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}
.renamer-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.renamer-paste-card h2{margin:0;color:var(--text);font-size:16px}.renamer-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.renamer-paste-card textarea{box-sizing:border-box;width:100%;min-height:100px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.renamer-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.renamer-paste-card button{align-self:flex-start;min-height:36px}.renamer-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.renamer-content{padding:0 0 24px}.renamer-workspace-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.renamer-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.renamer-file-info{min-width:0;display:flex;align-items:center;gap:10px}.renamer-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.renamer-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.renamer-file-info>div>span{color:var(--muted);font-size:10px}.renamer-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.renamer-file-actions{display:flex;align-items:center;gap:8px}.renamer-file-actions [role=status]{color:var(--accent);font-size:10px}
.renamer-controls{min-width:0;padding:17px;border-bottom:1px solid var(--line);background:var(--soft)}.renamer-controls-head,.renamer-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.renamer-controls-head h2,.renamer-result-head h2{margin:0;color:var(--text);font-size:16px}.renamer-controls-head p,.renamer-result-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.renamer-control-actions,.renamer-result-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.renamer-control-actions button,.renamer-result-actions button{min-height:34px;justify-content:center;padding:7px 11px;font-size:10px}.renamer-result-actions button:disabled{opacity:.5;cursor:not-allowed}
.renamer-heading-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:9px}.renamer-heading-card{min-width:0;display:flex;flex-direction:column;gap:7px;padding:12px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.renamer-heading-top{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}.renamer-heading-top strong{color:var(--accent);font-size:10px;font-weight:800}.renamer-heading-top small{min-width:0;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.renamer-heading-label{color:var(--muted);font-size:9px;font-weight:750}.renamer-heading-card input{box-sizing:border-box;width:100%;min-width:0;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:11px}.renamer-heading-card input:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.renamer-status{min-height:16px;margin:10px 0 0;color:var(--muted);font-size:10px}
.renamer-result{min-width:0;padding:17px}.renamer-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.renamer-table-wrap table{width:100%;min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.renamer-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.renamer-table-wrap td{max-width:350px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.renamer-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.renamer-table-wrap tbody tr:hover td{background:var(--accent-soft)}.renamer-empty{color:var(--muted);text-align:center}
.renamer-guide{max-width:900px;margin:15px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.renamer-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px}.renamer-guide h2:first-of-type{margin-top:10px}.renamer-guide p{margin:0 0 12px}.renamer-guide code{color:var(--text)}.renamer-guide a{color:var(--accent);font-weight:700}
@media(max-width:900px){.renamer-hero-inner{grid-template-columns:1fr;gap:20px}.renamer-hero-inner>div:first-child{text-align:center}.renamer-hero p{margin:0 auto}.renamer-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:720px){.csv-renamer-page{padding:24px 14px 44px}.renamer-hero{padding:22px 16px}.renamer-hero-inner{gap:18px}.renamer-upload-card{grid-template-columns:1fr}.renamer-dropzone{min-height:180px}.renamer-controls-head,.renamer-result-head{align-items:flex-start;flex-direction:column}.renamer-control-actions,.renamer-result-actions{width:100%}.renamer-control-actions button,.renamer-result-actions button{flex:1}.renamer-filebar{align-items:flex-start;flex-direction:column}.renamer-file-actions{width:100%;justify-content:space-between}.renamer-result,.renamer-controls{padding:13px}.renamer-table-wrap{max-height:52vh}}

/* CSV Row Filter */
.csv-row-filter-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.row-filter-hero{display:block;margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}
.row-filter-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.row-filter-hero-inner>div:first-child{text-align:left}.row-filter-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.row-filter-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.row-filter-hero p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.row-filter-upload-card[hidden],.row-filter-content[hidden],#rowFilterWorkspace[hidden]{display:none!important}.row-filter-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}
.row-filter-dropzone{min-width:0;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.row-filter-dropzone.drag,.row-filter-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.row-filter-dropzone strong{color:var(--text);font-size:13px}.row-filter-dropzone>span,.row-filter-dropzone small{color:var(--muted);font-size:10px}.row-filter-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}
.row-filter-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.row-filter-paste-card h2{margin:0;color:var(--text);font-size:16px}.row-filter-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.row-filter-paste-card textarea{box-sizing:border-box;width:100%;min-height:100px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.row-filter-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.row-filter-paste-card button{align-self:flex-start;min-height:36px}.row-filter-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.row-filter-content{padding:0 0 24px}.row-filter-workspace-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.row-filter-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.row-filter-file-info{min-width:0;display:flex;align-items:center;gap:10px}.row-filter-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.row-filter-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.row-filter-file-info>div>span{color:var(--muted);font-size:10px}.row-filter-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.row-filter-file-actions{display:flex;align-items:center;gap:8px}.row-filter-file-actions [role=status]{color:var(--accent);font-size:10px}
.row-filter-controls{min-width:0;padding:17px;border-bottom:1px solid var(--line);background:var(--soft)}.row-filter-controls-head,.row-filter-result-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.row-filter-controls-head h2,.row-filter-result-head h2{margin:0;color:var(--text);font-size:16px}.row-filter-controls-head p,.row-filter-result-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.row-filter-control-actions,.row-filter-result-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.row-filter-control-actions button,.row-filter-result-actions button{min-height:34px;justify-content:center;padding:7px 11px;font-size:10px}.row-filter-result-actions button:disabled{opacity:.5;cursor:not-allowed}
.row-filter-options{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1.05fr) minmax(0,1.15fr) auto minmax(0,1.25fr);align-items:end;gap:11px;min-width:0}.row-filter-options>label:not(.row-filter-check){min-width:0;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:10px;font-weight:750}.row-filter-options select,.row-filter-options input[type=text]{box-sizing:border-box;width:100%;min-width:0;height:36px;padding:0 9px;border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);font-size:11px}.row-filter-check{min-height:36px;display:flex;align-items:center;gap:7px;color:var(--text);font-size:10px;white-space:nowrap}.row-filter-check input{width:16px;height:16px;accent-color:var(--accent)}.row-filter-options #rowFilterValueLabel[hidden],.row-filter-options #rowFilterMatchCaseLabel[hidden]{display:none!important}.row-filter-status{min-height:16px;margin:10px 0 0;color:var(--muted);font-size:10px}
.row-filter-result{min-width:0;padding:17px}.row-filter-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.row-filter-table-wrap table{width:100%;min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.row-filter-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.row-filter-table-wrap td{max-width:350px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-filter-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.row-filter-table-wrap tbody tr:hover td{background:var(--accent-soft)}.row-filter-empty{color:var(--muted);text-align:center}
.row-filter-guide{max-width:900px;margin:15px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.row-filter-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px}.row-filter-guide h2:first-of-type{margin-top:10px}.row-filter-guide p{margin:0 0 12px}.row-filter-guide code{color:var(--text)}.row-filter-guide a{color:var(--accent);font-weight:700}
@media(max-width:1000px){.row-filter-options{grid-template-columns:repeat(2,minmax(0,1fr))}.row-filter-check{min-height:34px}}
@media(max-width:900px){.row-filter-hero-inner{grid-template-columns:1fr;gap:20px}.row-filter-hero-inner>div:first-child{text-align:center}.row-filter-hero p{margin:0 auto}.row-filter-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:720px){.csv-row-filter-page{padding:24px 14px 44px}.row-filter-hero{padding:22px 16px}.row-filter-hero-inner{gap:18px}.row-filter-upload-card{grid-template-columns:1fr}.row-filter-dropzone{min-height:180px}.row-filter-options{grid-template-columns:1fr}.row-filter-controls-head,.row-filter-result-head{align-items:flex-start;flex-direction:column}.row-filter-control-actions,.row-filter-result-actions{width:100%}.row-filter-control-actions button,.row-filter-result-actions button{flex:1}.row-filter-filebar{align-items:flex-start;flex-direction:column}.row-filter-file-actions{width:100%;justify-content:space-between}.row-filter-result,.row-filter-controls{padding:13px}.row-filter-table-wrap{max-height:52vh}}

/* CSV Row Counter */
.csv-row-counter-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.row-counter-hero{display:block;margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}
.row-counter-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.row-counter-hero-inner>div:first-child{text-align:left}.row-counter-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.row-counter-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.row-counter-hero p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.row-counter-upload-card[hidden],.row-counter-content[hidden],#rowCountWorkspace[hidden]{display:none!important}.row-counter-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}
.row-counter-dropzone{min-width:0;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.row-counter-dropzone.drag,.row-counter-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.row-counter-dropzone strong{color:var(--text);font-size:13px}.row-counter-dropzone>span,.row-counter-dropzone small{color:var(--muted);font-size:10px}.row-counter-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}
.row-counter-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.row-counter-paste-card h2{margin:0;color:var(--text);font-size:16px}.row-counter-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.row-counter-paste-card textarea{box-sizing:border-box;width:100%;min-height:100px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.row-counter-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.row-counter-paste-card button{align-self:flex-start;min-height:36px}.row-counter-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.row-counter-content{padding:0 0 24px}.row-counter-workspace-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.row-counter-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.row-counter-file-info{min-width:0;display:flex;align-items:center;gap:10px}.row-counter-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.row-counter-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.row-counter-file-info>div>span{color:var(--muted);font-size:10px}.row-counter-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.row-counter-file-actions{display:flex;align-items:center;gap:8px}.row-counter-file-actions [role=status]{color:var(--accent);font-size:10px}
.row-counter-results{padding:19px;border-bottom:1px solid var(--line);background:var(--soft)}.row-counter-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.row-counter-results-head h2{margin:5px 0 0;color:var(--text);font-size:19px}.row-counter-results-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.row-counter-result-actions{display:flex;gap:7px;flex-wrap:wrap}.row-counter-result-actions button{min-height:34px;justify-content:center;padding:7px 11px;font-size:10px}.row-counter-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.row-counter-stat{min-width:0;display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.row-counter-stat>span{color:var(--muted);font-size:10px;font-weight:750}.row-counter-stat strong{color:var(--text);font-size:clamp(24px,4vw,36px);letter-spacing:-.5px;line-height:1.1}.row-counter-stat small{color:var(--muted);font-size:9px}.row-counter-main-stat{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:linear-gradient(135deg,var(--accent-soft),var(--surface) 75%)}.row-counter-main-stat strong{color:var(--accent)}.row-counter-header-toggle{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer}.row-counter-header-toggle input{width:17px;height:17px;flex:none;margin:1px 0 0;accent-color:var(--accent)}.row-counter-header-toggle span{display:flex;flex-direction:column;gap:3px}.row-counter-header-toggle strong{color:var(--text);font-size:11px}.row-counter-header-toggle small{color:var(--muted);font-size:9px}.row-counter-status{min-height:16px;margin:10px 0 0;color:var(--muted);font-size:10px}
.row-counter-table-section{min-width:0;padding:17px}.row-counter-table-head{margin:0 0 12px}.row-counter-table-head h2{margin:0;color:var(--text);font-size:16px}.row-counter-table-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.row-counter-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.row-counter-table-wrap table{width:100%;min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.row-counter-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.row-counter-table-wrap td{max-width:350px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-counter-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.row-counter-table-wrap tbody tr:hover td{background:var(--accent-soft)}.row-counter-empty{color:var(--muted);text-align:center}
.row-counter-guide{max-width:900px;margin:15px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.row-counter-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px}.row-counter-guide h2:first-of-type{margin-top:10px}.row-counter-guide p{margin:0 0 12px}.row-counter-guide code{color:var(--text)}.row-counter-guide a{color:var(--accent);font-weight:700}
@media(max-width:900px){.row-counter-hero-inner{grid-template-columns:1fr;gap:20px}.row-counter-hero-inner>div:first-child{text-align:center}.row-counter-hero p{margin:0 auto}.row-counter-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:720px){.csv-row-counter-page{padding:24px 14px 44px}.row-counter-hero{padding:22px 16px}.row-counter-hero-inner{gap:18px}.row-counter-upload-card{grid-template-columns:1fr}.row-counter-dropzone{min-height:180px}.row-counter-results-head{align-items:flex-start;flex-direction:column}.row-counter-result-actions{width:100%}.row-counter-result-actions button{flex:1}.row-counter-filebar{align-items:flex-start;flex-direction:column}.row-counter-file-actions{width:100%;justify-content:space-between}.row-counter-results,.row-counter-table-section{padding:13px}.row-counter-stat-grid{grid-template-columns:1fr}.row-counter-main-stat{grid-column:auto}.row-counter-table-wrap{max-height:52vh}}

/* CSV Column Counter */
.csv-column-counter-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.column-counter-hero{display:block;margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}
.column-counter-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.column-counter-hero-inner>div:first-child{text-align:left}.column-counter-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.column-counter-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.column-counter-hero p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.column-counter-upload-card[hidden],.column-counter-content[hidden],#columnCountWorkspace[hidden]{display:none!important}.column-counter-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}
.column-counter-dropzone{min-width:0;min-height:240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.column-counter-dropzone.drag,.column-counter-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.column-counter-dropzone strong{color:var(--text);font-size:13px}.column-counter-dropzone>span,.column-counter-dropzone small{color:var(--muted);font-size:10px}.column-counter-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}
.column-counter-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.column-counter-paste-card h2{margin:0;color:var(--text);font-size:16px}.column-counter-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.column-counter-paste-card textarea{box-sizing:border-box;width:100%;min-height:100px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.column-counter-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.column-counter-paste-card button{align-self:flex-start;min-height:36px}.column-counter-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.column-counter-content{padding:0 0 24px}.column-counter-workspace-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.column-counter-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.column-counter-file-info{min-width:0;display:flex;align-items:center;gap:10px}.column-counter-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.column-counter-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.column-counter-file-info>div>span{color:var(--muted);font-size:10px}.column-counter-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.column-counter-file-actions{display:flex;align-items:center;gap:8px}.column-counter-file-actions [role=status]{color:var(--accent);font-size:10px}
.column-counter-results{padding:19px;border-bottom:1px solid var(--line);background:var(--soft)}.column-counter-results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.column-counter-results-head h2{margin:5px 0 0;color:var(--text);font-size:19px}.column-counter-results-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.column-counter-result-actions{display:flex;gap:7px;flex-wrap:wrap}.column-counter-result-actions button{min-height:34px;justify-content:center;padding:7px 11px;font-size:10px}.column-counter-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.column-counter-stat{min-width:0;display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.column-counter-stat>span{color:var(--muted);font-size:10px;font-weight:750}.column-counter-stat strong{color:var(--text);font-size:clamp(24px,4vw,36px);letter-spacing:-.5px;line-height:1.1}.column-counter-stat small{color:var(--muted);font-size:9px}.column-counter-main-stat{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:linear-gradient(135deg,var(--accent-soft),var(--surface) 75%)}.column-counter-main-stat strong{color:var(--accent)}.column-counter-header-toggle{display:flex;align-items:flex-start;gap:10px;margin-top:12px;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--surface);cursor:pointer}.column-counter-header-toggle input{width:17px;height:17px;flex:none;margin:1px 0 0;accent-color:var(--accent)}.column-counter-header-toggle span{display:flex;flex-direction:column;gap:3px}.column-counter-header-toggle strong{color:var(--text);font-size:11px}.column-counter-header-toggle small{color:var(--muted);font-size:9px}.column-counter-parsed-note{margin:8px 0 0;color:var(--muted);font-size:10px}.column-counter-parsed-note strong{color:var(--text)}.column-counter-status{min-height:16px;margin:7px 0 0;color:var(--muted);font-size:10px}
.column-counter-table-section{min-width:0;padding:17px}.column-counter-table-head{margin:0 0 12px}.column-counter-table-head h2{margin:0;color:var(--text);font-size:16px}.column-counter-table-head p{margin:3px 0 0;color:var(--muted);font-size:10px}.column-counter-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px}.column-counter-table-wrap table{width:100%;min-width:540px;border-collapse:separate;border-spacing:0;font-size:12px}.column-counter-table-wrap th{position:sticky;top:0;z-index:2;padding:10px 12px;border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.column-counter-table-wrap td{max-width:350px;padding:9px 12px;border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.column-counter-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.column-counter-table-wrap tbody tr:hover td{background:var(--accent-soft)}.column-counter-empty{color:var(--muted);text-align:center}
.column-counter-guide{max-width:900px;margin:15px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.column-counter-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px}.column-counter-guide h2:first-of-type{margin-top:10px}.column-counter-guide p{margin:0 0 12px}.column-counter-guide code{color:var(--text)}.column-counter-guide a{color:var(--accent);font-weight:700}
@media(max-width:1000px){.column-counter-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.column-counter-hero-inner{grid-template-columns:1fr;gap:20px}.column-counter-hero-inner>div:first-child{text-align:center}.column-counter-hero p{margin:0 auto}.column-counter-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:720px){.csv-column-counter-page{padding:24px 14px 44px}.column-counter-hero{padding:22px 16px}.column-counter-hero-inner{gap:18px}.column-counter-upload-card{grid-template-columns:1fr}.column-counter-dropzone{min-height:180px}.column-counter-results-head{align-items:flex-start;flex-direction:column}.column-counter-result-actions{width:100%}.column-counter-result-actions button{flex:1}.column-counter-filebar{align-items:flex-start;flex-direction:column}.column-counter-file-actions{width:100%;justify-content:space-between}.column-counter-results,.column-counter-table-section{padding:13px}.column-counter-stat-grid{grid-template-columns:1fr}.column-counter-table-wrap{max-height:52vh}}

/* CSV Transpose */
.csv-transpose-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.transpose-hero{margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}
.transpose-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}
.transpose-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}
.transpose-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}
.transpose-hero p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.transpose-upload-card[hidden],.transpose-content[hidden],.transpose-workspace-card[hidden],.transpose-output[hidden]{display:none!important}
.transpose-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}
.transpose-dropzone{min-width:0;min-height:255px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}
.transpose-dropzone.drag,.transpose-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.transpose-dropzone strong{color:var(--text);font-size:13px}.transpose-dropzone>span,.transpose-dropzone small{color:var(--muted);font-size:10px}.transpose-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}
.transpose-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.transpose-paste-card h2{margin:0;color:var(--text);font-size:16px}.transpose-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.transpose-paste-card textarea{box-sizing:border-box;width:100%;min-height:115px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.transpose-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.transpose-paste-card button{align-self:flex-start;min-height:36px}.transpose-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.transpose-content{padding:0 0 24px}.transpose-workspace-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}
.transpose-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.transpose-file-info{min-width:0;display:flex;align-items:center;gap:10px}.transpose-file-info>div{min-width:0;display:flex;flex-direction:column;gap:3px}.transpose-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.transpose-file-info>div>span{color:var(--muted);font-size:10px}.transpose-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.transpose-file-actions{display:flex;align-items:center;gap:8px}.transpose-file-actions [role=status]{color:var(--accent);font-size:10px}
.transpose-controls,.transpose-output{min-width:0;padding:19px;border-bottom:1px solid var(--line)}.transpose-controls{background:var(--soft)}.transpose-controls-head,.transpose-result-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.transpose-controls-head h2,.transpose-result-head h2{margin:4px 0 0;color:var(--text);font-size:19px}.transpose-controls-head p,.transpose-result-head p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.transpose-control-actions,.transpose-result-actions{display:flex;gap:7px;flex-wrap:wrap}.transpose-control-actions button,.transpose-result-actions button{min-height:36px;justify-content:center;padding:8px 12px;font-size:11px}
.transpose-dimensions{display:flex;align-items:center;gap:12px;margin:0 0 14px}.transpose-dimensions>span:not(.transpose-arrow){min-width:140px;display:flex;flex-direction:column;gap:3px;padding:10px 13px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.transpose-dimensions small,.transpose-dimensions em{color:var(--muted);font-size:10px;font-style:normal}.transpose-dimensions strong{color:var(--text);font-size:19px}.transpose-arrow{color:var(--accent);font-size:20px;font-weight:800}
.transpose-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface);overscroll-behavior:contain}.transpose-table-wrap table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.transpose-table-wrap th{position:sticky;top:0;z-index:2;min-width:110px;max-width:280px;padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left;white-space:nowrap}.transpose-table-wrap td{min-width:110px;max-width:280px;padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transpose-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.transpose-table-wrap tbody tr:hover td{background:var(--accent-soft)}.transpose-status{min-height:16px;margin:10px 0 0;color:var(--muted);font-size:10px}
.transpose-guide{max-width:900px;margin:18px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.transpose-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px;line-height:1.3}.transpose-guide h2:first-of-type{margin-top:10px}.transpose-guide p{margin:0 0 12px}.transpose-guide ol{padding-left:22px}.transpose-guide li{padding:2px 0}.transpose-guide code{color:var(--text)}.transpose-guide a{color:var(--accent);font-weight:700}.transpose-guide details{margin:8px 0;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.transpose-guide summary{color:var(--text);font-weight:700;cursor:pointer}.transpose-guide details p{margin:8px 0 0}
@media(max-width:900px){.transpose-hero-inner{grid-template-columns:1fr;gap:20px}.transpose-hero-inner>div:first-child{text-align:center}.transpose-hero p{margin:0 auto}.transpose-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:720px){.csv-transpose-page{padding:24px 14px 44px}.transpose-hero{padding:22px 16px}.transpose-upload-card{grid-template-columns:1fr}.transpose-dropzone{min-height:185px}.transpose-filebar{align-items:flex-start;flex-direction:column}.transpose-file-actions{width:100%;justify-content:space-between}.transpose-controls,.transpose-output{padding:13px}.transpose-controls-head,.transpose-result-head{align-items:flex-start;flex-direction:column}.transpose-control-actions,.transpose-result-actions{width:100%}.transpose-control-actions button,.transpose-result-actions button{flex:1}.transpose-dimensions{gap:7px}.transpose-dimensions>span:not(.transpose-arrow){min-width:0;flex:1;padding:9px}.transpose-dimensions strong{font-size:16px}.transpose-arrow{font-size:16px}.transpose-table-wrap{max-height:52vh}.transpose-guide{padding:18px 8px}.transpose-guide h2{font-size:19px}}

/* CSV Search, Group By, and Pivot Table */
.csv-analysis-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}
.analysis-hero{margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}.analysis-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.analysis-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.analysis-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.analysis-hero p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.analysis-upload-card[hidden],.analysis-content[hidden],#analysisWorkspace[hidden],.analysis-result[hidden]{display:none!important}.analysis-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}.analysis-dropzone{min-width:0;min-height:255px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.analysis-dropzone.drag,.analysis-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.analysis-dropzone strong{color:var(--text);font-size:13px}.analysis-dropzone>span,.analysis-dropzone small{color:var(--muted);font-size:10px}.analysis-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}.analysis-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.analysis-paste-card h2{margin:0;color:var(--text);font-size:16px}.analysis-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.analysis-paste-card textarea{box-sizing:border-box;width:100%;min-height:105px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.analysis-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.analysis-paste-card button{align-self:flex-start;min-height:36px}.analysis-sample-link{padding:3px 0;border:0;background:transparent;color:var(--accent);font-size:11px;font-weight:750;cursor:pointer}.analysis-sample-link:hover{text-decoration:underline}.analysis-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}
.analysis-content{padding:0 0 24px}.analysis-workspace-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.analysis-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.analysis-file-info{min-width:0;display:flex;align-items:center;gap:10px}.analysis-file-info>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.analysis-file-info strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.analysis-file-info small{color:var(--muted);font-size:10px}.analysis-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.analysis-file-actions{display:flex;align-items:center;gap:8px}.analysis-file-actions [role=status]{color:var(--accent);font-size:10px}
.analysis-source,.analysis-tool-panel,.analysis-result{min-width:0;padding:18px;border-bottom:1px solid var(--line)}.analysis-source{background:var(--soft)}.analysis-tool-panel{background:var(--surface)}.analysis-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:13px}.analysis-section-head h2{margin:4px 0;color:var(--text);font-size:19px}.analysis-section-head p{margin:3px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.analysis-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}.analysis-search-controls{grid-template-columns:minmax(200px,1.4fr) minmax(160px,.8fr) minmax(170px,.8fr)}.analysis-field{min-width:0;display:flex;flex-direction:column;gap:6px;color:var(--text);font-size:11px;font-weight:750}.analysis-field input,.analysis-field select{box-sizing:border-box;width:100%;min-height:39px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface);color:var(--text);font:inherit}.analysis-field input:focus,.analysis-field select:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.analysis-check{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);cursor:pointer}.analysis-check input{width:16px;height:16px;flex:none;margin:2px 0 0;accent-color:var(--accent)}.analysis-check span{display:flex;flex-direction:column;gap:3px}.analysis-check strong{color:var(--text);font-size:11px}.analysis-check small,.analysis-hint{color:var(--muted);font-size:10px;line-height:1.5}.analysis-hint{margin:8px 0 0}.analysis-tool-panel .analysis-section-head>.viewer-primary{flex:none;min-height:37px;padding:8px 13px;font-size:11px}.analysis-status{min-height:15px;margin:8px 0 0;color:var(--muted);font-size:10px}.analysis-result-actions{display:flex;gap:7px;flex-wrap:wrap}.analysis-result-actions button{min-height:35px;padding:7px 11px;font-size:10px}.analysis-result-actions button:disabled{opacity:.5;cursor:not-allowed}
.analysis-table-wrap{max-height:62vh;overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface);overscroll-behavior:contain}.analysis-table-wrap table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.analysis-table-wrap th{position:sticky;top:0;z-index:2;min-width:130px;max-width:300px;padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left}.analysis-table-wrap th span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-table-wrap th small{display:block;margin-top:3px;color:var(--muted);font-size:9px;font-weight:600}.analysis-table-wrap td{min-width:130px;max-width:300px;padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.analysis-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.analysis-table-wrap tbody tr:hover td{background:var(--accent-soft)}.analysis-table-wrap .analysis-empty-cell{color:var(--muted)}.analysis-table-wrap .analysis-no-rows{padding:24px;color:var(--muted);text-align:center}
.analysis-guide{max-width:900px;margin:18px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.analysis-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px;line-height:1.3}.analysis-guide h2:first-of-type{margin-top:10px}.analysis-guide p{margin:0 0 12px}.analysis-guide ol{padding-left:22px}.analysis-guide li{padding:2px 0}.analysis-guide code{color:var(--text)}.analysis-guide a{color:var(--accent);font-weight:700}.analysis-guide details{margin:8px 0;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.analysis-guide summary{color:var(--text);font-weight:700;cursor:pointer}.analysis-guide details p{margin:8px 0 0}
@media(max-width:900px){.analysis-hero-inner{grid-template-columns:1fr;gap:20px}.analysis-hero-inner>div:first-child{text-align:center}.analysis-hero p{margin:0 auto}.analysis-upload-card{max-width:760px;width:100%;margin:0 auto}.analysis-search-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.analysis-query{grid-column:1/-1}}
@media(max-width:720px){.csv-analysis-page{padding:24px 14px 44px}.analysis-hero{padding:22px 16px}.analysis-upload-card{grid-template-columns:1fr}.analysis-dropzone{min-height:185px}.analysis-filebar{align-items:flex-start;flex-direction:column}.analysis-file-actions{width:100%;justify-content:space-between}.analysis-source,.analysis-tool-panel,.analysis-result{padding:13px}.analysis-section-head,.analysis-result-head{align-items:flex-start;flex-direction:column}.analysis-tool-panel .analysis-section-head>.viewer-primary{width:100%}.analysis-controls,.analysis-search-controls{grid-template-columns:1fr;padding:11px}.analysis-query{grid-column:auto}.analysis-result-actions{width:100%}.analysis-result-actions button{flex:1}.analysis-table-wrap{max-height:52vh}.analysis-guide{padding:18px 8px}.analysis-guide h2{font-size:19px}}

/* CSV to API JSON */
.api-json-page{max-width:1160px;margin:0 auto;padding:34px 22px 60px}.api-json-hero{margin-bottom:24px;padding:26px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(120deg,var(--soft),var(--bg) 72%)}.api-json-hero-inner{max-width:1160px;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);align-items:center;gap:34px;margin:0 auto}.api-json-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.api-json-hero h1{margin:10px 0;color:var(--text);font-size:clamp(36px,4vw,48px);letter-spacing:-1.4px;line-height:1.1}.api-json-hero p{max-width:470px;margin:0;color:var(--muted);font-size:14px;line-height:1.65}.api-json-upload-card[hidden],.api-json-workspace[hidden],#apiJsonOutput[hidden]{display:none!important}.api-json-upload-card{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px;border:1px solid var(--line);border-radius:13px;background:var(--surface);box-shadow:var(--shadow)}.api-json-dropzone{min-width:0;min-height:255px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;border:1px dashed color-mix(in srgb,var(--accent) 56%,var(--line));border-radius:9px;background:var(--soft);cursor:pointer;text-align:center;transition:background .18s,border-color .18s}.api-json-dropzone.drag,.api-json-dropzone:hover{border-color:var(--accent);background:var(--accent-soft)}.api-json-dropzone strong{color:var(--text);font-size:13px}.api-json-dropzone>span,.api-json-dropzone small{color:var(--muted);font-size:10px}.api-json-dropzone .viewer-upload-icon svg{width:42px;height:42px;color:var(--accent)}.api-json-paste-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg)}.api-json-paste-card h2{margin:0;color:var(--text);font-size:16px}.api-json-paste-card p{margin:0;color:var(--muted);font-size:10px;line-height:1.45}.api-json-paste-card textarea{box-sizing:border-box;width:100%;min-height:105px;resize:vertical;padding:9px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:11px/1.5 ui-monospace,Consolas,monospace}.api-json-paste-card textarea:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.api-json-paste-card button{align-self:flex-start;min-height:36px}.api-json-sample{padding:3px 0;border:0;background:transparent;color:var(--accent);font-size:11px;font-weight:750;cursor:pointer}.api-json-upload-status{grid-column:1/-1;min-height:0;margin:0;color:var(--accent);font-size:11px}.api-json-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow)}.api-json-filebar{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 17px;border-bottom:1px solid var(--line)}.api-json-filebar>div{min-width:0;display:flex;align-items:center;gap:10px}.api-json-filebar>div>span:last-child{min-width:0;display:flex;flex-direction:column;gap:3px}.api-json-filebar strong{overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.api-json-filebar small{color:var(--muted);font-size:10px}.api-json-file-icon{width:38px;height:38px;display:grid;place-items:center;flex:none;border-radius:9px;background:var(--accent-soft);color:var(--accent);font-size:10px;font-weight:850}.api-json-source,.api-json-result{min-width:0;padding:18px;border-bottom:1px solid var(--line)}.api-json-source{background:var(--soft)}.api-json-source h2,.api-json-result h2{margin:4px 0;color:var(--text);font-size:19px}.api-json-source p,.api-json-result-head p{margin:3px 0 12px;color:var(--muted);font-size:11px}.api-json-table-wrap{max-height:48vh;overflow:auto;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.api-json-table-wrap table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.api-json-table-wrap th{position:sticky;top:0;z-index:2;min-width:130px;max-width:300px;padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--accent-soft);color:var(--text);text-align:left}.api-json-table-wrap th span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-json-table-wrap th small{display:block;margin-top:3px;color:var(--muted);font-size:9px}.api-json-table-wrap td{min-width:130px;max-width:300px;padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.api-json-table-wrap tbody tr:nth-child(even) td{background:color-mix(in srgb,var(--soft) 58%,var(--surface))}.api-json-table-wrap tbody tr:hover td{background:var(--accent-soft)}.api-json-empty,.api-json-empty-row{color:var(--muted)}.api-json-empty-row{text-align:center;padding:22px}.api-json-result-head{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,.55fr) auto;align-items:end;gap:12px}.api-json-result-head>div:first-child p{margin-bottom:0}.api-json-property{display:flex;flex-direction:column;gap:6px;color:var(--text);font-size:11px;font-weight:750}.api-json-property input{min-height:38px;padding:8px 10px;border:1px solid var(--line);border-radius:7px;background:var(--soft);color:var(--text);font:inherit}.api-json-property input:focus{outline:2px solid color-mix(in srgb,var(--accent) 42%,transparent);outline-offset:1px}.api-json-result-head>.viewer-primary{min-height:38px;padding:8px 14px}.api-json-status{min-height:15px;margin:10px 0;color:var(--muted);font-size:10px}.api-json-preview-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.api-json-preview-head h3{margin:0;color:var(--text);font-size:15px}.api-json-preview-head p{margin:4px 0 0;color:var(--muted);font-size:10px}.api-json-actions{display:flex;gap:7px}.api-json-actions button{min-height:35px;padding:7px 11px;font-size:10px}.api-json-result pre{max-height:65vh;overflow:auto;margin:12px 0 0;padding:15px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);white-space:pre;overflow-wrap:normal;font:12px/1.55 ui-monospace,Consolas,monospace}.api-json-guide{max-width:900px;margin:18px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.api-json-guide h2{margin:25px 0 8px;color:var(--text);font-size:21px;line-height:1.3}.api-json-guide h2:first-of-type{margin-top:10px}.api-json-guide p{margin:0 0 12px}.api-json-guide ol{padding-left:22px}.api-json-guide li{padding:2px 0}.api-json-guide code{color:var(--text)}.api-json-guide a{color:var(--accent);font-weight:700}.api-json-guide details{margin:8px 0;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.api-json-guide summary{color:var(--text);font-weight:700;cursor:pointer}.api-json-guide details p{margin:8px 0 0}
@media(max-width:900px){.api-json-hero-inner{grid-template-columns:1fr;gap:20px}.api-json-hero-inner>div:first-child{text-align:center}.api-json-hero p{margin:0 auto}.api-json-upload-card{max-width:760px;width:100%;margin:0 auto}}
@media(max-width:720px){.api-json-page{padding:24px 14px 44px}.api-json-hero{padding:22px 16px}.api-json-upload-card{grid-template-columns:1fr}.api-json-dropzone{min-height:185px}.api-json-filebar{align-items:flex-start;flex-direction:column}.api-json-source,.api-json-result{padding:13px}.api-json-result-head{grid-template-columns:1fr}.api-json-result-head>.viewer-primary{width:100%}.api-json-preview-head{align-items:flex-start;flex-direction:column}.api-json-actions{width:100%}.api-json-actions button{flex:1}.api-json-table-wrap{max-height:42vh}.api-json-guide{padding:18px 8px}.api-json-guide h2{font-size:19px}}

/* CSV to SQL guide */
.sql-guide{max-width:900px;margin:20px auto 0;padding:22px 18px;color:var(--muted);line-height:1.75}.sql-guide-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:1.2px;text-transform:uppercase}.sql-guide h2{margin:22px 0 8px;color:var(--text);font-size:21px;line-height:1.35}.sql-guide p{margin:0 0 12px}.sql-guide a{color:var(--accent);font-weight:700}.sql-guide code{color:var(--text)}.sql-guide details{margin:8px 0;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface)}.sql-guide summary{color:var(--text);font-weight:700;cursor:pointer}.sql-guide details p{margin:8px 0 0}@media(max-width:720px){.sql-guide{padding:18px 8px}.sql-guide h2{font-size:19px}}

