:root{--bg:#f4f6fa;--card:#fff;--fg:#0f172a;--fg-2:#334155;--muted:#64748b;--line:#e2e8f0;--line-2:#cbd5e1;--accent:#0d9488;--accent-hover:#0f766e;--accent-soft:#ccfbf1;--accent-fg:#fff;--navy:#0b1220;--navy-2:#111a2e;--on-navy:#e2e8f0;--on-navy-muted:#94a3b8;--ok:#16a34a;--ok-bg:#dcfce7;--warn:#b45309;--warn-bg:#fef3c7;--bad:#dc2626;--bad-bg:#fee2e2;--info-bg:#eff6ff;--radius:14px;--shadow:0 1px 2px #0f172a0a, 0 8px 24px -12px #0f172a2e;--mono:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--sans:system-ui, -apple-system, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--card:#111a2e;--fg:#e2e8f0;--fg-2:#cbd5e1;--muted:#8b9bb4;--line:#1f2a44;--line-2:#2c3a5c;--accent:#2dd4bf;--accent-hover:#5eead4;--accent-soft:#134e4a;--accent-fg:#0b1220;--navy:#060b16;--navy-2:#0b1220;--ok-bg:#052e16;--warn-bg:#3b2506;--bad-bg:#3f0d0d;--info-bg:#0f2036;--shadow:0 1px 2px #0006, 0 12px 32px -12px #0009}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font:15px/1.65 var(--sans);margin:0;overflow-x:clip}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1{letter-spacing:-.01em;margin:0 0 10px;font-size:28px;line-height:1.25}h2{letter-spacing:-.01em;margin:36px 0 12px;font-size:20px}h3{margin:20px 0 8px;font-size:16px}p.lead{color:var(--muted);max-width:760px;margin:0 0 22px;font-size:15.5px}.container{max-width:1080px;margin:0 auto;padding:0 20px}.muted{color:var(--muted)}.small{font-size:13px}.mono,.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;display:grid}ul.plain{margin:0;padding:0;list-style:none}ul.plain li{border-bottom:1px solid var(--line);padding:9px 0}header.site{background:var(--navy);color:var(--on-navy)}header.site .container{align-items:center;gap:28px;height:58px;display:flex}header.site .brand{color:#fff;letter-spacing:.02em;align-items:center;gap:9px;font-size:17px;font-weight:800;display:inline-flex}header.site .brand .dot{background:var(--accent);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #2dd4bf2e}header.site nav{gap:20px;margin-left:auto;display:flex}header.site nav a{color:var(--on-navy-muted);font-size:14px}header.site nav a:hover{color:#fff;text-decoration:none}@media (max-width:720px){header.site nav{gap:12px;font-size:13px}header.site nav a.hide-sm{display:none}}.console{background:linear-gradient(180deg, var(--navy) 0%, var(--navy-2) 72%, var(--bg) 72%);margin:-32px calc(50% - 50vw) 0;padding:44px 20px 0}.console>.inner{max-width:1040px;margin:0 auto}.console .intro{color:var(--on-navy);text-align:center;margin-bottom:26px}.console .intro h1{color:#fff;margin-bottom:10px;font-size:34px}.console .intro p{color:var(--on-navy-muted);max-width:720px;margin:0 auto;font-size:16px}.console .intro .kicker{letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:12px;font-size:12px;display:inline-block}.trust{color:var(--on-navy-muted);flex-wrap:wrap;justify-content:center;gap:18px;margin:16px 0 0;font-size:13px;display:flex}.trust span:before{content:"✓";color:var(--accent);margin-right:6px;font-weight:700}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:18px;padding:22px}.card.tool{padding:24px 26px}.card h3:first-child{margin-top:0}.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.stat .k{color:var(--muted);letter-spacing:.02em;font-size:12.5px}.stat .v{font-size:26px;font-weight:800;font-family:var(--mono);font-variant-numeric:tabular-nums;margin-top:2px}.stat .s{color:var(--muted);margin-top:2px;font-size:12px}.stepper{counter-reset:step;gap:0;margin:0 0 18px;display:flex}.stepper .step{border-bottom:2px solid var(--line);color:var(--muted);flex:1;align-items:center;gap:10px;padding:10px 12px;font-size:14px;display:flex}.stepper .step:before{counter-increment:step;content:counter(step);background:var(--line);width:24px;height:24px;color:var(--fg-2);font-size:12px;font-weight:700;font-family:var(--mono);border-radius:50%;place-items:center;display:inline-grid}.stepper .step.active{color:var(--fg);border-color:var(--accent);font-weight:600}.stepper .step.active:before{background:var(--accent);color:var(--accent-fg)}.stepper .step.done{color:var(--fg-2);border-color:var(--accent)}.stepper .step.done:before{content:"✓";background:var(--accent-soft);color:var(--accent)}textarea,input[type=text],input[type=url],input:not([type]),select{border:1px solid var(--line-2);background:var(--card);width:100%;color:var(--fg);font:inherit;border-radius:10px;padding:11px 13px;transition:border-color .15s,box-shadow .15s}textarea:focus,input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}textarea{resize:vertical;min-height:120px;font-family:var(--mono);font-size:13px;line-height:1.6}textarea.big{min-height:132px;font-size:13.5px}.formats{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.formats code{font-family:var(--mono);background:var(--bg);border:1px solid var(--line);color:var(--fg-2);border-radius:6px;padding:2px 7px;font-size:12px}button,.btn{border:1px solid var(--accent);background:var(--accent);color:var(--accent-fg);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-weight:600;text-decoration:none;transition:background .15s,transform 50ms;display:inline-flex}button:hover,.btn:hover{background:var(--accent-hover);border-color:var(--accent-hover);text-decoration:none}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed;transform:none}button.secondary,.btn.secondary{color:var(--accent);background:0 0}button.secondary:hover,.btn.secondary:hover{background:var(--accent-soft)}button.ghost{border-color:var(--line-2);color:var(--fg-2);background:0 0}button.ghost:hover{background:var(--bg);border-color:var(--line-2)}button.small{border-radius:8px;padding:5px 11px;font-size:13px;font-weight:500}button.big{padding:12px 24px;font-size:16px}.region-group{margin-bottom:12px}.region-group .rg-head{color:var(--muted);align-items:center;gap:10px;margin-bottom:6px;font-size:13px;display:flex}.region-group .rg-head b{color:var(--fg);font-size:14px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line-2);background:var(--card);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;transition:all .12s;display:inline-flex}.chip:hover{border-color:var(--accent)}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--fg)}.chip .p{font-family:var(--mono);color:var(--muted);font-size:11px}.chip input{display:none}.nodes-scroll{max-height:360px;padding:4px 2px;overflow:auto}.opts{flex-wrap:wrap;gap:8px 18px;display:flex}.opts label{cursor:pointer;align-items:center;gap:7px;font-size:14px;display:inline-flex}.opts input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.table-wrap{border:1px solid var(--line);background:var(--card);border-radius:12px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;padding:10px 12px}thead th{background:var(--card);color:var(--muted);letter-spacing:.02em;white-space:nowrap;z-index:1;font-size:12.5px;font-weight:600;position:sticky;top:0}tbody tr:nth-child(2n) td{background:color-mix(in srgb, var(--bg) 55%, var(--card))}tbody tr:last-child td{border-bottom:none}td.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.tag{border:1px solid var(--line);color:var(--muted);background:var(--card);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:1px 9px;font-size:12px;line-height:20px;display:inline-flex}.tag.ok{color:var(--ok);background:var(--ok-bg);border-color:#0000}.tag.warn{color:var(--warn);background:var(--warn-bg);border-color:#0000}.tag.bad{color:var(--bad);background:var(--bad-bg);border-color:#0000}.tag.ok:before,.tag.bad:before,.tag.warn:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px}.notice{border-left:3px solid var(--warn);background:var(--warn-bg);color:var(--fg);border-radius:8px;margin:12px 0;padding:10px 14px;font-size:14px}.info{border-left:3px solid var(--accent);background:var(--info-bg);border-radius:8px;margin:12px 0;padding:10px 14px;font-size:14px}.error{border-left:3px solid var(--bad);background:var(--bad-bg);border-radius:8px;margin:12px 0;padding:10px 14px;font-size:14px}.progress{background:var(--line);border-radius:999px;height:8px;margin:12px 0;overflow:hidden}.progress>div{background:linear-gradient(90deg, var(--accent), #34d399);height:100%;transition:width .3s}.progress.indeterminate>div{animation:1.2s ease-in-out infinite slide;width:30%!important}@keyframes slide{0%{margin-left:-30%}to{margin-left:100%}}.log{font-family:var(--mono);color:var(--muted);white-space:pre-wrap;background:var(--bg);border-radius:8px;max-height:110px;padding:8px 10px;font-size:12px;overflow:auto}.how{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:8px 0 0;display:grid}.how .item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px 18px 16px}.how .item .n{font-family:var(--mono);color:var(--accent);letter-spacing:.1em;font-size:13px;font-weight:700}.how .item h3{margin:6px 0;font-size:16px}.how .item p{color:var(--muted);margin:0;font-size:14px}.section-head{justify-content:space-between;align-items:baseline;gap:12px;margin:36px 0 12px;display:flex}.section-head h2{margin:0}.section-head a{font-size:13.5px}.empty{border:1px dashed var(--line-2);border-radius:var(--radius);text-align:center;color:var(--muted);padding:22px;font-size:14px}footer.site{border-top:1px solid var(--line);color:var(--muted);margin-top:40px;padding:26px 0 34px;font-size:13px}footer.site .links{flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}main{padding:32px 0 48px}dl.faq dt{margin-top:18px;font-weight:600}dl.faq dd{color:var(--muted);margin:4px 0 0}
