*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}img,svg{display:block;max-width:100%}a{color:inherit;text-decoration:none}ol,ul{list-style:none}:root{--color-primary:#0F172A;--color-secondary:#6366F1;--color-accent:#22D3EE;--color-surface:#F8FAFC;--color-surface-dark:#0F172A;--color-text:#1E293B;--color-text-muted:#64748B;--color-border:#E2E8F0;--color-white:#ffffff;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.06);--shadow-lg:0 10px 25px rgba(0,0,0,.1),0 4px 10px rgba(0,0,0,.06);--transition:200ms ease}:root.dark{--color-primary:#c4b5fd;--color-secondary:#818cf8;--color-accent:#22d3ee;--color-surface:#1e1b2e;--color-surface-dark:#0f0b1a;--color-text:#e2e0ea;--color-text-muted:#9895a8;--color-border:#2e2a40;--color-white:#1a1726;color-scheme:dark}:root.dark body{background:#13101e}:root.dark .header{background:#0f0b1a}:root.dark .hero{background:linear-gradient(135deg,#0f0b1a,#1e1b2e)}:root.dark .footer{background:#0a0812}:root.dark .bulk-item,:root.dark .card,:root.dark .faq-question,:root.dark .stat-card,:root.dark .tool-card,:root.dark .tool-form{background:#1a1726}:root.dark img{opacity:.92}body{font-family:var(--font-body),system-ui,sans-serif;color:var(--color-text);background:var(--color-white);line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3,h4{font-family:var(--font-display),system-ui,sans-serif;font-weight:700;line-height:1.2;color:var(--color-primary)}h1{font-size:2.5rem}h2{font-size:1.75rem}h3{font-size:1.25rem}p{margin-bottom:1rem}code{font-family:var(--font-mono),monospace;font-size:.9em}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.grid{display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:1fr}@media (min-width:640px){.grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.grid{grid-template-columns:repeat(3,1fr)}}.header{background:var(--color-primary);color:var(--color-white);padding:1rem 0;position:-webkit-sticky;position:sticky;top:0;z-index:50}.header-inner{display:flex;align-items:center;justify-content:space-between}.header-logo{font-family:var(--font-display),system-ui,sans-serif;font-size:1.25rem;font-weight:800;color:var(--color-white)}.header-nav{display:flex;gap:1.5rem;align-items:center}.header-nav a{color:rgba(255,255,255,.8);font-size:.9rem;font-weight:500;transition:color var(--transition)}.header-nav a:hover,.hero{color:var(--color-white)}.hero{background:linear-gradient(135deg,var(--color-primary) 0,#1e293b 100%);padding:5rem 0 4rem;text-align:center}.hero h1{color:var(--color-white);font-size:3rem;margin-bottom:1rem}.hero p{color:rgba(255,255,255,.75);font-size:1.2rem;max-width:640px;margin:0 auto 2rem}@media (max-width:640px){.hero h1{font-size:2rem}.hero p{font-size:1rem}}.section{padding:4rem 0}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.card{background:var(--color-white);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;transition:box-shadow var(--transition),transform var(--transition);display:flex;flex-direction:column}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-title{font-size:1.15rem;margin-bottom:.5rem}.card-description{color:var(--color-text-muted);font-size:.9rem;flex:1 1}.card-meta{display:flex;align-items:center;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.badge{display:inline-block;padding:.2rem .6rem;border-radius:9999px;font-size:.75rem;font-weight:500;background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.badge-primary{background:var(--color-secondary);color:var(--color-white);border-color:var(--color-secondary)}.badge-accent{background:var(--color-accent);color:var(--color-primary);border-color:var(--color-accent)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.25rem;border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;transition:background var(--transition),transform var(--transition);cursor:pointer;border:none}.btn-primary{background:var(--color-secondary);color:var(--color-white)}.btn-primary:hover{background:#4f46e5}.btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn-outline:hover,.detail-header{background:var(--color-surface)}.detail-header{padding:3rem 0 2rem;border-bottom:1px solid var(--color-border)}.detail-body{padding:2rem 0 4rem}.detail-grid{display:grid;grid-gap:2rem;gap:2rem;grid-template-columns:1fr}@media (min-width:768px){.detail-grid{grid-template-columns:2fr 1fr}}.detail-sidebar{background:var(--color-surface);border-radius:var(--radius);padding:1.5rem;align-self:start}.detail-sidebar dt{font-size:.8rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:1rem}.detail-sidebar dt:first-child{margin-top:0}.detail-sidebar dd{font-weight:500;margin-top:.25rem}.pros-cons{display:grid;grid-gap:1.5rem;gap:1.5rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}@media (max-width:640px){.pros-cons{grid-template-columns:1fr}}.pros-cons ul{list-style:none}.pros-cons li{padding:.4rem 0 .4rem 1.5rem;position:relative;font-size:.9rem}.pros-cons li:before{position:absolute;left:0}.pros li:before{content:"+";color:#22c55e;font-weight:700}.cons li:before{content:"-";color:#ef4444;font-weight:700}.rating{font-weight:600;color:var(--color-secondary)}.footer{background:var(--color-primary);color:rgba(255,255,255,.6);padding:3rem 0;font-size:.85rem}.footer-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer a{color:rgba(255,255,255,.8);transition:color var(--transition)}.footer a:hover{color:var(--color-white)}.back-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-secondary);font-size:.9rem;font-weight:500;margin-bottom:1.5rem}.back-link:hover{text-decoration:underline}.page-header{padding:3rem 0;background:var(--color-surface);border-bottom:1px solid var(--color-border);margin-bottom:3rem}.category-icon{font-size:2rem;margin-bottom:.5rem}body,html{overflow-x:hidden;max-width:100vw}.result-display,input,select,textarea{max-width:100%;overflow-wrap:break-word;word-break:break-word;box-sizing:border-box}.calculator,.card,.tool-container{width:100%;max-width:100%;box-sizing:border-box}.result-display{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow:hidden}table{display:block;-webkit-overflow-scrolling:touch}code,pre,table{overflow-x:auto;max-width:100%}.break-all,code,pre{word-break:break-all}.break-all{overflow-wrap:anywhere}.trust-bar{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;padding:1rem 0;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.trust-bar-item{display:inline-flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:500;color:var(--color-text-muted)}.trust-bar-item svg{color:var(--color-secondary)}.tool-grid{display:grid;grid-gap:1.25rem;gap:1.25rem;grid-template-columns:1fr}@media (min-width:640px){.tool-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.tool-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.tool-grid{grid-template-columns:repeat(4,1fr)}}.tool-card{background:var(--color-white,#fff);border:1px solid var(--color-border);border-radius:var(--radius);padding:1.75rem;transition:box-shadow var(--transition),transform var(--transition),border-color var(--transition);display:flex;flex-direction:column}.tool-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px);border-color:var(--color-secondary);border-left:3px solid var(--color-secondary)}.tool-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:rgba(59,130,246,.08);border-radius:10px;color:var(--color-secondary);margin-bottom:.75rem}.tool-card h3{font-size:1.05rem;margin-bottom:.5rem}.tool-card p{font-size:.85rem;color:var(--color-text-muted);flex:1 1;margin-bottom:1rem}.tool-card .card-arrow{font-size:.85rem;font-weight:600;color:var(--color-secondary);display:inline-flex;align-items:center;gap:.35rem}.tool-page{padding:2rem 0 4rem}.tool-page-grid{display:grid;grid-gap:2rem;gap:2rem;grid-template-columns:1fr}@media (min-width:768px){.tool-page-grid{grid-template-columns:1fr 300px}}.tool-sidebar{align-self:start}.tool-form{background:var(--color-white,#fff);border:1px solid var(--color-border);border-radius:var(--radius);padding:2rem;margin-bottom:2rem}.tool-form label{display:block;font-size:.85rem;font-weight:600;color:var(--color-text);margin-bottom:.35rem;letter-spacing:.01em}.tool-form .field{margin-bottom:1.25rem}.tool-form input[type=number],.tool-form input[type=text],.tool-form select,.tool-form textarea{width:100%;padding:.7rem .9rem;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);font-size:.95rem;font-family:var(--font-body),system-ui,sans-serif;color:var(--color-text);background:var(--color-white,#fff);transition:border-color var(--transition),box-shadow var(--transition);outline:none}.tool-form textarea{min-height:150px;resize:vertical;font-family:var(--font-mono),monospace;font-size:.88rem;line-height:1.6}.tool-form input:focus,.tool-form select:focus,.tool-form textarea:focus{border-color:var(--color-secondary);box-shadow:0 0 0 3px rgba(14,165,233,.15)}.tool-form .row{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:480px){.tool-form .row{grid-template-columns:1fr}}.tool-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1.5rem;font-size:.9rem;font-weight:600;font-family:var(--font-body),system-ui,sans-serif;border:none;border-radius:var(--radius-sm);cursor:pointer;background:var(--color-secondary);color:var(--color-white,#fff);transition:background var(--transition),transform var(--transition)}.tool-btn:hover{background:#0284c7;transform:translateY(-1px)}.tool-btn:active{transform:translateY(0)}.tool-btn-outline{background:transparent;border:1.5px solid var(--color-border);color:var(--color-text)}.tool-btn-outline:hover{background:var(--color-surface);transform:translateY(-1px)}.tool-btn-sm{padding:.45rem .9rem;font-size:.8rem}.btn-row{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.result-box{background:var(--color-primary);border-radius:var(--radius);padding:1.5rem;color:var(--color-white,#fff);margin-bottom:2rem;position:relative}.result-box pre{white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono),monospace;font-size:.88rem;line-height:1.6;margin:0}.result-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.7;margin-bottom:.5rem}.copy-btn{position:absolute;top:.75rem;right:.75rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-sm);color:var(--color-white,#fff);padding:.4rem .7rem;font-size:.75rem;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:background var(--transition)}.copy-btn:hover{background:rgba(255,255,255,.2)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:1rem;gap:1rem;margin-bottom:2rem}.stat-card{background:var(--color-white,#fff);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1rem;text-align:center}.stat-value{font-family:var(--font-display),system-ui,sans-serif;font-size:1.75rem;font-weight:700;color:var(--color-secondary);line-height:1.2}.stat-label{font-size:.8rem;color:var(--color-text-muted);margin-top:.25rem}.toggle-group{display:inline-flex;border:1.5px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden;margin-bottom:1rem}.toggle-group button{padding:.5rem 1rem;font-size:.82rem;font-weight:600;font-family:var(--font-body),system-ui,sans-serif;border:none;cursor:pointer;transition:background var(--transition),color var(--transition);background:var(--color-white,#fff);color:var(--color-text-muted)}.toggle-group button.active{background:var(--color-secondary);color:var(--color-white,#fff)}.faq-section{margin:3rem 0}.faq-section h2{margin-bottom:1.5rem}.faq-item{border:1px solid var(--color-border);border-radius:var(--radius-sm);margin-bottom:.75rem;overflow:hidden}.faq-question{width:100%;text-align:left;padding:1rem 1.25rem;font-size:.95rem;font-weight:600;font-family:var(--font-body),system-ui,sans-serif;background:var(--color-white,#fff);border:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--color-text);transition:background var(--transition)}.faq-question:hover{background:var(--color-surface)}.faq-question .faq-icon{font-size:1.25rem;font-weight:400;color:var(--color-text-muted);transition:transform var(--transition);flex-shrink:0;margin-left:1rem}.faq-item.open .faq-icon{transform:rotate(45deg)}.faq-answer{padding:0 1.25rem 1rem;font-size:.9rem;color:var(--color-text-muted);line-height:1.7;display:none}.faq-item.open .faq-answer{display:block}.related-tools{background:var(--color-surface);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.5rem}.related-tools h3{font-size:1rem;margin-bottom:1rem}.related-tools a{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.9rem;color:var(--color-secondary);font-weight:500;transition:color var(--transition)}.related-tools a:hover{color:#0284c7}.info-box{background:var(--color-surface);border-left:3px solid var(--color-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:1.25rem;margin:1.5rem 0;font-size:.9rem;color:var(--color-text);line-height:1.7}.info-box h3{font-size:.95rem;margin-bottom:.5rem}.mobile-menu-btn{display:none;background:none;border:none;color:var(--color-white,#fff);font-size:1.5rem;cursor:pointer;padding:.25rem}@media (max-width:768px){.mobile-menu-btn{display:block}.header-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-primary);padding:1rem 1.5rem;flex-direction:column;gap:.75rem;border-top:1px solid rgba(255,255,255,.1)}.header-nav.open{display:flex}}.diff-container{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem;margin-bottom:1rem}@media (max-width:640px){.diff-container{grid-template-columns:1fr}}.diff-output{font-family:var(--font-mono),monospace;font-size:.85rem;line-height:1.8;white-space:pre-wrap;word-break:break-all}.diff-added{background:rgba(34,197,94,.15);color:#16a34a}.diff-removed{background:rgba(239,68,68,.15);color:#dc2626}.diff-line{padding:.1rem .5rem;display:block}.md-preview{background:var(--color-white,#fff);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1.5rem;min-height:200px;line-height:1.8}.md-preview h1{font-size:2rem;margin:1rem 0 .5rem}.md-preview h2{font-size:1.5rem;margin:1rem 0 .5rem}.md-preview h3{font-size:1.25rem;margin:.75rem 0 .5rem}.md-preview p{margin-bottom:.75rem}.md-preview code{background:var(--color-surface);padding:.15rem .4rem;border-radius:4px;font-size:.88em}.md-preview pre{background:var(--color-primary);color:var(--color-white,#fff);padding:1rem;border-radius:var(--radius-sm);margin:.75rem 0;overflow-x:auto}.md-preview pre code{background:none;padding:0;color:inherit}.md-preview ol,.md-preview ul{padding-left:1.5rem;margin-bottom:.75rem}.md-preview ul{list-style:disc}.md-preview ol{list-style:decimal}.md-preview li{margin-bottom:.25rem}.md-preview blockquote{border-left:3px solid var(--color-secondary);padding-left:1rem;margin:.75rem 0;color:var(--color-text-muted)}.md-preview a{color:var(--color-secondary);text-decoration:underline}.md-preview hr{border:none;border-top:1px solid var(--color-border);margin:1rem 0}.md-preview strong{font-weight:700}.md-preview em{font-style:italic}.md-preview table{width:100%;border-collapse:collapse;margin:.75rem 0}.md-preview td,.md-preview th{border:1px solid var(--color-border);padding:.5rem .75rem;text-align:left}.md-preview th{background:var(--color-surface);font-weight:600}.json-key{color:#0ea5e9}.json-string{color:#22c55e}.json-number{color:#f97316}.json-boolean{color:#a855f7}.json-null{color:#64748b}.regex-match{background:rgba(14,165,233,.25);border-bottom:2px solid var(--color-secondary);padding:0 1px}.color-preview{width:100%;height:120px;border-radius:var(--radius);border:1px solid var(--color-border);margin-bottom:1rem}.color-input-row{display:grid;grid-template-columns:60px 1fr;grid-gap:.75rem;gap:.75rem;align-items:center;margin-bottom:.75rem}.color-input-row label{font-weight:600;font-size:.85rem;color:var(--color-text-muted)}.two-col-textarea{display:grid;grid-template-columns:1fr 1fr;grid-gap:1rem;gap:1rem}@media (max-width:640px){.two-col-textarea{grid-template-columns:1fr}}