@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.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:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.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:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
:root{--bg:#0f1115;--panel:#161a22;--panel-2:#1b2130;--border:#2a3142;--text:#f5f7fb;--muted:#a8b1c3;--primary:#7c9cff;--primary-strong:#9eb3ff;--success:#7bd88f;--danger:#ff7b7b;--shadow:0 10px 30px #00000040;--radius:16px}*{box-sizing:border-box}html,body{background:radial-gradient(circle at top,#7c9cff14,transparent 35%),var(--bg);color:var(--text);margin:0;padding:0;font-family:Inter,Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}input,textarea,button{font:inherit}.container{max-width:1100px;margin:0 auto;padding:0 20px}.page{max-width:1100px;margin:56px auto;padding:0 20px}.card{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.soft-card{border:1px solid var(--border);border-radius:var(--radius);background:#ffffff06}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;align-items:center;padding:6px 12px;font-size:13px;display:inline-flex}.section-title{margin:0 0 18px;font-size:28px}.muted{color:var(--muted)}.hero-title{letter-spacing:-.03em;margin:0 0 14px;font-size:clamp(36px,6vw,56px);line-height:1.05}.hero-text{color:var(--muted);max-width:760px;font-size:18px;line-height:1.7}.grid-tools{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;display:grid}.tool-card{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);box-shadow:var(--shadow);border-radius:18px;padding:22px;transition:transform .18s,border-color .18s,background .18s;display:block}.tool-card:hover{border-color:#42506c;transform:translateY(-2px)}.tool-card h3{margin:0 0 10px;font-size:20px}.tool-card p{margin:0;line-height:1.6}.tool-meta{color:var(--muted);margin-top:14px;font-size:14px}.chip-row{flex-wrap:wrap;gap:12px;display:flex}.chip{border:1px solid var(--border);color:var(--text);background:#ffffff05;border-radius:999px;padding:10px 14px;transition:border-color .18s,background .18s}.chip:hover{background:#ffffff0a;border-color:#42506c}.input{border:1px solid var(--border);width:100%;color:var(--text);background:#ffffff05;border-radius:12px;outline:none;padding:14px 16px}.input::placeholder,.textarea::placeholder{color:#7e889a}.textarea{border:1px solid var(--border);width:100%;min-height:150px;color:var(--text);resize:vertical;background:#ffffff05;border-radius:12px;outline:none;padding:14px 16px}.button{background:linear-gradient(180deg,var(--primary-strong),var(--primary));color:#0f1320;cursor:pointer;border:1px solid #0000;border-radius:12px;width:100%;padding:13px 16px;font-weight:700;transition:transform .18s,opacity .18s}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.7;cursor:not-allowed}.secondary-button{border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:12px;padding:13px 16px;font-weight:600}.result-box{border:1px solid var(--border);white-space:pre-wrap;background:#ffffff08;border-radius:14px;margin-top:18px;padding:18px;line-height:1.7}.table-wrap{overflow-x:auto}.table{border-collapse:collapse;width:100%;margin-top:20px}.table th,.table td{text-align:left;border-bottom:1px solid var(--border);padding:14px 12px}.table th{color:var(--muted);font-weight:600}.two-col{grid-template-columns:minmax(0,1.5fr) minmax(320px,.9fr);align-items:start;gap:32px;display:grid}.sidebar-sticky{position:sticky;top:20px}.breadcrumbs{color:var(--muted);margin-bottom:24px;font-size:14px}.info-block{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;margin-bottom:24px;padding:24px}.info-block h2{margin-top:0;margin-bottom:12px}.info-block p{color:var(--muted);margin:0;line-height:1.75}@media (max-width:900px){.two-col{grid-template-columns:1fr}.sidebar-sticky{position:static}}
