:root{--bg:#f6f7f9;--ink:#0e1620;--quiet:#5a6675;--card:#ffffff;--edge:#e2e6ec;--accent:#1f9d6b;--accent2:#2f6df6;--ok:#1f9d6b;--bad:#d64545;--wait:#9aa5b4;--glow:rgba(47,109,246,.10)}
@media (max-width:420px){.bar{padding:14px 14px}.region{display:none}}
@media (prefers-color-scheme:dark){:root{--bg:#0a0f16;--ink:#e8edf4;--quiet:#8a97a8;--card:#111823;--edge:#1f2a39;--accent:#37d39a;--accent2:#5b8cff;--ok:#37d39a;--bad:#ff6b6b;--wait:#5d6a7d;--glow:rgba(91,140,255,.16)}}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;min-height:100vh;display:flex;flex-direction:column}
.glow{position:fixed;inset:-20% -10% auto -10%;height:70vh;background:radial-gradient(60% 60% at 50% 0,var(--glow),transparent 70%);pointer-events:none}
.bar{position:relative;display:flex;justify-content:space-between;align-items:center;padding:18px max(16px,5vw)}
.brand{white-space:nowrap;display:flex;align-items:center;gap:10px;font-size:15px;letter-spacing:.2px}.brand b{font-weight:700}
.mark{width:22px;height:22px;border-radius:7px;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 4px 14px var(--glow)}
.bar-right{display:flex;align-items:center;gap:12px}.region{white-space:nowrap;font:600 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace;color:var(--quiet);border:1px solid var(--edge);border-radius:999px;padding:6px 10px}
.lang{background:none;border:1px solid var(--edge);color:var(--ink);border-radius:999px;padding:6px 12px;font:600 12px/1 inherit;cursor:pointer}.lang:hover{border-color:var(--accent2)}
main{position:relative;width:100%;max-width:1040px;margin:0 auto;padding:0 max(16px,5vw) 40px;flex:1}
.hero{padding:44px 0 26px;max-width:720px}.eyebrow{margin:0 0 10px;color:var(--accent);font:700 12px/1 inherit;letter-spacing:.14em;text-transform:uppercase}
h1{margin:0 0 14px;font-size:clamp(30px,5.4vw,50px);line-height:1.08;letter-spacing:-.02em}.lead{margin:0;color:var(--quiet);font-size:clamp(16px,2.2vw,19px)}
.grid{display:grid;grid-template-columns:1.25fr 1fr;gap:16px;margin-top:10px}@media(max-width:760px){.grid{grid-template-columns:1fr}}
.card{background:var(--card);border:1px solid var(--edge);border-radius:18px;padding:22px}
h2{margin:0 0 14px;font-size:15px;letter-spacing:.02em}
label{display:block;font-size:13px;color:var(--quiet);margin-bottom:6px}
.field{display:flex;align-items:center;border:1px solid var(--edge);border-radius:12px;background:var(--bg);overflow:hidden}.field:focus-within{border-color:var(--accent2);box-shadow:0 0 0 3px var(--glow)}
.pre{padding:0 0 0 14px;color:var(--quiet);font:500 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);padding:14px 14px 14px 2px;font:500 15px/1 ui-monospace,SFMono-Regular,Menlo,monospace;outline:none}
.hint{margin:10px 0 0;font-size:13px;color:var(--quiet)}.err{margin:10px 0 0;font-size:13px;color:var(--bad)}
.go{margin-top:16px;width:100%;border:0;border-radius:12px;padding:14px 16px;font:700 15px/1 inherit;color:#fff;background:linear-gradient(135deg,var(--accent2),#4c7dff);cursor:pointer;transition:transform .12s,filter .12s}.go:hover{filter:brightness(1.08)}.go:active{transform:translateY(1px)}
.state{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px}.dot{width:11px;height:11px;border-radius:50%;background:var(--wait);box-shadow:0 0 0 4px transparent}
.dot.ok{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb,var(--ok) 22%,transparent)}.dot.bad{background:var(--bad);box-shadow:0 0 0 4px color-mix(in srgb,var(--bad) 22%,transparent)}
dl{margin:16px 0 0}dl div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid var(--edge);font-size:14px}dt{color:var(--quiet)}dd{margin:0;text-align:right}
.how{margin:26px 0 6px}.how svg{width:100%;height:auto;display:block}.node rect{fill:var(--card);stroke:var(--edge)}.node text{fill:var(--ink);font:600 15px system-ui,sans-serif}.node .sub{fill:var(--quiet);font-weight:500;font-size:12px}.node.mid rect{stroke:var(--accent2)}
.flow{animation:flow 1.6s linear infinite}@keyframes flow{to{stroke-dashoffset:-26}}@media(prefers-reduced-motion:reduce){.flow{animation:none}}
.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}@media(max-width:760px){.tiles{grid-template-columns:1fr}}
.tile{border:1px solid var(--edge);border-radius:16px;padding:18px;background:var(--card)}.tile h3{margin:0 0 6px;font-size:15px}.tile p{margin:0;color:var(--quiet);font-size:14px}
footer{position:relative;text-align:center;color:var(--quiet);font-size:13px;padding:18px max(16px,5vw) 30px;border-top:1px solid var(--edge)}footer p{margin:4px 0}footer a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--edge)}
[dir=rtl] .dd{text-align:left}
