@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2fe1ab3d-module__-T-KAq__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2fe1ab3d-module__-T-KAq__variable{--font-inter:"Inter", "Inter Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-light:#eff6ff;--color-secondary:#10b981;--color-secondary-hover:#059669;--color-accent:#f59e0b;--color-bg:#fff;--color-bg-alt:#f8fafc;--color-bg-card:#fff;--color-surface:#f1f5f9;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-muted:#5f6b7f;--color-text-inverse:#fff;--color-border:#e2e8f0;--color-border-hover:#cbd5e1;--color-success:#10b981;--color-success-text:#047857;--color-error:#ef4444;--color-warning:#f59e0b;--color-info:#3b82f6;--font-sans:var(--font-inter), -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-section:5rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--max-width:1200px;--content-width:800px;--header-height:64px;--color-header-bg:#fffffff2}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-sans);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.7}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-weight:700;line-height:1.3}h1{margin-bottom:var(--space-lg);font-size:2rem}h2{margin-bottom:var(--space-md);font-size:1.5rem}h3{margin-bottom:var(--space-sm);font-size:1.25rem}p{margin-bottom:var(--space-md);color:var(--color-text-secondary)}a{color:var(--color-primary);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary-hover);text-decoration:underline}.container{max-width:var(--max-width);padding:0 var(--space-lg);margin:0 auto}.content-narrow{max-width:var(--content-width);margin:0 auto}.site-header{z-index:100;background:var(--color-header-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);height:var(--header-height);position:sticky;top:0}.header-inner{max-width:var(--max-width);padding:0 var(--space-lg);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.header-actions{align-items:center;gap:var(--space-sm);display:flex}.theme-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);width:38px;height:38px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:var(--color-surface);color:var(--color-text);border-color:var(--color-border-hover)}.theme-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.header-logo{transition:transform var(--transition-fast);align-items:center;text-decoration:none;display:inline-flex}.header-logo:hover{text-decoration:none;transform:translateY(-1px)}.brand-logo-container{align-items:center;gap:.65rem;display:inline-flex}.brand-logo-badge{background:var(--color-bg);--logo-knockout:var(--color-bg);border:1px solid #8b5cf640;border-radius:10px;justify-content:center;align-items:center;padding:4px;transition:border-color .3s,box-shadow .3s,transform .3s;display:flex;box-shadow:0 2px 10px #0ea5e926}.header-logo:hover .brand-logo-badge{border-color:#22d3eeb3;transform:scale(1.04);box-shadow:0 0 16px #22d3ee59,0 0 24px #8b5cf640}.logo-icon-svg{transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.header-logo:hover .logo-icon-svg{transform:rotate(60deg)}.brand-logo-text{letter-spacing:-.02em;font-size:1.35rem;font-weight:800;font-family:var(--font-sans);align-items:center;display:flex}.brand-logo-main{color:var(--color-text);transition:color var(--transition-fast)}.brand-logo-highlight{background:linear-gradient(135deg,#22d3ee 0%,#8b5cf6 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-left:1px;position:relative}.header-logo:hover .brand-logo-main{color:var(--color-primary)}.header-nav{align-items:center;gap:var(--space-xl);display:flex}.header-nav a{color:var(--color-text-secondary);transition:color var(--transition-fast);font-size:.9rem;font-weight:500}.header-nav a:hover{color:var(--color-primary);text-decoration:none}.header-search{position:relative}.header-search input{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-surface);width:280px;transition:all var(--transition-fast);padding-left:2.5rem;font-size:.875rem}.header-search input:focus{border-color:var(--color-primary);outline:none;width:320px;box-shadow:0 0 0 3px #2563eb1a}.header-search-icon{left:var(--space-md);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.site-footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:var(--space-3xl) 0 var(--space-xl);margin-top:var(--space-section)}.footer-grid{max-width:var(--max-width);padding:0 var(--space-lg);gap:var(--space-2xl);grid-template-columns:2fr 1fr 1fr 1fr;margin:0 auto;display:grid}.footer-brand p{color:var(--color-text-muted);margin-top:var(--space-sm);font-size:.875rem}.footer-column h2{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.8rem;font-weight:600}.footer-column ul{list-style:none}.footer-column li{margin-bottom:var(--space-sm)}.footer-column a{color:var(--color-text-secondary);font-size:.875rem}.footer-bottom{max-width:var(--max-width);margin:var(--space-2xl) auto 0;padding:var(--space-lg) var(--space-lg) 0;border-top:1px solid var(--color-border);color:var(--color-text-muted);justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.hero{text-align:center;padding:var(--space-3xl) 0;background:linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-bg) 100%)}.hero h1{max-width:700px;margin:0 auto var(--space-lg);font-size:2.75rem;font-weight:800;line-height:1.2}.hero h1 span{background:linear-gradient(135deg, var(--color-primary), var(--color-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{color:var(--color-text-secondary);max-width:600px;margin:0 auto var(--space-xl);font-size:1.125rem}.hero-search{gap:var(--space-sm);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);max-width:560px;box-shadow:var(--shadow-lg);margin:0 auto;padding:6px;display:flex}.hero-search:focus-within{border-color:var(--color-primary)}.hero-search input{min-width:0;font:inherit;color:var(--color-text);background:0 0;border:0;outline:none;flex:1;padding:.75rem 1rem;font-size:1rem}.hero-search input::placeholder{color:var(--color-text-muted)}.hero-search button{font:inherit;color:var(--color-text-inverse);background:var(--color-primary);border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast);border:0;padding:.75rem 1.4rem;font-weight:600}.hero-search button:hover{background:var(--color-primary-hover)}.hero-search button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.hero-stats{justify-content:center;gap:var(--space-xl) var(--space-2xl);margin-top:var(--space-xl);grid-template-columns:repeat(4,auto);display:grid}@media (max-width:600px){.hero-stats{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));max-width:22rem;margin-inline:auto}}.hero-stat{text-align:center}.hero-stat-number{color:var(--color-primary);font-size:2rem;font-weight:800}.hero-stat-label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem}.categories-section{padding:var(--space-section) 0}.section-title{text-align:center;margin-bottom:var(--space-2xl)}.section-title h2{font-size:1.75rem}.section-title p{color:var(--color-text-muted);max-width:500px;margin:var(--space-sm) auto 0}.category-grid{gap:var(--space-lg);max-width:var(--max-width);padding:0 var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin:0 auto;display:grid}.category-card{align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);transition:all var(--transition-base);text-decoration:none;display:flex}.category-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);text-decoration:none;transform:translateY(-2px)}.category-icon{background:var(--color-primary-light);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;display:flex}.category-info h3{margin-bottom:.25rem;font-size:1rem;font-weight:600}.category-info p{color:var(--color-text-muted);margin:0;font-size:.8rem}.tools-grid{gap:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(280px,1fr));display:grid}.tool-card{padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text);transition:all var(--transition-base);flex-direction:column;text-decoration:none;display:flex}.tools-grid>.tool-card{content-visibility:auto;contain-intrinsic-size:auto 271px}.category-grid>.category-card{content-visibility:auto;contain-intrinsic-size:auto 120px}.tool-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg);text-decoration:none;transform:translateY(-3px)}.tool-card-icon{margin-bottom:var(--space-md);font-size:2rem}.tool-card h3{margin-bottom:var(--space-xs);font-size:1.05rem;font-weight:600}.tool-card p{color:var(--color-text-muted);flex:1;margin:0;font-size:.85rem}.tool-card-badges{gap:var(--space-xs);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.badge{border-radius:var(--radius-full);background:var(--color-surface);color:var(--color-text-secondary);align-items:center;gap:.25rem;padding:.2rem .6rem;font-size:.75rem;font-weight:500;display:inline-flex}.badge-free{color:#047857;background:#ecfdf5}.badge-ai{color:#7c3aed;background:#faf5ff}.badge-api{color:#2563eb;background:#eff6ff}.tool-page{padding-top:var(--space-md)}.tool-hero-section{max-width:var(--content-width);padding:0 var(--space-lg) var(--space-lg);margin:0 auto}.tool-hero-section h1{margin-bottom:.75rem}.tool-breadcrumb{align-items:center;gap:var(--space-sm);color:var(--color-text-muted);margin-bottom:var(--space-md);font-size:.8rem;display:flex}.tool-breadcrumb a{color:var(--color-text-muted);align-items:center;min-height:24px;display:inline-flex}.tool-breadcrumb a:hover{color:var(--color-primary)}.tool-breadcrumb-separator{color:var(--color-border)}.tool-trust-badges{gap:var(--space-md);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.trust-badge{color:var(--color-text-secondary);align-items:center;gap:.3rem;font-size:.8rem;display:flex}.trust-badge-icon{color:var(--color-success)}.tool-container{max-width:var(--content-width);padding:var(--space-lg);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);margin:0 auto}.tool-container h2{margin-bottom:var(--space-sm);font-size:1.25rem}.tool-container h3{margin-bottom:var(--space-sm);font-size:1.05rem}@media (max-width:640px){.tool-row-grid{grid-template-columns:1fr 1fr!important}.tool-row-grid>:last-child{grid-column:1/-1;justify-self:end}}.tool-input-section{margin-bottom:var(--space-xl)}@media (min-width:900px){.tool-fields-2col{gap:var(--space-md) var(--space-lg);grid-template-columns:1fr 1fr;align-items:start;display:grid}.tool-fields-2col>.tool-field-full{grid-column:1/-1}.tool-fields-2col .tool-label{margin-top:0!important}}@media (min-width:1100px){.tool-container.tool-split{column-gap:var(--space-xl);grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start;max-width:1100px;display:grid}.tool-split>*{grid-column:1}.tool-split>.tool-result .reference-table{min-width:0}.tool-split :is(th,td){padding-left:.4rem!important;padding-right:.4rem!important}.tool-split>.tool-result table{font-size:.85rem}.tool-split>.tool-result .reference-table thead th{white-space:normal}.tool-split>.tool-result{top:calc(var(--header-height) + var(--space-md));grid-area:1/2/span 12;margin-top:0;position:sticky;container-type:inline-size}}.tool-container input[type=checkbox],.tool-container input[type=radio]{width:20px;height:20px;accent-color:var(--color-primary);cursor:pointer;margin:4px}.tool-label{margin-bottom:var(--space-sm);color:var(--color-text);font-size:.9rem;font-weight:600;display:block}.tool-input,.tool-textarea,.tool-select{width:100%;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;font-family:var(--font-sans);background:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast)}.tool-input:focus,.tool-textarea:focus,.tool-select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #2563eb1a}.tool-textarea{resize:vertical;min-height:120px;line-height:1.6}.tool-help{color:var(--color-text-muted);margin-top:var(--space-xs);font-size:.8rem;display:block}.tool-button{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-xl);margin-top:var(--space-md);background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:.95rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;isolation:isolate;border:none;min-height:44px;transition:all .4s cubic-bezier(.25,.46,.45,.94);display:inline-flex;position:relative;overflow:hidden}.tool-button:before{content:"";z-index:-1;opacity:0;pointer-events:none;transition:all .45s;position:absolute;inset:0}.tool-button:active:not(:disabled){transform:translateY(1px)scale(.97)}.tool-button:disabled{opacity:.6;cursor:not-allowed}.tool-button[data-effect=fill-slide]:before{opacity:1;border-radius:inherit;background:#00d9ff;transform:translate(-105%)}.tool-button[data-effect=fill-slide]:hover:not(:disabled):before{transform:translate(0)}.tool-button[data-effect=fill-slide]:hover:not(:disabled){color:#fff;box-shadow:0 0 20px #00d9ff59}.tool-button[data-effect=pulse-glow]:hover:not(:disabled){background:#c084fc;animation:1.5s infinite pulseGlow;box-shadow:0 0 20px #c084fc80}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #c084fc4d}50%{box-shadow:0 0 30px #c084fcbf}}.tool-button[data-effect=border-draw]:before{opacity:1;clip-path:inset(0 100% 0 0);background:0 0;border:2px solid #f97185;transition:clip-path .5s}.tool-button[data-effect=border-draw]:after{content:"";clip-path:inset(0 0 0 100%);border-radius:inherit;z-index:-1;pointer-events:none;border:2px solid #f97185;transition:clip-path .5s;position:absolute;inset:0}.tool-button[data-effect=border-draw]:hover:not(:disabled):before,.tool-button[data-effect=border-draw]:hover:not(:disabled):after{clip-path:inset(0)}.tool-button[data-effect=border-draw]:hover:not(:disabled){color:#f97185;background:0 0;box-shadow:0 0 15px #f9718540}.tool-button[data-effect="3d-pop"]{background:linear-gradient(145deg,#e142e3,#8b5cf6);box-shadow:inset 0 1px #ffffff14,0 8px #6d28d9,0 15px 25px #00000059}.tool-button[data-effect="3d-pop"]:hover:not(:disabled){transform:translateY(-5px)scale(1.04);box-shadow:inset 0 1px #ffffff1f,0 14px #6d28d9,0 25px 35px #6d28d961}.tool-button[data-effect="3d-pop"]:active:not(:disabled){transform:translateY(5px)scale(.98);box-shadow:0 1px #6d28d9}.tool-button[data-effect=neon-flicker]:hover:not(:disabled){color:#22d3ee;text-shadow:0 0 8px #22d3eecc;background:#22d3ee26;border:2px solid #22d3ee;animation:1.5s infinite alternate neonFlicker;box-shadow:0 0 10px #22d3ee,0 0 40px #22d3ee4d,0 0 80px #22d3ee1a}@keyframes neonFlicker{0%,19%,21%,23%,25%,54%,56%,to{text-shadow:0 0 8px #22d3ee,0 0 20px #22d3ee;box-shadow:0 0 10px #22d3ee,0 0 40px #22d3ee4d,0 0 80px #22d3ee1a}20%,24%,55%{text-shadow:none;box-shadow:none}}.tool-button[data-effect=gradient-shift]:hover:not(:disabled){background:linear-gradient(270deg,#f43f5e,#a855f7,#3b82f6,#10b981) 0 0/600% 600%;animation:3s infinite gradientShift;transform:translateY(-2px);box-shadow:0 5px 25px #a855f766}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.tool-button[data-effect=ripple-out]:before{opacity:1;background:#fbbf2480;border-radius:50%;width:0;height:0;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.tool-button[data-effect=ripple-out]:hover:not(:disabled):before{width:500px;height:500px}.tool-button[data-effect=ripple-out]:hover:not(:disabled){color:#0f172a;background:#f59e0b;transform:translateY(-2px);box-shadow:0 0 0 4px #f59e0b33,0 8px 25px #f59e0b4d}.tool-button[data-effect=magnetic-lift]{background:linear-gradient(135deg,#0ea5e9,#6366f1)}.tool-button[data-effect=magnetic-lift]:hover:not(:disabled){filter:brightness(1.15);transform:translateY(-8px)scale(1.06)rotate(-1deg);box-shadow:0 20px 40px #6366f14d,0 0 0 2px #6366f11a}.tool-button[data-effect=left-fill]:before{border-radius:inherit;opacity:1;background:#22c55e;width:0;height:100%;transition:width .4s;inset:0 auto auto 0}.tool-button[data-effect=left-fill]:hover:not(:disabled):before{width:100%}.tool-button[data-effect=left-fill]:hover:not(:disabled){color:#fff;box-shadow:0 0 20px #22c55e66}.tool-button[data-effect=center-fill]:before{border-radius:inherit;opacity:1;background:#3b82f6;width:0;height:100%;transition:width .4s;inset:0 auto auto 50%;transform:translate(-50%)}.tool-button[data-effect=center-fill]:hover:not(:disabled):before{width:120%}.tool-button[data-effect=center-fill]:hover:not(:disabled){color:#fff;box-shadow:0 0 25px #3b82f666}.tool-button[data-effect=diagonal-fill]:before{opacity:1;background:#f59e0b;border-radius:0;width:120%;height:100%;transition:left .45s;inset:0 auto auto -125%;transform:skew(-30deg)}.tool-button[data-effect=diagonal-fill]:hover:not(:disabled):before{left:-5%}.tool-button[data-effect=diagonal-fill]:hover:not(:disabled){color:#0f172a;box-shadow:0 0 20px #f59e0b66}.tool-button[data-effect=dual-fill]:before{border-radius:inherit;opacity:1;background:#ec4899;width:0;height:100%;transition:width .35s;inset:0 auto auto 0}.tool-button[data-effect=dual-fill]:after{content:"";border-radius:inherit;z-index:-1;pointer-events:none;background:#ec4899;width:0;height:100%;transition:width .35s;position:absolute;inset:0 0 auto auto}.tool-button[data-effect=dual-fill]:hover:not(:disabled):before,.tool-button[data-effect=dual-fill]:hover:not(:disabled):after{width:50%}.tool-button[data-effect=dual-fill]:hover:not(:disabled){color:#fff;box-shadow:0 0 20px #ec489966}.tool-button[data-effect=liquid-fill]:before{border-radius:inherit;opacity:1;background:#06b6d4;width:100%;height:0;transition:height .45s;inset:auto auto 0 0}.tool-button[data-effect=liquid-fill]:hover:not(:disabled):before{height:100%}.tool-button[data-effect=liquid-fill]:hover:not(:disabled){color:#fff;box-shadow:0 0 20px #06b6d466}.tool-button:not([data-effect]):hover:not(:disabled),.tool-button[data-effect=none]:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.tool-button-secondary{background:var(--color-surface)!important;color:var(--color-text)!important;border:1px solid var(--color-border)!important;box-shadow:none!important}.tool-button-secondary:before,.tool-button-secondary:after{display:none!important}.tool-button-secondary:hover:not(:disabled){transform:translateY(-1px);background:var(--color-border)!important;filter:none!important;animation:none!important}.tool-button-group{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.tool-result{margin-top:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.tool-figure{overflow-wrap:break-word}@media (max-width:640px){.tool-figure{font-size:clamp(1.5rem,8.5vw,2.75rem)!important}}.tool-result-header{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.tool-result-header h3{margin:0;font-size:1.1rem}.tool-copy-btn{padding:var(--space-sm) var(--space-md);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.tool-copy-btn:hover{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.tool-result-content{font-size:.95rem;line-height:1.7}.tool-result-content pre{background:var(--color-text);color:#e2e8f0;padding:var(--space-lg);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.85rem;line-height:1.6;overflow-x:auto}.tool-error{margin-top:var(--space-md);padding:var(--space-md);border-radius:var(--radius-md);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;font-size:.9rem}.ai-loading-banner{padding:var(--space-lg);border-radius:var(--radius-lg);margin-bottom:var(--space-xl);text-align:center;background:linear-gradient(135deg,#faf5ff,#eff6ff);border:1px solid #c4b5fd}.ai-loading-banner p{color:var(--color-text);margin-bottom:var(--space-sm);font-weight:600}.ai-loading-banner small{color:var(--color-text-muted);font-size:.8rem}.progress-bar{background:var(--color-border);border-radius:var(--radius-full);width:100%;height:8px;margin:var(--space-sm) 0;overflow:hidden}.progress-fill{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));border-radius:var(--radius-full);height:100%;transition:width var(--transition-base)}.content-section{max-width:var(--content-width);margin:var(--space-section) auto 0;padding:0 var(--space-lg)}.tool-page>:is(.content-section,.faq-section,.related-tools-section){content-visibility:auto;contain-intrinsic-size:auto 600px}.content-section--tight{margin-top:var(--space-lg)}.starters-section{max-width:var(--max-width);margin-top:var(--space-2xl)}.starters-section .section-title{margin-bottom:var(--space-xl)}.tools-grid--starters{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.content-section h2{margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-primary-light);font-size:1.5rem}.content-section p{color:var(--color-text-secondary);max-width:75ch;font-size:.95rem;line-height:1.8}.content-section ol,.content-section ul{padding-left:var(--space-xl);margin-bottom:var(--space-md)}.content-section li{margin-bottom:var(--space-sm);color:var(--color-text-secondary);line-height:1.7}.related-tools-section{max-width:var(--max-width);margin:var(--space-section) auto 0;padding:0 var(--space-lg)}.faq-section{max-width:var(--content-width);margin:var(--space-section) auto 0;padding:0 var(--space-lg)}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-md);overflow:hidden}.faq-item summary{padding:var(--space-lg);cursor:pointer;color:var(--color-text);transition:background-color var(--transition-fast);justify-content:space-between;align-items:center;font-size:.95rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--color-text-muted);transition:transform var(--transition-fast);font-size:1.25rem}.faq-item[open] summary:after{content:"−"}.faq-item summary:hover{background:var(--color-bg-alt)}.faq-item summary h3{font:inherit;color:inherit;margin:0}.faq-item-answer{padding:0 var(--space-lg) var(--space-lg);color:var(--color-text-secondary);max-width:75ch;margin:0;font-size:.9rem;line-height:1.7}.ad-slot{max-width:var(--content-width);margin:var(--space-xl) auto;background:var(--color-bg-alt);border-radius:var(--radius-md);contain:layout;min-width:min(300px,100%);display:block}.ad-slot--in-content{min-height:280px}.ad-slot--banner{min-height:100px}.ad-slot:has(ins[data-ad-status=unfilled]){display:none}.contact-form{max-width:60ch;margin-bottom:var(--space-lg)}.contact-form .tool-label:not(:first-child){margin-top:var(--space-md)}.contact-form-note{margin:var(--space-md) 0 0;color:var(--color-text-muted);font-size:.85rem}.author-line{max-width:var(--content-width);margin:var(--space-2xl) auto 0;padding:var(--space-md) var(--space-lg);color:var(--color-text-muted);border-top:1px solid var(--color-border);font-size:.8rem}.author-line a{text-underline-offset:2px;padding-block:.3rem;text-decoration:underline}.popular-tools-section{padding:var(--space-section) 0;background:var(--color-bg-alt)}@media (max-width:768px){:root{--space-section:3.5rem}h1{font-size:1.5rem}h2{font-size:1.25rem}.hero h1{font-size:1.75rem}.hero-stats{gap:var(--space-lg)}.hero-stat-number{font-size:1.5rem}.header-search{display:none}.header-nav{gap:var(--space-md)}.footer-grid{gap:var(--space-xl);grid-template-columns:1fr}.category-grid,.tools-grid{grid-template-columns:1fr}.tool-container{border-radius:var(--radius-md);padding:var(--space-lg)}.tool-trust-badges{gap:var(--space-sm) var(--space-md);margin-top:var(--space-sm);flex-flow:wrap}.tool-hero-section{padding-bottom:var(--space-md)}.tool-hero-section h1{margin-bottom:var(--space-sm)}.tool-hero-section p{font-size:.9rem;line-height:1.5}.tool-button-group{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scroll-snap-type:x proximity;padding-bottom:var(--space-xs);background:linear-gradient(to right, var(--color-bg-card) 30%, #fff0) left center / 2rem 100% no-repeat local, linear-gradient(to left, var(--color-bg-card) 30%, #fff0) right center / 2rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, #0f172a29, #0f172a00) left center / .75rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, #0f172a29, #0f172a00) right center / .75rem 100% no-repeat scroll;overflow-x:auto;flex-wrap:nowrap!important}.tool-button-group>*{scroll-snap-align:start;flex:1 0 auto!important}}@media (max-width:480px){.container,.header-inner{padding:0 var(--space-md)}.header-nav a{font-size:.8rem}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.mt-section{margin-top:var(--space-section)}.mb-section{margin-bottom:var(--space-section)}.skeleton{background:linear-gradient(90deg, var(--color-surface) 25%, var(--color-border) 50%, var(--color-surface) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s ease-in-out infinite skeleton-loading}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media print{.site-header,.site-footer,.related-tools-section,.tool-button{display:none}}.tool-intro p+p{margin-top:var(--space-md)}.formula-block{margin-bottom:var(--space-xl)}.formula-block+.formula-block{padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.formula-block h3{margin-bottom:var(--space-sm);color:var(--color-text);font-size:1.05rem}.formula-expression{font-family:var(--font-mono);color:var(--color-text);background:var(--color-bg-alt);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);padding:var(--space-md) var(--space-lg);margin-bottom:var(--space-md);font-size:1rem;line-height:1.6;overflow-x:auto}.formula-key{margin-bottom:var(--space-md)}.formula-key-row{gap:var(--space-md);padding:var(--space-xs) 0;border-bottom:1px dashed var(--color-border);grid-template-columns:minmax(80px,max-content) 1fr;display:grid}.formula-key-row dt{font-family:var(--font-mono);color:var(--color-primary);font-size:.9rem;font-weight:600}.formula-key-row dd{color:var(--color-text-secondary);margin:0;font-size:.9rem;line-height:1.6}.worked-example{background:var(--color-primary-light);border-radius:var(--radius-md);padding:var(--space-lg)}.worked-example h4{text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary-hover);margin-bottom:var(--space-sm);font-size:.8rem}.worked-example-given{margin-bottom:var(--space-sm);font-weight:600;color:var(--color-text)!important}.worked-example ol{padding-left:var(--space-lg);margin-bottom:var(--space-sm)}.worked-example li{font-family:var(--font-mono);font-size:.85rem}.worked-example-result{padding-top:var(--space-sm);border-top:1px solid #2563eb33;margin:0;color:var(--color-text)!important}.reference-table-block+.reference-table-block{margin-top:var(--space-2xl)}.scroll-x,.table-scroll{-webkit-overflow-scrolling:touch;scrollbar-width:thin;background:linear-gradient(to right, var(--color-bg) 30%, #fff0) left center / 2.5rem 100% no-repeat local, linear-gradient(to left, var(--color-bg) 30%, #fff0) right center / 2.5rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, #0f172a29, #0f172a00) left center / .9rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, #0f172a29, #0f172a00) right center / .9rem 100% no-repeat scroll;overflow-x:auto}.scroll-x-wrap{position:relative}.scroll-x-wrap:after{content:"";pointer-events:none;background:linear-gradient(to left, var(--color-bg-card), #fff0);width:2.25rem;position:absolute;top:0;bottom:0;right:0}.scroll-x::-webkit-scrollbar{height:8px}.table-scroll::-webkit-scrollbar{height:8px}.scroll-x::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:999px}.table-scroll::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:999px}.table-scroll{margin:var(--space-md) 0 var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md)}.reference-table{border-collapse:collapse;width:100%;min-width:380px;font-size:.9rem}.reference-table th,.reference-table td{padding:.6rem var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.reference-table thead th{background:var(--color-bg-alt);color:var(--color-text);white-space:nowrap;font-weight:600}.reference-table tbody th{color:var(--color-text);font-weight:600}.reference-table tbody td{color:var(--color-text-secondary)}.reference-table tbody tr:last-child th,.reference-table tbody tr:last-child td{border-bottom:none}.table-source{color:var(--color-text-muted)!important;font-size:.8rem!important}.table-source a{color:var(--color-primary)}.interpretation-block+.interpretation-block{margin-top:var(--space-lg)}.interpretation-block h3{margin-bottom:var(--space-xs);color:var(--color-text);font-size:1rem}.limitations-list li,.sources-list li{margin-bottom:var(--space-sm)}.sources-list a{color:var(--color-primary);font-weight:500}.source-note{color:var(--color-text-muted);font-size:.9em}@media (max-width:480px){.formula-expression{padding:var(--space-md);font-size:.85rem}.formula-key-row{grid-template-columns:1fr;gap:0}.worked-example{padding:var(--space-md)}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.directory-controls{top:var(--header-height);z-index:10;background:var(--color-bg);padding:var(--space-md) 0;margin-bottom:var(--space-md);border-bottom:1px solid var(--color-border);position:sticky}.directory-search input{width:100%;font:inherit;padding:.7rem var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text);font-size:1rem}.directory-search input:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px;border-color:var(--color-primary)}.directory-filters{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.directory-chip{font:inherit;border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-card);min-height:44px;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);padding:.5rem .85rem;font-size:.8rem;line-height:1}.directory-chip:hover{border-color:var(--color-primary);color:var(--color-primary)}.directory-chip.is-active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-inverse)}.directory-count{color:var(--color-text-muted);margin-bottom:var(--space-lg);font-size:.85rem}.directory-empty{padding:var(--space-2xl) 0;text-align:center;color:var(--color-text-secondary)}.link-button{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.directory-group{margin-bottom:var(--space-2xl);content-visibility:auto;contain-intrinsic-size:auto 600px}.directory-group h2{margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-primary-light);font-size:1.15rem}.directory-group h2 a{color:var(--color-text);text-decoration:none}.directory-group h2 a:hover{color:var(--color-primary)}.directory-group-count{color:var(--color-text-muted);font-size:.85rem;font-weight:400}.directory-list{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin:0;padding:0;list-style:none;display:grid}.directory-list a{gap:var(--space-md);padding:.7rem var(--space-md);border-radius:var(--radius-md);transition:background var(--transition-fast), border-color var(--transition-fast);border:1px solid #0000;align-items:flex-start;text-decoration:none;display:flex}.directory-list a:hover{background:var(--color-bg-alt);border-color:var(--color-border)}.directory-item-icon{flex-shrink:0;font-size:1.15rem;line-height:1.4}.directory-item-body{flex-direction:column;min-width:0;display:flex}.directory-item-name{color:var(--color-text);font-size:.92rem;font-weight:600}.directory-item-desc{color:var(--color-text-muted);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;font-size:.8rem;line-height:1.5;display:-webkit-box;overflow:hidden}@media (max-width:700px){.directory-item-desc{-webkit-line-clamp:4;line-clamp:4}}.directory-inline-list{margin:var(--space-md) 0 0;gap:var(--space-sm) var(--space-md);flex-wrap:wrap;padding:0;list-style:none;display:flex}.directory-inline-list a{color:var(--color-primary);font-size:.88rem;text-decoration:none}.directory-inline-list a:hover{text-decoration:underline}.directory-group h2 a{padding-block:.2rem;display:inline-block}@media (max-width:640px){.directory-list{grid-template-columns:1fr}.directory-controls{position:static}.directory-filters{-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:var(--space-xs);background:linear-gradient(to right, var(--color-bg) 30%, #fff0) left center / 2rem 100% no-repeat local, linear-gradient(to left, var(--color-bg) 30%, #fff0) right center / 2rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, #0f172a29, #0f172a00) left center / .75rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, #0f172a29, #0f172a00) right center / .75rem 100% no-repeat scroll;flex-wrap:nowrap;overflow-x:auto}.directory-chip{flex-shrink:0}}.nav-toggle{border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;width:44px;height:44px;color:var(--color-text);background:0 0;justify-content:center;align-items:center;padding:0;display:none}.nav-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-toggle-bars{width:20px;height:14px;display:block;position:relative}.nav-toggle-bars span{width:100%;height:2px;transition:transform var(--transition-base), opacity var(--transition-fast), top var(--transition-base);background:currentColor;border-radius:2px;position:absolute;left:0}.nav-toggle-bars span:first-child{top:0}.nav-toggle-bars span:nth-child(2){top:6px}.nav-toggle-bars span:nth-child(3){top:12px}.nav-toggle-bars.is-open span:first-child{top:6px;transform:rotate(45deg)}.nav-toggle-bars.is-open span:nth-child(2){opacity:0}.nav-toggle-bars.is-open span:nth-child(3){top:6px;transform:rotate(-45deg)}.nav-scrim{display:none}.header-nav a[aria-current=page]{color:var(--color-primary);font-weight:600}@media (max-width:900px){.nav-toggle{z-index:102;display:flex;position:relative}.header-nav{top:var(--header-height);z-index:101;background:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);padding:var(--space-sm) 0;max-height:calc(100dvh - var(--header-height));visibility:hidden;opacity:0;pointer-events:none;transition:opacity var(--transition-base), transform var(--transition-base), visibility var(--transition-base);flex-direction:column;align-items:stretch;gap:0;position:fixed;left:0;right:0;overflow-y:auto;transform:translateY(-8px)}.header-nav.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)}.header-nav a{padding:.85rem var(--space-lg);border-bottom:1px solid var(--color-border);font-size:1rem;display:block}.header-nav a:last-child{border-bottom:none}.nav-scrim{inset:var(--header-height) 0 0;z-index:99;background:#0f172a59;display:block;position:fixed}}@media (min-width:901px){.header-nav{gap:var(--space-lg)}.header-nav a{white-space:nowrap;font-size:.85rem}}html,body{overflow-x:hidden}@media (prefers-reduced-motion:reduce){.nav-toggle-bars span,.header-nav{transition:none}}.footer-column ul li a{min-height:24px;padding:.4rem 0;display:inline-block}@media (max-width:900px){.footer-column ul li a{padding:.55rem 0;display:block}}@media print{.schedule-actions,.tool-trust-badges,.tool-breadcrumb,.faq-section,.content-section,.nav-toggle{display:none!important}.tool-container{box-shadow:none;border:0;max-width:none;padding:0}.tool-result table{font-size:10pt}.tool-result thead{display:table-header-group}.tool-result tr{break-inside:avoid}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-primary:#5b8def;--color-primary-hover:#7ba6f5;--color-primary-light:#16243d;--color-secondary:#34d399;--color-secondary-hover:#6ee7b7;--color-accent:#fbbf24;--color-bg:#0f172a;--color-bg-alt:#1a2436;--color-bg-card:#1a2436;--color-surface:#26344a;--color-text:#f1f5f9;--color-text-secondary:#c3ccda;--color-text-muted:#94a3b8;--color-text-inverse:#0f172a;--color-border:#2e3d54;--color-border-hover:#3d4f6b;--color-success:#34d399;--color-success-text:#6ee7b7;--color-error:#f87171;--color-warning:#fbbf24;--color-info:#5b8def;--color-header-bg:#0f172ae6}:root[data-theme=dark] .badge-free{color:#6ee7b7;background:#12362b}:root[data-theme=dark] .badge-ai{color:#c4b5fd;background:#2a1f47}:root[data-theme=dark] .badge-api{color:#93c5fd;background:#172a4d}:root[data-theme=dark] .tool-error{color:#fca5a5;background:#3a1a1d;border-color:#6b2c30}:root[data-theme=dark] .ai-loading-banner{background:linear-gradient(135deg,#2a1f47,#172a4d);border-color:#4c3d7a}
