:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,Apple Color Emoji,Segoe UI Emoji;font-weight:400;line-height:1.6}body{color:#0f172a;background:linear-gradient(#f6f9ff 0%,#f2f7ff 40%,#eef5ff 100%) fixed;min-width:320px;min-height:100vh;margin:0;display:block}a{color:#4f46e5;text-decoration:none}a:hover{color:#4338ca}button{font-family:inherit}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:2px solid #06b6d4}:root{--bg:#f5f7fb;--panel:#ffffffbf;--text:#0f172a;--muted:#64748b;--primary:#6366f1;--primary-hover:#4f46e5;--accent:#06b6d4;--border:#e5e7eb;--ring:#06b6d466;--shadow:0 8px 22px #0d94ba14}#root{max-width:1200px;margin:0 auto;padding:28px}.container{color:var(--text)}header{padding-bottom:8px;position:relative}header h1{background:linear-gradient(90deg,var(--primary),var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 6px;font-size:28px}header p{color:var(--muted);margin:0 0 16px}.tab-nav{gap:8px;margin-top:16px;display:flex}.tab-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#ffffff80;border-radius:8px;padding:10px 20px;font-weight:600;transition:all .2s}.tab-button:hover{border-color:var(--primary);background:#fffc}.tab-button.active{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;box-shadow:var(--shadow);border-color:#0000}.panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:18px;box-shadow:0 10px 25px #6366f10f}@supports ((-webkit-backdrop-filter:blur(10px)) or (backdrop-filter:blur(10px))){.panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}.field{margin-bottom:12px}.field label{margin-bottom:6px;font-weight:600;display:block}.field small{color:var(--muted)}.row{gap:16px;display:flex}.grid{grid-template-columns:repeat(2,minmax(240px,1fr));gap:12px;display:grid}.field input[type=text],.field input[type=number],.field input[type=color],.field input[type=file],.field input[type=range]{width:100%}input[type=text],input[type=number],input[type=file],input[type=color],select{border:1px solid var(--border);background:#fff;border-radius:10px;padding:8px 10px}select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted)50%),linear-gradient(135deg,var(--muted)50%,transparent 50%);background-position:calc(100% - 16px) calc(50% - 6px),calc(100% - 10px) calc(50% - 6px);background-repeat:no-repeat;background-size:6px 6px,6px 6px}input[type=range]{accent-color:var(--primary);height:24px}.row{flex-wrap:wrap;align-items:center}.value{color:var(--muted);margin-left:8px}.range-input-group{align-items:center;gap:12px;display:flex}.range-input-group input[type=range]{flex:1;min-width:120px}.range-input-group input[type=number]{flex-shrink:0;width:80px}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{appearance:textfield}input[type=file]::file-selector-button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:10px;margin-right:10px;padding:8px 12px}input[type=file]::file-selector-button:hover{border-color:var(--accent)}input[type=checkbox],input[type=radio]{accent-color:var(--primary)}input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg,var(--primary)0%,var(--accent)100%);border-radius:999px;height:6px}input[type=range]::-webkit-slider-thumb{appearance:none;border:2px solid var(--primary);background:#fff;border-radius:50%;width:16px;height:16px;margin-top:-5px;box-shadow:0 2px 8px #6366f140}input[type=range]::-moz-range-track{background:linear-gradient(90deg,var(--primary)0%,var(--accent)100%);border-radius:999px;height:6px}input[type=range]::-moz-range-thumb{border:2px solid var(--primary);background:#fff;border-radius:50%;width:16px;height:16px;box-shadow:0 2px 8px #6366f140}.preview{margin-top:18px}.preview h2{color:#0f172a;margin-bottom:8px;font-size:18px}.preview-image{border:1px solid var(--border);max-width:100%;box-shadow:var(--shadow);z-index:1;border-radius:12px;position:relative}.placeholder{color:var(--muted);border:1px dashed var(--border);text-align:center;background:#fff;border-radius:12px;padding:28px}.actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.primary{background:linear-gradient(135deg,var(--primary)0%,var(--accent)100%);color:#fff;cursor:pointer;border:none;border-radius:12px;padding:12px 18px;transition:transform .12s,box-shadow .12s;box-shadow:0 8px 18px #06b6d42e}.primary:hover{transform:translateY(-1px);box-shadow:0 12px 26px #06b6d438}.primary:disabled{opacity:.7;cursor:not-allowed;box-shadow:none}.ghost{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;padding:12px 18px}.ghost:hover{border-color:var(--accent)}.input-sm{max-width:150px}.input-xs{max-width:110px}.input-color{width:48px;height:36px;padding:0}.pretty-input{transition:box-shadow .12s,border-color .12s;box-shadow:inset 0 2px 8px #6366f10f,0 1px 2px #00000005}.pretty-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring)}footer{color:var(--muted);margin-top:24px}.copyright{border-top:1px solid var(--border);text-align:center;margin-top:8px;padding-top:8px}.copyright a{color:var(--primary);margin:0 4px;text-decoration:none}.copyright a:hover{color:var(--primary-hover);text-decoration:underline}@media (max-width:720px){.grid{grid-template-columns:1fr}}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px;display:grid}.preset{border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:12px;justify-content:center;align-items:center;padding:12px;display:flex}.preset.selected{border-color:var(--accent);box-shadow:0 6px 16px #06b6d426}.preset img{object-fit:contain;max-width:80px;max-height:80px}.pdf-converter{margin-top:20px}.pdf-hero{grid-template-columns:360px 1fr;align-items:start;gap:20px;margin-bottom:20px;display:grid}.pdf-panel{background:var(--panel);border:1px solid var(--border);border-radius:14px;flex-direction:column;height:calc(85vh + 32px);display:flex;box-shadow:0 10px 25px #6366f10f}.pdf-left{min-width:0;padding:16px;overflow:auto}.pdf-right{min-width:0;padding:16px;position:relative;overflow:hidden}.pdf-title{background:linear-gradient(90deg,var(--primary),var(--accent));color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:10px;font-size:28px;font-weight:800;line-height:1.2}.pdf-subtitle{color:var(--muted);margin-bottom:12px;font-size:14px}.pdf-row{align-items:center;gap:10px;margin-bottom:12px;display:flex}.pdf-row label{color:var(--muted);min-width:78px;font-size:13px;font-weight:600}.pdf-input{border:1px solid var(--border);width:100%;color:var(--text);background:#fffc;border-radius:10px;outline:none;padding:10px 12px;transition:all .2s}.pdf-input:focus{border-color:var(--primary);box-shadow:0 0 0 3px #6366f126}.pdf-chips{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.pdf-chip{border:1px solid var(--border);color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff9;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:6px 10px;font-size:12px;transition:all .2s;display:inline-flex}.pdf-chip:hover{border-color:var(--primary);background:#fffc}.pdf-chip.selected{border-color:var(--primary);background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff}.pdf-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.pdf-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#6366f11f,#06b6d41f);border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:700;transition:all .2s;display:inline-flex}.pdf-btn:hover{border-color:var(--primary);background:linear-gradient(135deg,#6366f133,#06b6d433)}.pdf-btn.pdf-secondary{background:#fff9}.pdf-btn.pdf-secondary:hover{background:#fffc}.pdf-status,.pdf-note{color:var(--muted);margin-top:8px;font-size:12px}.pdf-canvas-wrap{flex:auto;width:100%;height:85vh;position:relative;overflow:auto}.pdf-canvas-wrap canvas{border:1px solid var(--border);image-rendering:auto;max-width:none;image-rendering:high-quality;image-rendering:-webkit-optimize-contrast;will-change:transform;background:#f8fafc;border-radius:12px;display:block;transform:translateZ(0)}.pdf-canvas-wrap.panning{cursor:grabbing}.pdf-crop{border:2px dashed var(--accent);pointer-events:none;border-radius:6px;position:absolute;box-shadow:0 0 0 9999px #06b6d414}.pdf-viewer-controls{z-index:10;-webkit-backdrop-filter:blur(12px)saturate(1.3);backdrop-filter:blur(12px)saturate(1.3);background:#fffffff2;border-bottom:1px solid #0000000d;justify-content:flex-start;align-items:center;gap:10px;padding:8px;display:flex;position:sticky;top:0;left:0;right:0}.pdf-group{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px)saturate(1.2);backdrop-filter:blur(10px)saturate(1.2);background:#fffffffa;border-radius:12px;align-items:center;gap:8px;padding:8px 12px;display:flex;box-shadow:0 4px 12px #00000014}.pdf-group .pdf-btn{border:1px solid var(--border);background:linear-gradient(135deg,#6366f11f,#06b6d41f);padding:6px 10px}.pdf-group .pdf-btn:hover{border-color:var(--primary);background:linear-gradient(135deg,#6366f133,#06b6d433)}.pdf-badge{border:1px solid var(--border);background:#fffc;border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.pdf-page-jump input{width:64px;color:var(--text);text-align:center;background:#fffc;border:none;border-radius:8px;outline:none;padding:4px 6px;font-weight:700}.pdf-tips{background:var(--panel);border:1px solid var(--border);border-radius:14px;margin-top:20px;padding:16px}.pdf-tips h3{color:var(--text);margin:0 0 12px;font-size:16px;font-weight:700}.pdf-tips-list{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.pdf-tips-item{border:1px solid var(--border);background:#ffffff80;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.pdf-tips-item i{color:var(--accent)}@media (max-width:960px){.pdf-hero{grid-template-columns:1fr}.pdf-viewer-controls{flex-flow:wrap;justify-content:flex-start;align-items:center;padding:6px}}@media (max-width:640px){.pdf-actions{grid-template-columns:1fr}.pdf-tips-list{gap:8px}}.style-presets{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.preset-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fffc;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.preset-btn:hover{background:var(--primary);color:#fff;border-color:var(--primary)}.text-input-group{align-items:center;gap:8px;display:flex}.text-preset-select{border:1px solid var(--border);min-width:140px;color:var(--text);background:#fff;border-radius:8px;padding:8px 12px;font-size:14px}.color-input-group{flex-direction:column;gap:8px;display:flex}.color-presets{flex-wrap:wrap;gap:6px;display:flex}.color-preset{border:2px solid var(--border);cursor:pointer;border-radius:4px;width:24px;height:24px;transition:all .2s}.color-preset:hover{border-color:var(--primary);transform:scale(1.1)}.color-preset.selected{border-color:var(--primary);box-shadow:0 0 0 2px #6366f14d}.csv-preview{border:1px solid var(--border);background:#fff;border-radius:8px;max-height:300px;overflow:auto}.csv-preview table{border-collapse:collapse;width:100%;font-size:14px}.csv-preview th,.csv-preview td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:200px;padding:8px 12px;overflow:hidden}.csv-preview th{z-index:1;background:#6366f11a;font-weight:600;position:sticky;top:0}.csv-preview tr:hover{background:#6366f10d}.csv-more-info{color:var(--muted);margin:8px 12px;font-size:13px;font-style:italic}.url-preview{border:1px solid var(--border);background:#fffc;border-radius:8px;padding:12px}.url-item{align-items:center;margin-bottom:8px;font-size:14px;display:flex}.url-field{text-align:center;background:#6366f11a;border-radius:4px;min-width:120px;padding:4px 8px;font-family:monospace}.url-arrow{color:var(--muted);margin:0 12px}.url-full{color:var(--text);word-break:break-all;flex:1;font-family:monospace}.progress-bar{border:1px solid var(--border);background:#fffc;border-radius:12px;height:24px;margin-top:12px;position:relative;overflow:hidden}.progress-fill{background:linear-gradient(90deg,var(--primary),var(--accent));height:100%;transition:width .3s}.progress-text{color:var(--text);font-size:12px;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.split-column-preview{border:1px solid var(--border);background:#fff;border-radius:8px;max-height:200px;margin-bottom:16px;overflow:auto}.split-column-preview table{border-collapse:collapse;width:100%;font-size:14px}.split-column-preview th,.split-column-preview td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;max-width:150px;padding:8px 12px;overflow:hidden}.split-column-preview th{background:#6366f11a;font-weight:600}.split-column-preview .selected-split{background:#6366f133;font-weight:600}.split-column-selector{margin-top:12px}.split-options{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.split-option{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#fff;border-radius:6px;padding:8px 16px;font-weight:500;transition:all .2s}.split-option:hover{border-color:var(--accent);background:#6366f10d}.split-option.selected{background:var(--primary);color:#fff;border-color:var(--primary)}.row-range-inputs{gap:16px;margin-top:8px;display:flex}.input-group{flex-direction:column;gap:4px;display:flex}.input-group label{color:var(--muted);font-size:14px;font-weight:500}.input-group input{width:120px}.button-group{flex-wrap:wrap;gap:12px;display:flex}.validation-results{border:1px solid var(--border);background:#fffc;border-radius:8px;margin-top:16px;padding:12px}.validation-results h3{color:var(--text);margin:0 0 8px;font-size:16px}.validation-summary{gap:16px;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.success-count{color:#16a34a}.error-count{color:#dc2626}.validation-list{max-height:200px;overflow-y:auto}.validation-item{border-bottom:1px solid #0000000d;align-items:center;gap:8px;padding:6px 0;font-size:13px;display:flex}.validation-item:last-child{border-bottom:none}.validation-status{width:16px;font-weight:700}.validation-item.success .validation-status{color:#16a34a}.validation-item.error .validation-status{color:#dc2626}.validation-url{word-break:break-all;color:var(--text);flex:1;font-family:monospace}.validation-error{color:#dc2626;white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:12px;overflow:hidden}.validation-more{color:var(--muted);margin:8px 0 0;font-size:13px;font-style:italic}
