:root{--indigo:#4f46e5;--indigo-dark:#4338ca;--indigo-light:#eef2ff;--ink:#0f172a;--muted:#64748b;--bg:#fff;--soft:#f8fafc;--border:#e2e8f0;--radius:18px;--shadow-sm:0 1px 2px #0f172a0d;--shadow-md:0 8px 24px -8px #4f46e52e;--shadow-lg:0 24px 48px -16px #4f46e538}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif;line-height:1.6}h1,h2,h3{letter-spacing:-.02em;font-family:Space Grotesk,sans-serif}a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:0 auto;padding:0 24px}header{z-index:50;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--border);background:#ffffffd9;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;height:72px;display:flex}.logo{align-items:center;gap:10px;font-family:Space Grotesk,sans-serif;font-size:1.2rem;font-weight:700;display:flex}.logo-mark{color:#fff;width:38px;height:38px;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;justify-content:center;align-items:center;font-size:1.15rem;font-weight:700;display:flex}.logo span.accent{color:var(--indigo)}.nav-links{align-items:center;gap:32px;display:flex}.nav-links a{color:var(--muted);font-size:.95rem;font-weight:500;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--ink)}.btn{cursor:pointer;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#6366f1,#4f46e5);border:0;border-radius:999px;align-items:center;gap:8px;padding:11px 22px;font-family:inherit;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex;color:#fff!important}.btn:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.hero{text-align:center;background:radial-gradient(600px 300px at 15% 10%,#6366f11a,#0000 60%),radial-gradient(700px 350px at 85% 20%,#8b5cf61a,#0000 60%),radial-gradient(500px 260px at 50% 100%,#38bdf814,#0000 60%);padding:88px 0 64px;position:relative;overflow:hidden}.hero:before{content:"";background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);opacity:.35;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 50% 30%,#000 30%,#0000 75%);mask-image:radial-gradient(70% 60% at 50% 30%,#000 30%,#0000 75%)}.hero-inner{max-width:820px;margin:0 auto;padding:0 24px;position:relative}.badge{border:1px solid var(--border);color:var(--muted);box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;align-items:center;gap:8px;margin-bottom:22px;padding:7px 16px;font-size:.82rem;font-weight:600;display:inline-flex}.badge .dot{background:#22c55e;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #22c55e26}.hero h1{margin-bottom:18px;font-size:clamp(2.4rem,5.4vw,3.9rem);line-height:1.1}.hero h1 .grad{background:linear-gradient(120deg,#4f46e5,#8b5cf6);color:#0000;-webkit-background-clip:text;background-clip:text}.hero p.lead{color:var(--muted);max-width:620px;margin:0 auto 34px;font-size:1.12rem}.search-box{border:1px solid var(--border);max-width:640px;box-shadow:var(--shadow-lg);background:#fff;border-radius:20px;align-items:center;gap:8px;margin:0 auto;padding:8px 8px 8px 20px;transition:box-shadow .2s,border-color .2s;display:flex}.search-box:focus-within{border-color:var(--indigo);box-shadow:0 0 0 4px #4f46e51f,var(--shadow-lg)}.search-box svg{color:var(--muted);flex-shrink:0}.search-box .row{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.search-box input{color:var(--ink);background:0 0;border:0;outline:0;flex:1;min-width:0;font-family:inherit;font-size:1.02rem}.search-box input::placeholder{color:#94a3b8}.stats{flex-wrap:wrap;justify-content:center;gap:36px;margin-top:40px;display:flex}.stat{text-align:center}.stat b{color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:1.7rem;display:block}.stat span{color:var(--muted);font-size:.85rem;font-weight:500}section{padding:60px 0}.sec-head{text-align:center;max-width:640px;margin:0 auto 36px}.kicker{letter-spacing:.12em;text-transform:uppercase;color:var(--indigo);background:var(--indigo-light);border-radius:999px;margin-bottom:14px;padding:6px 14px;font-size:.78rem;font-weight:700;display:inline-block}.sec-head h2{margin-bottom:12px;font-size:clamp(1.7rem,3.4vw,2.4rem)}.sec-head p{color:var(--muted)}.cat-grid{grid-template-columns:repeat(5,1fr);gap:18px;display:grid}.cat-card{border:1px solid var(--border);border-radius:var(--radius);text-align:center;cursor:pointer;background:#fff;padding:26px 20px;transition:transform .22s,box-shadow .22s,border-color .22s;position:relative}.cat-card:hover{box-shadow:var(--shadow-lg);border-color:#c7d2fe;transform:translateY(-6px)}.cat-icon{color:#fff;border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 14px;display:flex}.cat-card h3{margin-bottom:4px;font-size:1.02rem}.cat-card p{color:var(--muted);font-size:.83rem}.cat-card .go{color:#c7d2fe;transition:color .2s,transform .2s;position:absolute;top:16px;right:16px}.cat-card:hover .go{color:var(--indigo);transform:translate(3px)}#tools{background:var(--soft)}.toolbar{z-index:40;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#f8fafceb;margin-bottom:36px;padding:14px 0;position:sticky;top:72px}.toolbar-inner{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.pill{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:9px 18px;font-family:inherit;font-size:.86rem;font-weight:600;transition:all .2s}.pill:hover{color:var(--indigo);border-color:#c7d2fe}.pill.active{background:var(--ink);border-color:var(--ink);color:#fff}.count{color:var(--muted);margin-left:auto;font-size:.85rem;font-weight:500}.tool-group{margin-bottom:44px}.tool-group:last-child{margin-bottom:0}.group-head{align-items:center;gap:12px;margin-bottom:20px;display:flex}.group-head .g-icon{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.group-head h3{font-size:1.25rem}.group-head .n{color:var(--muted);border:1px solid var(--border);background:#fff;border-radius:999px;padding:3px 12px;font-size:.78rem;font-weight:700}.tool-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;display:grid}.tool-card{border:1px solid var(--border);background:#fff;border-radius:16px;padding:20px;transition:transform .2s,box-shadow .2s,border-color .2s;display:block;position:relative}.tool-card:hover{box-shadow:var(--shadow-md);border-color:#c7d2fe;transform:translateY(-4px)}.tool-card .t-icon{color:#fff;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;margin-bottom:14px;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700;display:flex}.tool-card h4{margin-bottom:6px;font-family:Inter,sans-serif;font-size:.99rem;font-weight:600}.tool-card p{color:var(--muted);font-size:.85rem;line-height:1.55}.tool-card .arrow{color:#c7d2fe;transition:color .2s,transform .2s;position:absolute;top:18px;right:18px}.tool-card:hover .arrow{color:var(--indigo);transform:translate(2px,-2px)}.no-results{text-align:center;border:1px dashed var(--border);border-radius:var(--radius);background:#fff;padding:60px 20px}.no-results h3{margin-bottom:8px}.no-results p{color:var(--muted);font-size:.92rem}.feat-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.feat{background:var(--soft);border:1px solid var(--border);border-radius:var(--radius);text-align:center;padding:30px 24px;transition:transform .2s,box-shadow .2s}.feat:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.feat .f-icon{background:var(--indigo-light);width:52px;height:52px;color:var(--indigo);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 16px;display:flex}.feat h3{margin-bottom:8px;font-size:1.02rem}.feat p{color:var(--muted);font-size:.88rem}#faq{background:var(--soft)}.faq-list{flex-direction:column;gap:12px;max-width:780px;margin:0 auto;display:flex}.faq{border:1px solid var(--border);background:#fff;border-radius:14px;transition:box-shadow .2s;overflow:hidden}.faq.open{box-shadow:var(--shadow-md)}.faq-q{text-align:left;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-family:inherit;font-size:1rem;font-weight:600;display:flex}.faq-q .plus{background:var(--indigo-light);width:30px;height:30px;color:var(--indigo);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.2rem;font-weight:400;transition:transform .25s,background .25s,color .25s;display:flex}.faq.open .plus{background:var(--indigo);color:#fff;transform:rotate(45deg)}.faq-a{max-height:0;transition:max-height .3s;overflow:hidden}.faq-a p{color:var(--muted);padding:0 24px 22px;font-size:.94rem}.cta-banner{text-align:center;color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);border-radius:28px;padding:64px 40px;position:relative;overflow:hidden}.cta-banner:before{content:"";background-image:radial-gradient(#ffffff24 1.5px,#0000 1.5px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 90%,#000,#0000 80%);mask-image:radial-gradient(80% 90%,#000,#0000 80%)}.cta-banner h2{margin-bottom:12px;font-size:clamp(1.6rem,3.4vw,2.3rem);position:relative}.cta-banner p{opacity:.85;margin-bottom:28px;position:relative}.cta-banner .btn{background:#fff;position:relative;box-shadow:0 12px 30px -8px #00000059;color:var(--indigo-dark)!important}footer{color:#cbd5e1;background:#0b1226;margin-top:72px;padding:64px 0 0}.foot-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;padding-bottom:48px;display:grid}.foot-brand .logo{color:#fff;margin-bottom:14px}.foot-brand p{color:#94a3b8;max-width:300px;font-size:.9rem}footer h4{color:#fff;margin-bottom:16px;font-family:Inter,sans-serif;font-size:.95rem}footer ul{flex-direction:column;gap:10px;list-style:none;display:flex}footer ul a{color:#94a3b8;font-size:.9rem;transition:color .2s}footer ul a:hover{color:#fff}.foot-bottom{color:#64748b;border-top:1px solid #94a3b826;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:22px 0;font-size:.85rem;display:flex}.tool-shell{max-width:900px;margin:0 auto;padding:48px 24px 72px}.tool-shell>h1{margin:14px 0 8px;font-size:clamp(1.9rem,4vw,2.8rem)}.breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:.86rem;font-weight:500;display:flex}.breadcrumb a:hover{color:var(--indigo)}.breadcrumb .sep{color:#cbd5e1}.breadcrumb .current{color:var(--ink);font-weight:600}.tool-ui-card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);background:#fff;margin:28px 0 48px;padding:32px}.shell-section{margin-bottom:40px}.shell-section h2{margin-bottom:14px;font-size:1.45rem}.shell-section p{color:var(--ink)}.shell-section>p{color:var(--muted);max-width:70ch}.shell-section ol,.shell-section ul{color:var(--muted);flex-direction:column;gap:10px;padding-left:22px;display:flex}.shell-section li::marker{color:var(--indigo);font-weight:700}.faq-item{border:1px solid var(--border);background:#fff;border-radius:14px;overflow:hidden}.faq-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;font-size:.98rem;font-weight:600;list-style:none;display:flex}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:hover{color:var(--indigo)}.faq-item summary:after{content:"+";background:var(--indigo-light);width:28px;height:28px;color:var(--indigo);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;display:flex}.faq-item[open] summary:after{content:"−";background:var(--indigo);color:#fff}.faq-item p{color:var(--muted);padding:0 22px 20px;font-size:.93rem}.related-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.related-card{border:1px solid var(--border);background:#fff;border-radius:12px;padding:14px 16px;font-size:.9rem;font-weight:600;transition:all .2s;display:block}.related-card:hover{color:var(--indigo);box-shadow:var(--shadow-sm);border-color:#c7d2fe;transform:translateY(-2px)}.tool-ui-card label{margin-bottom:8px;font-size:.9rem;font-weight:600;display:block}.tool-ui-card textarea,.tool-ui-card input[type=text],.tool-ui-card input[type=number],.tool-ui-card select{border:1px solid var(--border);width:100%;color:var(--ink);background:var(--soft);border-radius:12px;outline:0;padding:12px 14px;font-family:inherit;font-size:.98rem;transition:border-color .2s,box-shadow .2s}.tool-ui-card textarea{resize:vertical;min-height:140px}.tool-ui-card textarea:focus,.tool-ui-card input:focus,.tool-ui-card select:focus{border-color:var(--indigo);background:#fff;box-shadow:0 0 0 4px #4f46e51f}.tool-ui-card .btn-row{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}.tool-ui-card .btn-tool{color:#fff;cursor:pointer;box-shadow:var(--shadow-md);background:linear-gradient(135deg,#6366f1,#4f46e5);border:0;border-radius:999px;padding:11px 22px;font-family:inherit;font-size:.92rem;font-weight:600;transition:transform .2s,box-shadow .2s}.tool-ui-card .btn-tool:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.tool-ui-card .btn-tool.secondary{color:var(--ink);border:1px solid var(--border);box-shadow:none;background:#fff}.tool-ui-card .btn-tool.secondary:hover{color:var(--indigo);border-color:#c7d2fe}.tool-ui-card .output-box{background:var(--soft);border:1px dashed var(--border);white-space:pre-wrap;word-break:break-word;border-radius:12px;min-height:80px;margin-top:8px;padding:18px;font-size:.95rem}.tool-ui-card .stat-row{flex-wrap:wrap;gap:18px;margin-top:14px;display:flex}.tool-ui-card .stat-chip{background:var(--indigo-light);color:var(--indigo-dark);border-radius:999px;padding:6px 16px;font-size:.85rem;font-weight:600}.tool-ui-card .tool-form{flex-direction:column;gap:18px;display:flex}.tool-ui-card .style-row{border:1px solid var(--border);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.tool-ui-card .style-row .row-body{flex:1;min-width:0}.tool-ui-card .style-row .row-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.78rem;font-weight:700}.tool-ui-card .style-row .row-output{word-break:break-word;margin-top:6px;font-size:1.05rem}.tool-ui-card .btn-tool:disabled{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#e2e8f0;transform:none}.tool-ui-card .btn-tool.small{padding:8px 16px;font-size:.85rem}.tool-ui-card .check-row{cursor:pointer;align-items:center;gap:10px;font-size:.93rem;font-weight:500;display:flex}.tool-ui-card .check-row input{width:18px;height:18px;accent-color:var(--indigo)}.tool-ui-card .pill-group{flex-wrap:wrap;gap:8px;display:flex}.tool-ui-card .pill{border:1px solid var(--border);cursor:pointer;color:var(--ink);background:#fff;border-radius:999px;padding:8px 16px;font-family:inherit;font-size:.88rem;font-weight:600;transition:all .2s}.tool-ui-card .pill:hover{border-color:#c7d2fe}.tool-ui-card .pill.active{background:var(--indigo);border-color:var(--indigo);color:#fff}.tool-ui-card .field-hint{color:var(--muted);margin-top:6px;font-size:.82rem}@media (max-width:1024px){.cat-grid{grid-template-columns:repeat(3,1fr)}.feat-grid{grid-template-columns:repeat(2,1fr)}.foot-grid{grid-template-columns:1fr 1fr}}@media (max-width:640px){.nav-links{display:none}.cat-grid{grid-template-columns:repeat(2,1fr)}.feat-grid{grid-template-columns:1fr}.hero{padding:60px 0 48px}.search-box{border-radius:16px;flex-direction:column;align-items:stretch;padding:12px}.search-box .row{padding:4px 8px}.search-box .btn{justify-content:center}.foot-grid{grid-template-columns:1fr}.count{width:100%;margin-left:0}.tool-ui-card{padding:20px}.tool-shell,.legal-wrap{padding:32px 16px 56px}}.prose{color:#1e293b;max-width:none;font-size:1rem;line-height:1.75}.prose h1{color:#0f172a;letter-spacing:-.02em;margin:0 0 1rem;font-size:2rem;font-weight:800}.prose h2{color:#0f172a;margin:2rem 0 .75rem;font-size:1.35rem;font-weight:700}.prose h3{color:#0f172a;margin:1.5rem 0 .5rem;font-size:1.1rem;font-weight:700}.prose p{margin:0 0 1rem}.prose ul,.prose ol{margin:0 0 1rem;padding-left:1.5rem}.prose li{margin-bottom:.4rem}.prose a{color:#4f46e5;text-decoration:underline}.prose strong{color:#0f172a}.legal-wrap{max-width:820px;margin:0 auto;padding:48px 24px 72px}.legal-wrap .prose h1{margin-bottom:16px}
