:root{color-scheme:light dark;--bg:#f7f7f5;--surface:#fff;--surface-2:#f1f2ee;--ink:#161a18;--muted:#5d675f;--line:#e5e7e2;--line-strong:#d6d9d3;--accent:#0b7a54;--accent-hover:#096545;--accent-ink:#0a6b4b;--accent-soft:#e7f3ed;--accent-glow:#0b7a5417;--on-accent:#fff;--h1-tint:#2f7057;--danger:#b3261e;--danger-soft:#fbeae9;--code-bg:#101613;--code-ink:#d9e4dd;--code-line:#26332c;--code-inline-bg:#eff1ec;--ring:#0b7a5438;--shadow-sm:0 1px 2px #161a180d;--shadow-md:0 1px 2px #161a180a, 0 10px 28px -14px #161a1824;--header-bg:#ffffffd1;--radius:16px;--max:47rem;--wide:62rem}@media (prefers-color-scheme:dark){:root{--bg:#0d100e;--surface:#151a17;--surface-2:#1c2220;--ink:#e8ecea;--muted:#9aa59d;--line:#272d29;--line-strong:#363d38;--accent:#41cd97;--accent-hover:#6bdfb0;--accent-ink:#4bd4a0;--accent-soft:#41cd9721;--accent-glow:#41cd971a;--on-accent:#06231a;--h1-tint:#93d9ba;--danger:#f28b82;--danger-soft:#f28b8224;--code-bg:#0a0d0b;--code-ink:#d3e0d8;--code-line:#232b26;--code-inline-bg:#1e2420;--ring:#41cd9747;--shadow-sm:0 1px 2px #0006;--shadow-md:0 1px 2px #00000059, 0 14px 36px -18px #000000a6;--header-bg:#0d100ec7}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background-color:var(--bg);background-image:radial-gradient(1100px 520px at 50% -200px, var(--accent-glow), transparent 70%);color:var(--ink);-webkit-font-smoothing:antialiased;background-repeat:no-repeat;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1.0625rem;line-height:1.7}code,pre,kbd{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}::selection{background:var(--accent-soft)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:var(--accent-ink)}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.skip{background:var(--accent);color:var(--on-accent);z-index:100;border-radius:0 0 10px;padding:.5rem 1rem;position:absolute;top:0;left:-9999px}.skip:focus{left:0}.site-header{z-index:40;border-bottom:1px solid var(--line);background:var(--header-bg);backdrop-filter:blur(12px);position:sticky;top:0}.site-header .inner,.site-footer .inner{max-width:var(--wide);flex-wrap:wrap;align-items:center;gap:1rem;margin:0 auto;padding:.8rem 1.25rem;display:flex}.brand{letter-spacing:-.01em;color:var(--ink);align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.brand:before{content:"";background:linear-gradient(135deg, var(--accent), #7dd8b2);border-radius:4px;width:.85rem;height:.85rem;margin-right:.55rem;box-shadow:inset 0 0 0 1px #0000000d}.brand .dot{color:var(--accent)}.site-nav{flex-wrap:wrap;gap:.25rem;margin-left:auto;font-size:.92rem;display:flex}.site-nav a{color:var(--muted);border-radius:8px;padding:.32rem .7rem;text-decoration:none;transition:color .15s,background-color .15s}.site-nav a:hover{color:var(--ink);background:var(--surface-2)}.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:5rem}.site-footer .inner{color:var(--muted);padding-top:1.4rem;padding-bottom:1.4rem;font-size:.95rem}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--accent-ink)}.hero{max-width:var(--max);margin:0 auto;padding:4.25rem 1.25rem 1.75rem}.hero h1{letter-spacing:-.03em;color:var(--ink);background:linear-gradient(180deg, var(--ink) 45%, var(--h1-tint));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .7rem;font-size:clamp(2.15rem,5.5vw,3.05rem);font-weight:800;line-height:1.07}.hero .sub{color:var(--muted);max-width:41rem;margin:0;font-size:1.22rem;line-height:1.6}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md)}.tool{max-width:var(--max);margin:0 auto;padding:1.6rem}.tool-row{gap:.6rem;display:flex}.tool-row input[type=text]{min-width:0;font:inherit;border:1px solid var(--line-strong);background:var(--bg);color:var(--ink);border-radius:10px;flex:1;padding:.72rem 1rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1rem;transition:border-color .15s,box-shadow .15s}.tool-row input[type=text]::placeholder{color:var(--muted);opacity:.7}.tool-row input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.tool-options{color:var(--muted);flex-wrap:wrap;gap:1.5rem;margin-top:.9rem;font-size:.95rem;display:flex}.tool-options label{cursor:pointer;align-items:center;gap:.45rem;display:flex}input[type=checkbox]{accent-color:var(--accent);width:1rem;height:1rem}.tool-options summary{cursor:pointer;color:var(--muted);align-items:center;gap:.45rem;list-style:none;display:flex}.tool-options summary::-webkit-details-marker{display:none}.tool-options summary:before{content:"";border-bottom:1.8px solid;border-right:1.8px solid;width:6px;height:6px;transition:transform .15s;transform:rotate(-45deg)}.tool-options[open]>summary:before{transform:rotate(45deg)}.tool-options summary:hover{color:var(--ink)}.tool-options textarea{border:1px solid var(--line-strong);background:var(--bg);width:100%;color:var(--ink);resize:vertical;border-radius:10px;margin-top:.7rem;padding:.75rem 1rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.55;transition:border-color .15s,box-shadow .15s}.tool-options textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--ring);outline:none}.btn{font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:10px;justify-content:center;align-items:center;gap:.4rem;padding:.62rem 1.15rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent-ink);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent);box-shadow:inset 0 1px 0 #ffffff1a, var(--shadow-sm)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--on-accent);box-shadow:inset 0 1px 0 #ffffff1a, var(--shadow-md)}.btn[disabled]{opacity:.55;cursor:wait;transform:none}.btn-row{flex-wrap:wrap;gap:.6rem;margin:1.1rem 0;display:flex}.progress{color:var(--muted);margin:1.4rem 0 0;padding:0;list-style:none}.progress li{padding:.32rem 0 .32rem 1.75rem;position:relative}.progress li:before{content:"";border:2px solid var(--line-strong);background:0 0;border-radius:50%;width:10px;height:10px;transition:border-color .2s,background-color .2s,box-shadow .2s;position:absolute;top:.5em;left:0}.progress li.doing:before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px var(--ring)}.progress li.done:before{border-color:var(--accent);background:var(--accent-soft)}.progress li.doing,.progress li.done{color:var(--ink)}.error{background:var(--danger-soft);color:var(--danger);border-radius:10px;margin:1.4rem 0 0;padding:.85rem 1.1rem;font-size:.98rem}.stats{color:var(--muted);margin:1.4rem 0 .75rem;font-size:.95rem}.result pre{background:var(--code-bg);color:var(--code-ink);border:1px solid var(--code-line);border-radius:12px;max-height:28rem;margin:0;padding:1.1rem 1.25rem;font-size:.88rem;line-height:1.55;overflow:auto}.size-note{color:var(--muted);margin:.6rem 0 0;font-size:.92rem}pre::-webkit-scrollbar{width:10px;height:10px}pre::-webkit-scrollbar-thumb{background:#ffffff29 padding-box content-box;border:2px solid #0000;border-radius:5px}pre::-webkit-scrollbar-track{background:0 0}.decision{margin-top:1.9rem}.decision h2{letter-spacing:-.01em;margin:0 0 .35rem;font-size:1.2rem}.decision .hint{margin:0 0 .75rem;font-size:.9rem}.decision-table{border-collapse:collapse;width:100%;font-size:.95rem}.decision-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--line-strong);padding:.45rem .65rem;font-size:.75rem}.decision-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:.55rem .65rem}.decision-table tbody tr:last-child td{border-bottom:0}.decision-table tbody tr.row{cursor:pointer}.decision-table tbody tr.row:hover{background:var(--accent-soft)}.decision-table td.url{word-break:break-all;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.85rem}.decision-table .yes,.decision-table .no{text-align:center;border-radius:999px;min-width:1.7rem;padding:.02rem .55rem;font-size:.82rem;font-weight:700;line-height:1.55;display:inline-block}.decision-table .yes{background:var(--accent-soft);color:var(--accent-ink)}.decision-table .no{background:var(--danger-soft);color:var(--danger)}.decision-table tr.detail td{background:var(--surface-2);border-bottom:1px solid var(--line);padding:.85rem 1rem;font-size:.92rem}.decision-table tr.detail dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-top:.6rem;font-size:.75rem;font-weight:700}.decision-table tr.detail dt:first-child{margin-top:0}.decision-table tr.detail dd{margin:.15rem 0 0}.prose{max-width:var(--max);margin:0 auto;padding:0 1.25rem}.prose h2{letter-spacing:-.018em;margin:3rem 0 .85rem;font-size:1.6rem;line-height:1.25}.prose h3{letter-spacing:-.01em;margin:1.9rem 0 .5rem;font-size:1.18rem}.prose p{margin:.8rem 0}.prose a,.cta a{color:var(--accent-ink);text-decoration:underline;text-decoration-color:var(--ring);text-underline-offset:.2em;transition:text-decoration-color .15s}.prose a:hover,.cta a:hover{text-decoration-color:var(--accent-ink)}.prose ul,.prose ol{padding-left:1.4rem}.prose li::marker{color:var(--accent-ink)}.prose table{border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:12px;width:100%;margin:1.25rem 0;font-size:.95rem}.prose th,.prose td{border:0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:.6rem .85rem}.prose th{background:var(--surface-2);border-bottom:1px solid var(--line-strong);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.8rem}.prose tbody tr:last-child td{border-bottom:0}.prose th:first-child{border-top-left-radius:11px}.prose th:last-child{border-top-right-radius:11px}.prose tbody tr:last-child td:first-child{border-bottom-left-radius:11px}.prose tbody tr:last-child td:last-child{border-bottom-right-radius:11px}.prose pre{background:var(--code-bg);color:var(--code-ink);border:1px solid var(--code-line);border-radius:12px;padding:1.1rem 1.25rem;font-size:.85rem;line-height:1.6;overflow:auto}.prose code{font-size:.9em}.prose :not(pre)>code{background:var(--code-inline-bg);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:.08em .38em}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);background:var(--surface-2);border-radius:0 10px 10px 0;margin:1rem 0;padding:.4rem 1.2rem}.faq details{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:.6rem 0;padding:0 1.15rem;transition:border-color .15s}.faq details:hover{border-color:var(--line-strong)}.faq details[open]{border-color:var(--accent)}.faq details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;font-weight:600;list-style:none;display:flex}.faq details summary::-webkit-details-marker{display:none}.faq details summary:after{content:"";border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:7px;height:7px;margin-right:.35rem;transition:transform .18s,border-color .18s;transform:rotate(45deg)}.faq details[open] summary:after{border-color:var(--accent-ink);transform:rotate(225deg)}.faq details[open] summary{color:var(--accent-ink)}.faq details .answer{color:var(--ink);padding:0 0 1rem}.cta{max-width:var(--max);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);margin:3rem auto 0;padding:1.5rem 1.6rem;position:relative;overflow:hidden}.cta:before{content:"";background:radial-gradient(440px 190px at 88% 0%, var(--accent-soft), transparent 70%);pointer-events:none;position:absolute;inset:0}.cta h2,.cta p{position:relative}.cta h2{letter-spacing:-.01em;margin:0;font-size:1.3rem}.cta p{margin:.55rem 0 0}.tldr{max-width:var(--max);border:1px solid var(--line);border-left:3px solid var(--accent);background:linear-gradient(90deg, var(--accent-soft), transparent 60%), var(--surface);border-radius:12px;margin:1.75rem auto 0;padding:1.1rem 1.45rem}.tldr p{margin:.25rem 0}.page-head{max-width:var(--max);margin:0 auto;padding:3.5rem 1.25rem 0}.page-head h1{letter-spacing:-.025em;margin:0 0 .55rem;font-size:clamp(1.95rem,4.5vw,2.7rem);font-weight:800;line-height:1.12}.page-head .kicker{color:var(--muted);margin:0;font-size:1.08rem}.muted{color:var(--muted);font-weight:400}@media (width<=560px){.hero{padding-top:3rem}.tool{padding:1.15rem}.tool-row{flex-direction:column}.tool-row .btn{width:100%}.site-nav{margin-left:0}.prose table{font-size:.88rem}.prose th,.prose td{padding:.5rem .6rem}}
