.csv-json-page{max-width:1200px;margin:auto;color:var(--tool-text,#e7e7f0);overflow-wrap:anywhere}.csv-json-page [hidden]{display:none!important}.csv-heading{margin-bottom:24px}.csv-heading>span{color:#ba9af9;font-size:12px;font-weight:700;letter-spacing:2px}.csv-heading h1{font-size:clamp(28px,5vw,42px);line-height:1.25;margin:8px 0}.csv-heading p{color:var(--tool-muted,#bdbdce);max-width:760px}.csv-json-page :is(select,textarea,button){font:inherit;color:inherit}.csv-json-page select{width:100%;background:var(--tool-input,#161620);border:1px solid #505066;border-radius:8px;padding:11px;margin-top:6px}.csv-settings{display:grid;grid-template-columns:1fr 1.2fr 1.2fr auto;gap:14px;align-items:end;padding:18px;border:1px solid #414157;border-radius:14px;background:var(--tool-panel,#20202e)}.csv-json-page button{padding:10px 14px;border:1px solid #595970;border-radius:8px;background:var(--tool-action,#2c2c3e);cursor:pointer;min-height:44px}.csv-json-page button:hover{background:#39394e}.csv-json-page button:disabled{opacity:.45;cursor:not-allowed}.csv-json-page .csv-primary{background:#8154d7;border-color:#b594ee;font-weight:700}.csv-check{display:flex;align-items:center;gap:9px;min-height:44px}.csv-check input{width:18px;height:18px;accent-color:#a77cf1;flex-shrink:0}.csv-options,.csv-notes{margin:18px 0;border:1px solid #44445a;border-radius:12px;padding:16px;background:var(--tool-input,#1b1b26)}.csv-json-page summary{cursor:pointer;font-weight:600;min-height:32px}.csv-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:16px 0}.csv-options p,.csv-notes p{color:var(--tool-muted,#bdbdce);line-height:1.75;margin:10px 0}.csv-json-page code{background:var(--tool-panel,#11111c);padding:2px 5px;border-radius:4px}#csvStatus{padding:12px 14px;margin:16px 0;border-left:3px solid #9a79dd;background:var(--tool-panel,#20202e)}#csvStatus[data-error=true]{border-color:#ff8991;color:#ffc2c7}#csvWarnings{padding-left:24px;color:#ded0a7;margin-bottom:18px}#csvWarnings:empty{display:none}.csv-editors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.csv-card{min-width:0;border:1px solid #414157;border-radius:14px;padding:18px;background:var(--tool-panel,#1c1c28)}.csv-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:14px}.csv-toolbar h2{font-size:20px;flex:1;margin:0;min-width:100px}.csv-json-page textarea{width:100%;resize:vertical;min-height:300px;margin:8px 0 14px;border:1px solid #4a4a60;border-radius:10px;background:var(--tool-input,#10101a);padding:14px;font:14px/1.65 Consolas,monospace;tab-size:2;white-space:pre}.csv-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.csv-file{display:block;border:1px dashed #626279;border-radius:8px;padding:10px;font-size:13px;max-width:100%;min-width:0}.csv-file input{display:block;max-width:100%;width:190px;font:inherit;margin-top:6px;color:var(--tool-muted,#ccc)}.csv-card>p{font-size:12px;color:#acacc1;margin-top:14px}.csv-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:22px 0}.csv-stats span{border:1px solid #414157;border-radius:10px;padding:12px;background:var(--tool-panel,#20202c);font-size:12px;color:#b7b7ca}.csv-stats strong{display:block;font-size:19px;color:var(--tool-text,#ececf4)}.csv-preview{border:1px solid #414157;border-radius:14px;padding:18px;background:#1c1c28;min-width:0}.csv-preview h2{font-size:22px;margin:0 0 8px}.csv-preview>p{font-size:13px;color:#b7b7ca;margin-bottom:14px}.csv-table-scroll{overflow:auto;max-height:440px;max-width:100%;border-radius:8px}.csv-preview table{border-collapse:collapse;min-width:100%;font-size:13px}.csv-preview th,.csv-preview td{padding:10px 12px;text-align:left;border:1px solid #46465b;vertical-align:top;min-width:110px;max-width:230px;white-space:pre-wrap;overflow-wrap:anywhere}.csv-preview th{background:#303045;position:sticky;top:0}.csv-preview tr:nth-child(even){background:#232333}@media(max-width:1000px){.csv-settings{grid-template-columns:1fr 1fr}.csv-settings .csv-primary{width:100%}.csv-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:820px){.csv-editors{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.csv-settings,.csv-option-grid{grid-template-columns:minmax(0,1fr)}.csv-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.csv-card,.csv-settings,.csv-preview{padding:14px}.csv-actions button{flex:1}.csv-json-page textarea{min-height:240px}}
