:root{--font:"Inter", system-ui, -apple-system, sans-serif;--clr-bg:#f5f5fb;--clr-surface:#fff;--clr-border:#e5e7eb;--clr-border-2:#d1d5db;--clr-brand:#6366f1;--clr-brand-dk:#4f46e5;--clr-brand-lt:#eef2ff;--clr-accent:#8b5cf6;--clr-text-1:#111827;--clr-text-2:#4b5563;--clr-text-3:#9ca3af;--clr-white:#fff;--clr-success:#10b981;--clr-warning:#f59e0b;--clr-error:#ef4444;--radius-sm:6px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #00000014, 0 2px 6px #0000000a;--shadow-lg:0 10px 40px #0000001a, 0 4px 12px #0000000f;--shadow-brand:0 8px 24px #6366f14d;--t-fast:.15s ease;--t-base:.22s ease;--t-slow:.35s ease;--container:1160px;--pad:24px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}[hidden]{display:none!important}body{font-family:var(--font);background:var(--clr-bg);color:var(--clr-text-1);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;line-height:1.6;display:flex}#root{flex-direction:column;min-height:100vh;display:flex}img,video,canvas{max-width:100%;display:block}a{color:var(--clr-brand);transition:color var(--t-fast);text-decoration:none}a:hover{color:var(--clr-brand-dk)}h1,h2,h3,h4,h5{font-weight:700;line-height:1.2}button{font-family:var(--font)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--clr-brand);outline-offset:3px;border-radius:var(--radius-sm)}.container{max-width:var(--container);padding-inline:var(--pad);margin-inline:auto}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:8px}.gap-4{gap:16px}.gap-6{gap:24px}.main-content{flex:1}.gradient-text{background:linear-gradient(135deg, var(--clr-brand), var(--clr-accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn{border-radius:var(--radius-md);cursor:pointer;transition:background var(--t-base), color var(--t-base), box-shadow var(--t-base), transform var(--t-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;border:2px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:.9375rem;font-weight:600;line-height:1;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;pointer-events:none}.btn-primary{background:linear-gradient(135deg, var(--clr-brand), var(--clr-accent));color:var(--clr-white);box-shadow:var(--shadow-brand)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 32px #6366f166}.btn-outline{background:var(--clr-surface);color:var(--clr-brand);border-color:var(--clr-brand)}.btn-outline:hover{background:var(--clr-brand);color:var(--clr-white)}.btn-ghost{color:var(--clr-text-2);border-color:var(--clr-border);background:0 0}.btn-ghost:hover{background:var(--clr-border);color:var(--clr-text-1)}.btn-success{background:linear-gradient(135deg, var(--clr-success), #059669);color:#fff;box-shadow:0 6px 20px #10b9814d}.btn-success:hover{transform:translateY(-1px);box-shadow:0 10px 28px #10b98166}.btn-full{width:100%}.btn-sm{padding:7px 14px;font-size:.85rem}.btn-lg{padding:14px 28px;font-size:1rem}.card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:32px}.card-sm{border-radius:var(--radius-lg);padding:20px}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:var(--clr-text-1);font-size:.875rem;font-weight:600}.form-input,.form-select,.form-textarea{border:2px solid var(--clr-border);border-radius:var(--radius-md);font-family:var(--font);color:var(--clr-text-1);background:var(--clr-surface);transition:border-color var(--t-base), box-shadow var(--t-base);outline:none;width:100%;padding:10px 14px;font-size:.9375rem}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--clr-brand);box-shadow:0 0 0 3px #6366f11f}.form-textarea{resize:vertical;min-height:120px;line-height:1.6}.form-hint{color:var(--clr-text-3);font-size:.8rem}input[type=range]{appearance:none;border-radius:var(--radius-full);background:linear-gradient(to right, var(--clr-brand) 0%, var(--clr-brand) var(--pct,50%), var(--clr-border) var(--pct,50%), var(--clr-border) 100%);cursor:pointer;outline:none;width:100%;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:2.5px solid var(--clr-brand);cursor:grab;width:20px;height:20px;transition:transform var(--t-fast);background:#fff;border-radius:50%;box-shadow:0 2px 8px #6366f133}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing;transform:scale(1.15)}input[type=checkbox]{width:16px;height:16px;accent-color:var(--clr-brand);cursor:pointer}.badge{border-radius:var(--radius-full);letter-spacing:.04em;align-items:center;gap:4px;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.badge-brand{background:var(--clr-brand-lt);color:var(--clr-brand-dk)}.badge-success{color:#065f46;background:#d1fae5}.badge-warning{color:#92400e;background:#fef3c7}.badge-error{color:#991b1b;background:#fee2e2}.dropzone{border:2px dashed var(--clr-border);border-radius:var(--radius-lg);text-align:center;cursor:pointer;transition:border-color var(--t-base), background var(--t-base), transform var(--t-base);flex-direction:column;align-items:center;gap:12px;padding:48px 24px;display:flex}.dropzone:hover,.dropzone.hover{border-color:var(--clr-brand);background:var(--clr-brand-lt);transform:scale(1.01)}.dropzone-icon{transition:transform var(--t-base)}.dropzone:hover .dropzone-icon{transform:translateY(-4px)}.dropzone-title{font-size:1rem;font-weight:600}.dropzone-sub{color:var(--clr-text-3);font-size:.875rem}.tool-page{flex:1;padding-block:48px}.tool-page-header{margin-bottom:32px}.tool-page-icon{border-radius:var(--radius-lg);justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:16px;font-size:1.5rem;display:flex}.tool-page-title{letter-spacing:-.02em;margin-bottom:8px;font-size:clamp(1.5rem,3vw,2rem);font-weight:800}.tool-page-desc{color:var(--clr-text-2);max-width:600px;font-size:1.05rem}.tool-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=768px){.tool-grid-2{grid-template-columns:1fr 1fr}}.ad-slot{justify-content:center;align-items:center;width:100%;padding-block:12px;display:flex}.ad-placeholder{border-radius:var(--radius-md);width:100%;min-height:90px;color:var(--clr-text-3);text-align:center;background:repeating-linear-gradient(45deg,#f3f4f6,#f3f4f6 6px,#e9eaec 6px 12px);border:2px dashed #d1d5db;flex-direction:column;justify-content:center;align-items:center;padding:16px;font-size:11px;font-weight:500;display:flex}.ad-placeholder:before{content:"📢 Ad Slot — " attr(data-slot);display:block}.section-title{letter-spacing:-.02em;text-align:center;margin-bottom:8px;font-size:clamp(1.5rem,3vw,2rem);font-weight:800}.section-sub{text-align:center;color:var(--clr-text-2);margin-bottom:48px;font-size:1.05rem}.spinner{border:4px solid var(--clr-brand-lt);border-top-color:var(--clr-brand);border-radius:50%;width:40px;height:40px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.toast-container{z-index:999;pointer-events:none;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.toast{background:var(--clr-text-1);color:#fff;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:auto;padding:12px 24px;font-size:.9rem;font-weight:500;animation:.25s both toastIn}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.copy-area{position:relative}.copy-btn{padding:6px 12px;font-size:.8rem;position:absolute;top:8px;right:8px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:.4s both fadeUp}.fade-up-delay{animation:.4s .1s both fadeUp}.pill-tabs{flex-wrap:wrap;gap:8px;display:flex}.pill-tab{border-radius:var(--radius-full);border:2px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-text-2);cursor:pointer;transition:all var(--t-base);padding:6px 16px;font-size:.875rem;font-weight:600}.pill-tab:hover{border-color:var(--clr-brand);color:var(--clr-brand)}.pill-tab.active{background:var(--clr-brand);border-color:var(--clr-brand);color:#fff}@media (width<=640px){:root{--pad:16px}.card{padding:20px}.tool-page{padding-block:32px}}
