@font-face{font-family:Overpass;font-style:normal;font-display:swap;font-weight:400;src:url(./overpass-latin-400-normal.BpeLJ0bs.woff2)format("woff2"),url(./overpass-latin-400-normal.c_C8zulu.woff)format("woff")}@font-face{font-family:Overpass;font-style:normal;font-display:swap;font-weight:600;src:url(./overpass-latin-600-normal.25RhTNCi.woff2)format("woff2"),url(./overpass-latin-600-normal.DhYQrzaY.woff)format("woff")}@font-face{font-family:Overpass;font-style:normal;font-display:swap;font-weight:800;src:url(./overpass-latin-800-normal.Bzx_XP5l.woff2)format("woff2"),url(./overpass-latin-800-normal.D6-q4f0l.woff)format("woff")}@font-face{font-family:Overpass;font-style:normal;font-display:swap;font-weight:900;src:url(./overpass-latin-900-normal.WqSsytnt.woff2)format("woff2"),url(./overpass-latin-900-normal.L-6UWqLA.woff)format("woff")}@font-face{font-family:Overpass Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./overpass-mono-latin-400-normal.VINZG6Js.woff2)format("woff2"),url(./overpass-mono-latin-400-normal.DqAOLzCO.woff)format("woff")}@font-face{font-family:Overpass Mono;font-style:normal;font-display:swap;font-weight:600;src:url(./overpass-mono-latin-600-normal.DBP6720Q.woff2)format("woff2"),url(./overpass-mono-latin-600-normal.gGkmhJLl.woff)format("woff")}:root{--ink:oklch(20% .008 95);--ink-2:oklch(30% .01 95);--ink-soft:oklch(42% .01 95);--line:oklch(86% .006 95);--line-strong:oklch(72% .01 95);--paper:oklch(98.5% 0 0);--panel:oklch(95.5% .004 95);--sign:oklch(87% .17 92);--sign-deep:oklch(78% .16 88);--sign-wash:oklch(96% .05 95);--red:oklch(53% .2 28);--red-wash:oklch(95% .03 28);--green:oklch(52% .13 150);--green-wash:oklch(95% .035 150);--blue:oklch(50% .14 250);--amber:oklch(62% .15 65);--amber-wash:oklch(96% .04 80);--on-dark:oklch(96% 0 0);--on-dark-soft:oklch(80% .005 95);--f-sans:"Overpass", system-ui, sans-serif;--f-mono:"Overpass Mono", ui-monospace, monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--s8:64px;--s9:96px;--r:6px;--wrap:1180px;--ease:cubic-bezier(.2,.7,.2,1)}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--f-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6}img,svg{max-width:100%}h1,h2,h3{text-wrap:balance;margin:0 0 var(--s4);letter-spacing:-.015em;line-height:1.12}h1{font-size:clamp(2rem,1.3rem + 3vw,3.6rem);font-weight:900}h2{margin-top:var(--s7);font-size:clamp(1.45rem,1.15rem + 1.2vw,2.1rem)}h2,h3{font-weight:800}h3{margin-top:var(--s5);font-size:1.2rem}li,p{text-wrap:pretty}p{margin:0 0 var(--s4)}a{color:var(--ink);-webkit-text-decoration-color:var(--sign-deep);text-decoration-color:var(--sign-deep);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.mono,code,kbd{font-family:var(--f-mono);font-size:.9em}:not(pre)>code{background:var(--panel);word-break:break-word;border-radius:4px;padding:1px 5px}pre{font-family:var(--f-mono);background:var(--ink);color:var(--on-dark);padding:var(--s4);border-radius:var(--r);margin:0 0 var(--s4);font-size:.86rem;line-height:1.55;overflow-x:auto}.num{font-variant-numeric:tabular-nums}:focus-visible{outline:3px solid var(--blue);outline-offset:2px;border-radius:3px}::selection{background:var(--sign);color:var(--ink)}.wrap{width:min(100% - 2 * var(--s4),var(--wrap));margin-inline:auto}.prose{max-width:70ch}.prose ol,.prose ul{padding-left:1.3em}.prose li{margin-bottom:var(--s2)}.muted{color:var(--ink-soft)}.small{font-size:.9rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.band{background:var(--ink)}.band,.band a{color:var(--on-dark)}.band a{text-decoration:none}.hdr{gap:var(--s4);min-height:60px;display:flex}.brand,.hdr{align-items:center}.brand{gap:var(--s2);letter-spacing:-.01em;min-height:44px;font-size:1.15rem;font-weight:900;display:inline-flex}.brand .dot{background:var(--sign);width:22px;height:22px;box-shadow:inset 0 0 0 5px var(--ink),0 0 0 2px var(--sign);border-radius:50%;flex:none}.nav{gap:var(--s1);flex-wrap:wrap;margin-left:auto;display:flex}.nav a{border-radius:var(--r);min-height:44px;color:var(--on-dark-soft);align-items:center;padding:10px 12px;font-size:.95rem;font-weight:600;display:inline-flex}.nav a.router-link-active,.nav a:hover{color:var(--ink);background:var(--sign)}.menu-btn{color:var(--on-dark);border:1px solid var(--ink-soft);border-radius:var(--r);min-height:44px;font:600 .95rem var(--f-sans);cursor:pointer;background:0 0;margin-left:auto;padding:0 14px;display:none}@media (width<=900px){.menu-btn{align-items:center;display:inline-flex}.nav{display:none}.nav.open{background:var(--ink);padding:var(--s2) var(--s4) var(--s4);z-index:20;flex-direction:column;display:flex;position:absolute;top:60px;left:0;right:0}.hdr{position:relative}}.hero{background:var(--sign);color:var(--ink);padding:var(--s7) 0 var(--s6);border-bottom:6px solid var(--ink)}.hero h1{max-width:20ch;margin-bottom:var(--s3)}.hero .lede{max-width:60ch;margin-bottom:var(--s5);font-size:clamp(1.05rem,1rem + .4vw,1.25rem)}.hero.dark{background:var(--ink);border-bottom-color:var(--sign)}.hero.dark,.hero.dark a{color:var(--on-dark)}.hero.dark :not(pre)>code{background:var(--ink-2);color:var(--sign)}.tool{background:var(--paper);color:var(--ink);border:2px solid var(--ink);border-radius:var(--r);padding:var(--s4)}.field{gap:var(--s1);min-width:0;display:grid}.label,label{font-size:.95rem;font-weight:800}input[type=text],input[type=url],select,textarea{width:100%;min-height:48px;font:400 1rem var(--f-mono);color:var(--ink);background:var(--paper);border:2px solid var(--line-strong);border-radius:var(--r);padding:10px 12px}textarea{resize:vertical;min-height:160px;line-height:1.5}select{font-family:var(--f-sans);font-weight:600}input:focus,select:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--sign);outline:none}input::-moz-placeholder{color:oklch(50% .01 95)}textarea::-moz-placeholder{color:oklch(50% .01 95)}input::placeholder,textarea::placeholder{color:oklch(50% .01 95)}.row{gap:var(--s3);flex-wrap:wrap;align-items:end;display:flex}.row>.grow{flex:280px;min-width:0}.btn{justify-content:center;align-items:center;gap:var(--s2);border:2px solid var(--ink);background:var(--ink);min-height:48px;color:var(--sign);font:800 1rem var(--f-sans);cursor:pointer;transition:transform .12s var(--ease),background .12s;border-radius:999px;padding:0 22px;text-decoration:none;display:inline-flex}.btn:hover{background:var(--ink-2)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.55;cursor:progress}.btn.ghost{color:var(--ink);background:0 0}.btn.ghost:hover{background:var(--sign-wash)}.btn.small{min-height:44px;padding:0 16px;font-size:.92rem}.chips{gap:var(--s2);flex-wrap:wrap;display:flex}.chip{border:2px solid var(--line-strong);background:var(--paper);min-height:44px;font:600 .9rem var(--f-sans);cursor:pointer;color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:0 14px;display:inline-flex}.chip.on,.chip[aria-pressed=true]{background:var(--ink);color:var(--sign);border-color:var(--ink)}.seg{border:2px solid var(--ink);scrollbar-width:none;border-radius:999px;flex-wrap:nowrap;max-width:100%;display:inline-flex;overflow-x:auto}.seg button{min-height:44px;font:700 .9rem var(--f-sans);cursor:pointer;color:var(--ink);background:0 0;border:0;flex:none;padding:0 14px}.seg button[aria-pressed=true]{background:var(--ink);color:var(--sign)}.pill{font:800 .82rem var(--f-mono);white-space:nowrap;border:2px solid;border-radius:999px;align-items:center;gap:6px;padding:2px 9px;display:inline-flex}.s-ok{color:var(--green)}.s-redir{color:var(--amber)}.s-temp{color:var(--blue)}.s-bad{color:var(--red)}.notice{border-radius:var(--r);padding:var(--s3) var(--s4);margin:var(--s3) 0;font-size:.97rem}.notice.bad{background:var(--red-wash);color:oklch(38% .15 28)}.notice.warn{background:var(--amber-wash);color:oklch(40% .1 65)}.notice.ok{background:var(--green-wash);color:oklch(36% .1 150)}.notice.info{background:var(--panel);color:var(--ink-2)}.notice strong{color:inherit}.metro{margin:var(--s4) 0;padding:0;list-style:none}.metro,.metro li{position:relative}.metro li{padding:0 0 var(--s5) 52px;min-width:0}.metro li:before{content:"";background:var(--ink);width:8px;position:absolute;top:18px;bottom:-4px;left:17px}.metro li:last-child:before{display:none}.metro li.meta:before{background:repeating-linear-gradient(var(--ink) 0 8px,transparent 8px 14px)}.metro .stop{background:var(--paper);border:7px solid var(--ink);border-radius:50%;width:34px;height:34px;position:absolute;top:0;left:4px}.metro li.terminus .stop{background:var(--sign);border-width:8px}.metro li.err .stop{background:var(--red)}.metro .hop-top{gap:var(--s2);flex-wrap:wrap;align-items:center;min-height:34px;display:flex}.metro .hop-url{font-family:var(--f-mono);word-break:break-all;margin:2px 0 0;font-size:.92rem}.metro .hop-meta{color:var(--ink-soft);font-size:.85rem}.terminus-sign{background:var(--ink);color:var(--on-dark);letter-spacing:.06em;text-transform:uppercase;border-radius:4px;padding:2px 10px;font-size:.8rem;font-weight:800;display:inline-block}.tbl-wrap{border:2px solid var(--ink);border-radius:var(--r);max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.93rem}td,th{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 12px}th{background:var(--ink);color:var(--on-dark);white-space:nowrap;font-weight:800}tbody tr:last-child td{border-bottom:0}td.u{font-family:var(--f-mono);word-break:break-all;min-width:200px;font-size:.85rem}article.block,section.block{padding:var(--s7) 0}section.block.alt{background:var(--panel)}.grid2{gap:var(--s5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.grid2>*{min-width:0}@media (width<=800px){.grid2{grid-template-columns:minmax(0,1fr)}}.checks{margin:0;padding:0;list-style:none}.checks,.checks li{gap:var(--s2);display:grid}.checks li{grid-template-columns:28px minmax(0,1fr);align-items:start}.checks .ic{width:24px;height:24px;font:900 .8rem var(--f-sans);color:var(--paper);border-radius:50%;place-items:center;margin-top:2px;display:grid}.ic.ok{background:var(--green)}.ic.bad{background:var(--red)}.ic.warn{background:var(--amber)}.ic.info{background:var(--ink-soft)}.lines{flex-wrap:wrap}.line-link,.lines{gap:var(--s3);display:flex}.line-link{padding:var(--s3) var(--s4);border:2px solid var(--ink);border-radius:var(--r);background:var(--paper);flex:250px;align-items:center;min-height:60px;font-weight:800;text-decoration:none}.line-link:hover{background:var(--sign)}.line-link .bul{background:var(--ink);width:30px;height:30px;color:var(--sign);border-radius:50%;flex:none;place-items:center;font-size:.8rem;display:grid}.line-link small{color:var(--ink-soft);font-size:.87rem;font-weight:400;display:block}details.faq{border-top:2px solid var(--ink);padding:var(--s3) 0}details.faq:last-of-type{border-bottom:2px solid var(--ink)}details.faq summary{cursor:pointer;align-items:center;min-height:44px;font-weight:800;list-style:none;display:flex}details.faq summary:before{content:"+";background:var(--sign);width:28px;height:28px;margin-right:var(--s3);border-radius:50%;flex:none;place-items:center;font-weight:900;display:inline-grid}details.faq[open] summary:before{content:"–"}details.faq summary::-webkit-details-marker{display:none}details.faq>div{padding:var(--s2) 0 0 40px}.ai-box{border:2px dashed var(--ink);border-radius:var(--r);padding:var(--s4);background:var(--sign-wash)}.ai-box,.ai-out{margin-top:var(--s4)}.ai-out{white-space:pre-wrap;border-top:1px solid var(--line-strong);padding-top:var(--s3);font-size:.97rem}.ai-out pre{white-space:pre}footer.site{background:var(--ink);color:var(--on-dark-soft);padding:var(--s6) 0;margin-top:var(--s8);font-size:.93rem}footer.site a{color:var(--on-dark)}footer.site .cols{gap:var(--s6);flex-wrap:wrap;justify-content:space-between;display:flex}footer.site ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}footer.site li a{padding:6px 0;display:inline-block}.crumbs{margin-bottom:var(--s3);font-size:.9rem}.crumbs a{color:inherit}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (width<=600px){body{font-size:1rem}.hero{padding:var(--s6) 0 var(--s5)}.tool{padding:var(--s3)}article.block,section.block{padding:var(--s6) 0}}
