*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#2563eb;--primary-hover:#1d4ed8;--primary-light:#eff6ff;--bg:#f0f4f8;--surface:#fff;--text:#1e293b;--text-muted:#64748b;--border:#e2e8f0;--success:#10b981;--error:#ef4444;--radius:12px;--shadow:0 1px 3px #00000014;--shadow-lg:0 4px 12px #0000001f}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);flex-direction:column;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;display:flex}.container{width:100%;max-width:720px;margin:0 auto;padding:0 16px}.site-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;padding:12px 0;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;display:flex}.site-logo{color:var(--primary);font-size:1.25rem;font-weight:700;text-decoration:none}.site-logo:hover{opacity:.8}.site-nav{align-items:center;gap:8px;display:flex}.site-nav a{color:var(--text-muted);border-radius:6px;padding:6px 12px;font-size:.875rem;text-decoration:none;transition:background .2s,color .2s}.site-nav a:hover{background:var(--primary-light);color:var(--primary)}.lang-switch{position:relative}.lang-btn{border:1px solid var(--border);cursor:pointer;color:var(--text-muted);background:0 0;border-radius:6px;padding:6px 10px;font-size:.875rem}.lang-btn:hover{background:var(--primary-light)}.site-footer{background:var(--surface);border-top:1px solid var(--border);text-align:center;color:var(--text-muted);margin-top:auto;padding:24px 0;font-size:.875rem}.hero{text-align:center;padding:48px 0 32px}.hero h1{color:var(--text);margin-bottom:12px;font-size:2rem;font-weight:800}.hero-sub{color:var(--text-muted);max-width:500px;margin:0 auto;font-size:1.125rem}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;padding-bottom:48px;display:grid}.tool-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);text-align:center;padding:24px 16px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}.tool-card:hover{box-shadow:var(--shadow-lg);border-color:var(--primary);transform:translateY(-2px)}.tool-icon{margin-bottom:12px;font-size:2rem;display:block}.tool-card h2{margin-bottom:4px;font-size:1rem;font-weight:600}.tool-card p{color:var(--text-muted);font-size:.8125rem}.tool-page{padding:32px 0 48px}.tool-header{margin-bottom:24px}.tool-header h1{margin-bottom:8px;font-size:1.75rem;font-weight:700}.tool-header p{color:var(--text-muted);font-size:1rem}.dropzone{background:var(--surface);border:2px dashed var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;margin-bottom:16px;padding:48px 24px;transition:border-color .2s,background .2s}.dropzone:hover,.dropzone.drag-over{border-color:var(--primary);background:var(--primary-light)}.dropzone-icon{margin-bottom:16px;font-size:3rem;display:block}.dropzone-text{margin-bottom:8px;font-size:1.125rem;font-weight:600}.dropzone-hint{color:var(--text-muted);font-size:.875rem}.dropzone-info{color:var(--text-muted);margin-top:12px;font-size:.75rem}.file-list{margin-top:12px;list-style:none}.file-list li{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px 12px;font-size:.875rem;display:flex}.file-list .file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-list .file-size{color:var(--text-muted);white-space:nowrap;margin-left:12px}.file-list .file-remove{color:var(--error);cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0 4px;font-size:1.125rem}.tool-controls{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.tool-controls label{color:var(--text-muted);font-size:.875rem;font-weight:500}.tool-controls select,.tool-controls input[type=text]{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:8px;padding:8px 12px;font-size:.875rem}.tool-controls select:focus,.tool-controls input[type=text]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.btn{border-radius:var(--radius);cursor:pointer;border:none;align-items:center;gap:8px;padding:12px 24px;font-size:1rem;font-weight:600;transition:background .2s,transform .1s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-hover)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#059669}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--primary-light);border-color:var(--primary);color:var(--primary)}.status{border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.875rem;display:none}.status.show{display:block}.status.processing{background:var(--primary-light);color:var(--primary);border:1px solid var(--primary)}.status.success{color:#065f46;border:1px solid var(--success);background:#ecfdf5}.status.error{color:#991b1b;border:1px solid var(--error);background:#fef2f2}.content-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.content-section h2{margin-bottom:12px;font-size:1.25rem;font-weight:700}.content-section h3{margin-bottom:8px;font-size:1rem;font-weight:600}.content-section p,.content-section li{color:var(--text);font-size:.9375rem;line-height:1.7}.content-section ol,.content-section ul{padding-left:20px}.content-section li{margin-bottom:8px}.faq-item{border-bottom:1px solid var(--border);padding:16px 0}.faq-item:last-child{border-bottom:none}.faq-question{cursor:pointer;justify-content:space-between;align-items:center;font-size:.9375rem;font-weight:600;display:flex}.faq-question:after{content:"+";color:var(--text-muted);font-size:1.25rem;transition:transform .2s}.faq-item.open .faq-question:after{content:"−"}.faq-answer{max-height:0;color:var(--text-muted);font-size:.875rem;line-height:1.7;transition:max-height .3s;overflow:hidden}.faq-item.open .faq-answer{max-height:300px;padding-top:12px}.ad-unit{border:1px dashed var(--border);border-radius:var(--radius);text-align:center;color:var(--text-muted);background:#f8fafc;justify-content:center;align-items:center;min-height:90px;margin-bottom:24px;padding:24px;font-size:.75rem;display:flex}.ad-unit-leaderboard{min-height:90px}.ad-unit-incontent{min-height:250px}.related-tools{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-top:16px;display:grid}.related-tool-link{background:var(--primary-light);color:var(--primary);text-align:center;border-radius:8px;padding:8px 16px;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s}.related-tool-link:hover{background:#dbeafe}canvas{max-width:100%;height:auto!important}pre{white-space:pre-wrap;word-break:break-word;max-width:100%;overflow-x:auto}.progress-bar{background:var(--border);border-radius:3px;width:100%;height:6px;margin-bottom:16px;display:none;overflow:hidden}.progress-bar.show{display:block}.progress-fill{background:var(--primary);border-radius:3px;width:0%;height:100%;transition:width .3s}@media (width<=640px){.hero{padding:32px 0 24px}.hero h1{font-size:1.5rem}.hero-sub{font-size:1rem}.tool-grid{grid-template-columns:repeat(2,1fr);gap:12px}.tool-card{padding:16px 12px}.tool-icon{font-size:1.5rem}.tool-header h1{font-size:1.375rem}.tool-header p{font-size:.9375rem}.dropzone{padding:32px 16px}.dropzone-icon{font-size:2rem}.dropzone-text{font-size:1rem}.tool-controls{flex-direction:column;align-items:stretch}.tool-controls select,.tool-controls input[type=text],.tool-controls input[type=number],.tool-controls input[type=range]{padding:10px 12px;font-size:1rem}.btn{justify-content:center;min-height:48px;padding:14px 20px;font-size:1rem}.btn-secondary{min-height:44px}.site-nav a,.lang-btn{align-items:center;min-height:40px;padding:8px 10px;font-size:.8125rem;display:inline-flex}.file-list li{padding:12px}.file-list .file-remove{padding:4px 8px;font-size:1.25rem}.content-section{padding:16px}.related-tools{grid-template-columns:1fr 1fr}.ad-unit{min-height:60px}.ad-unit-incontent{min-height:200px}.preview-controls{flex-wrap:wrap;justify-content:center}.preview-controls button{min-height:44px;padding:10px 16px}}
