:root{--bg:#fbfbf9;--surface:#fff;--ink:#191d1a;--muted:#5f6a63;--line:#e3e6e0;--accent:#0b7a54;--accent-hover:#096444;--accent-soft:#e9f5ef;--danger:#b3261e;--danger-soft:#fceceb;--code-bg:#101613;--code-ink:#d9e4dd;--radius:10px;--max:47rem;--wide:62rem}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);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.65}code,pre,kbd{font-family:ui-monospace,SF Mono,SFMono-Regular,Menlo,Consolas,monospace}.skip{background:var(--accent);color:#fff;z-index:10;padding:.5rem 1rem;position:absolute;top:0;left:-9999px}.skip:focus{left:0}.site-header{border-bottom:1px solid var(--line);background:var(--surface)}.site-header .inner,.site-footer .inner{max-width:var(--wide);flex-wrap:wrap;align-items:center;gap:1.25rem;margin:0 auto;padding:.85rem 1.25rem;display:flex}.brand{letter-spacing:-.01em;color:var(--ink);font-weight:700;text-decoration:none}.brand .dot{color:var(--accent)}.site-nav{flex-wrap:wrap;gap:1rem;margin-left:auto;font-size:.95rem;display:flex}.site-nav a{color:var(--muted);text-decoration:none}.site-nav a:hover{color:var(--ink);text-decoration:underline}.site-footer{border-top:1px solid var(--line);background:var(--surface);margin-top:4rem}.site-footer .inner{color:var(--muted);padding-top:1.25rem;padding-bottom:1.25rem;font-size:.95rem}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--ink)}.hero{max-width:var(--max);margin:0 auto;padding:3.25rem 1.25rem 1.5rem}.hero h1{letter-spacing:-.02em;margin:0 0 .6rem;font-size:clamp(2rem,5vw,2.9rem);line-height:1.12}.hero .sub{color:var(--muted);margin:0 0 1.75rem;font-size:1.2rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.tool{max-width:var(--max);margin:0 auto;padding:1.5rem}.tool-row{gap:.6rem;display:flex}.tool-row input[type=text]{min-width:0;font:inherit;border:1px solid var(--line);background:var(--bg);color:var(--ink);border-radius:8px;flex:1;padding:.7rem .9rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1rem}.tool-row input[type=text]:focus{outline:2px solid var(--accent);outline-offset:-1px}.tool-options{color:var(--muted);flex-wrap:wrap;gap:1.5rem;margin-top:.8rem;font-size:.95rem;display:flex}.tool-options label{cursor:pointer;align-items:center;gap:.45rem;display:flex}.tool-options summary{cursor:pointer;color:var(--muted)}.tool-options summary[open]{color:var(--ink)}.tool-options textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);resize:vertical;border-radius:8px;margin-top:.6rem;padding:.7rem .9rem;font-family:ui-monospace,Menlo,Consolas,monospace;font-size:.88rem;line-height:1.5}.tool-options textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}.btn{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:.4rem;padding:.65rem 1.15rem;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent);color:var(--accent)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover);color:#fff}.btn[disabled]{opacity:.55;cursor:wait}.btn-row{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.progress{color:var(--muted);margin:1.25rem 0 0;padding:0;list-style:none}.progress li{padding:.3rem 0 .3rem 1.7rem;position:relative}.progress li:before{content:"○";color:var(--line);position:absolute;left:0}.progress li.doing:before{content:"●";color:var(--accent)}.progress li.done:before{content:"●";color:var(--ink)}.progress li.doing,.progress li.done{color:var(--ink)}.error{background:var(--danger-soft);color:var(--danger);border-radius:8px;margin:1.25rem 0 0;padding:.85rem 1rem;font-size:.98rem}.stats{color:var(--muted);margin:0 0 .75rem;font-size:.95rem}.result pre{background:var(--code-bg);color:var(--code-ink);border-radius:8px;max-height:28rem;margin:0;padding:1rem 1.1rem;font-size:.88rem;line-height:1.5;overflow:auto}.size-note{color:var(--muted);margin:.6rem 0 0;font-size:.92rem}.decision{margin-top:1.75rem}.decision h2{margin:0 0 .35rem;font-size:1.15rem}.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:.06em;color:var(--muted);border-bottom:1px solid var(--line);padding:.45rem .6rem;font-size:.8rem}.decision-table td{border-bottom:1px solid var(--line);vertical-align:top;padding:.5rem .6rem}.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{color:var(--accent);font-weight:700}.decision-table .no{color:var(--danger);font-weight:700}.decision-table tr.detail td{background:var(--bg);border-bottom:1px solid var(--line);padding:.8rem 1rem;font-size:.92rem}.decision-table tr.detail[hidden]{display:none}.decision-table tr.detail dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:.6rem;font-size:.8rem;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:-.01em;border-top:1px solid var(--line);margin:2.75rem 0 .75rem;padding-top:1.5rem;font-size:1.55rem}.prose h3{margin:1.75rem 0 .5rem;font-size:1.15rem}.prose p{margin:.75rem 0}.prose a{color:var(--accent)}.prose ul,.prose ol{padding-left:1.4rem}.prose table{border-collapse:collapse;width:100%;margin:1rem 0;font-size:.95rem}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:.5rem .7rem}.prose th{background:var(--accent-soft)}.prose pre{background:var(--code-bg);color:var(--code-ink);border-radius:8px;padding:1rem 1.1rem;font-size:.85rem;line-height:1.55;overflow:auto}.prose code{font-size:.9em}.prose :not(pre)>code{background:var(--accent-soft);color:var(--ink);border-radius:4px;padding:.1em .35em}.prose blockquote{border-left:3px solid var(--accent);color:var(--muted);background:var(--surface);margin:1rem 0;padding:.35rem 1.1rem}.faq details{border:1px solid var(--line);background:var(--surface);border-radius:8px;margin:.6rem 0;padding:0 1rem}.faq details summary{cursor:pointer;padding:.8rem 0;font-weight:600}.faq details[open] summary{color:var(--accent)}.faq details .answer{padding:0 0 .9rem}.cta{max-width:var(--max);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);background:var(--surface);margin:2.5rem auto 0;padding:1.25rem 1.5rem}.cta p{margin:.5rem 0 0}.tldr{max-width:var(--max);border-left:4px solid var(--accent);background:var(--accent-soft);border-radius:0 var(--radius) var(--radius) 0;margin:1.75rem auto 0;padding:1rem 1.5rem}.tldr p{margin:.25rem 0}.page-head{max-width:var(--max);margin:0 auto;padding:3rem 1.25rem 0}.page-head h1{letter-spacing:-.02em;margin:0 0 .5rem;font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.15}.page-head .kicker{color:var(--muted);margin:0;font-size:1.05rem}.muted{color:var(--muted);font-weight:400}@media (width<=560px){.tool-row{flex-direction:column}.site-nav{margin-left:0}}
