:root{--bg: #f2f5f4;--bg-glow: #e3efec;--surface: #fcfdfd;--surface-2: #f7faf9;--text: #14211f;--muted: #586963;--line: #dfe7e4;--line-strong: #c9d6d2;--accent: #0f766e;--accent-press: #0b5d57;--accent-soft: #e6f4f1;--accent-ring: rgba(15, 118, 110, .18);--ok: #116b4f;--ok-bg: #e6f5ee;--ok-line: #b9e0cf;--warn: #8a5a00;--warn-bg: #fff5e2;--warn-line: #efd9a6;--bad: #a4231a;--bad-bg: #fdeceb;--bad-line: #f3c8c3;--log-bg: #0f1a18;--log-text: #cfe8e1;--log-dim: #7c918a;--focus: #0f766e;--radius-sm: 8px;--radius: 14px;--dur-micro: .12s;--dur-short: .2s;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--shadow: 0 1px 2px rgba(16, 24, 23, .05);--shadow-lift: 0 14px 34px rgba(15, 118, 110, .14);--measure: 920px}*{box-sizing:border-box}html{overflow-x:clip}body{margin:0;overflow-x:clip;font-family:var(--font);background:radial-gradient(1100px 460px at 18% -12%,var(--bg-glow) 0%,transparent 62%) no-repeat,var(--bg);background-attachment:fixed;color:var(--text);-webkit-font-smoothing:antialiased}a{color:var(--accent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.app{max-width:var(--measure);margin:0 auto;padding:28px 20px 80px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:12px}.brand{display:flex;align-items:center;gap:14px}.logo{width:44px;height:44px;border-radius:var(--radius);display:grid;place-items:center;background:var(--accent);color:#fff;font-size:18px;font-weight:800;box-shadow:0 8px 20px var(--accent-ring)}.title{font-size:19px;font-weight:700;letter-spacing:-.2px}.subtitle{font-size:13px;color:var(--muted);margin-top:2px}.link{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;font-size:14px;padding:4px 2px}.link:active{text-decoration:underline}.langs{display:flex;gap:2px;align-items:center}.link.on{font-weight:700;text-decoration:underline}.downloads{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.downloads .client{text-decoration:none}.hero{text-align:center;padding:36px 0 8px}.hero-title{font-size:30px;font-weight:800;letter-spacing:-.6px;margin:0;text-wrap:balance}.hero-sub{color:var(--muted);margin-top:8px}.cards{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:18px;margin-top:32px}.card{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;cursor:pointer;font:inherit;color:inherit;box-shadow:var(--shadow);transition:border-color var(--dur-short),box-shadow var(--dur-short),transform var(--dur-short)}.card:hover{transform:translateY(-2px);border-color:var(--line-strong);box-shadow:var(--shadow-lift)}.card:active{transform:translateY(0);box-shadow:var(--shadow)}.card-icon{width:26px;height:26px;color:var(--accent);margin-bottom:10px}.card-t{font-size:17px;font-weight:700}.card-d{color:var(--muted);font-size:13.5px;margin-top:6px;line-height:1.45}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:18px;box-shadow:var(--shadow)}.panel h2{font-size:17px;margin:0 0 12px;text-wrap:balance}.panel h2+*{margin-top:10px}.hint{color:var(--muted);font-size:13.5px;line-height:1.5;margin:0 0 12px}.hint.small{font-size:12.5px}.input{width:100%;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;font:inherit;background:var(--surface-2);color:var(--text);outline:none;transition:border-color var(--dur-micro),box-shadow var(--dur-micro)}.input:focus{outline:3px solid var(--focus);outline-offset:1px}textarea.input{resize:vertical}.mono{font-family:var(--mono);font-size:12.5px}.grid2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted);font-weight:600}.row{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);font:inherit;font-weight:600;padding:10px 18px;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--dur-micro),border-color var(--dur-micro),color var(--dur-micro),box-shadow var(--dur-micro)}.btn:hover{border-color:var(--accent)}.btn:active{transform:translateY(1px);box-shadow:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 16px var(--accent-ring)}.btn.primary:hover{background:var(--accent-press);border-color:var(--accent-press)}.btn.ghost{background:transparent;color:var(--muted);border-color:transparent}.okline{background:var(--ok-bg);color:var(--ok);border:1px solid var(--ok-line);padding:10px 14px;border-radius:var(--radius-sm);font-size:13.5px;margin:12px 0}.okline.big{font-size:15px;font-weight:600;padding:14px 16px}.err{color:var(--bad);background:var(--bad-bg);border:1px solid var(--bad-line);padding:10px 14px;border-radius:var(--radius-sm);font-size:13.5px;margin-top:12px}.stream{margin-top:16px;background:var(--log-bg);color:var(--log-text);border-radius:var(--radius-sm);padding:14px 16px;font-family:var(--mono);font-size:12.5px;max-height:260px;overflow:auto}.stream-line{padding:2px 0}.stream-line.dim{color:var(--log-dim)}.checks{display:flex;flex-direction:column;gap:8px}.check-line{color:var(--muted);font-size:13px;display:flex;align-items:stretch;gap:10px;padding-left:2px}.check-line:before{content:"";width:3px;border-radius:2px;background:var(--line-strong);flex:0 0 3px}.check-line.is-running:before{background:var(--accent);animation:bar 1.2s ease-in-out infinite}@keyframes bar{0%,to{opacity:.35}50%{opacity:1}}.verdict{border-radius:var(--radius-sm);padding:14px 16px;margin-top:14px;border:1px solid}.verdict.good{background:var(--ok-bg);border-color:var(--ok-line);color:var(--ok)}.verdict.warn{background:var(--warn-bg);border-color:var(--warn-line);color:var(--warn)}.verdict.bad{background:var(--bad-bg);border-color:var(--bad-line);color:var(--bad)}.verdict-title{font-weight:700;font-size:14.5px}.facts{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px;font-size:12.5px}.facts .on{color:var(--ok)}.facts .off{color:var(--bad)}.disclaimer{background:var(--warn-bg);border:1px solid var(--warn-line);color:var(--warn);padding:12px 14px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5;margin-bottom:14px}.protocols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin:10px 0 4px}.proto{display:flex;flex-direction:row;align-items:center;gap:10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:10px 12px;cursor:pointer;background:var(--surface-2);font-weight:400;transition:border-color var(--dur-micro),background-color var(--dur-micro)}.proto.sel{border-color:var(--accent);background:var(--accent-soft)}.proto:active{border-color:var(--accent)}.proto b{display:block;font-size:13.5px;color:var(--text)}.proto small{color:var(--muted);font-size:12px}.proto input{width:16px;height:16px;accent-color:var(--accent)}.proto.off{opacity:.55;cursor:not-allowed}.badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-weight:700;vertical-align:middle}.log{margin-top:14px;background:var(--log-bg);color:var(--log-text);border-radius:var(--radius-sm);padding:14px 16px;font-family:var(--mono);font-size:12px;line-height:1.5;max-height:340px;overflow:auto;white-space:pre-wrap;word-break:break-word}.res-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin:14px 0}.res-label{font-size:12px;color:var(--muted);font-weight:700;margin:14px 0 6px}.qr{width:168px;height:168px;margin-top:10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);padding:6px;background:#fff}.clients{display:flex;flex-wrap:wrap;gap:8px}.client{border:1px solid var(--line-strong);background:var(--surface-2);border-radius:var(--radius-sm);padding:8px 11px;font-size:12.5px;display:flex;gap:7px;align-items:baseline}.client span{color:var(--muted)}.links{display:flex;flex-direction:column;gap:8px}.link-row{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:8px}.link-proto{font-weight:700;font-size:12.5px;min-width:110px;color:var(--accent)}.link-items{flex:1;min-width:0}.ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notice{display:flex;gap:10px;align-items:flex-start;background:var(--accent-soft);border:1px solid #cfe8e2;color:#0b5d57;padding:12px 14px;border-radius:var(--radius-sm);font-size:13px;line-height:1.5}.notice b{font-weight:700}.notice-icon{flex:0 0 auto;color:var(--accent);padding-top:1px}.help{border:1px solid var(--line);border-radius:var(--radius);padding:18px;background:var(--surface-2);margin-top:14px}.help h3{font-size:15px;margin:0 0 8px}.help p,.help li{color:var(--muted);font-size:13px;line-height:1.55}.help ul{margin:6px 0 12px;padding-left:18px}.help a{color:var(--accent)}.cluster{border:1px solid var(--line-strong);border-radius:var(--radius);padding:16px;background:var(--surface-2);margin-bottom:14px}.cluster h3{margin:0 0 10px;font-size:14px}.tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:11px;font-weight:700;background:var(--accent-soft);color:var(--accent)}.spacer{flex:1}@media (max-width: 720px){.cards,.grid2,.grid3,.protocols,.res-grid{grid-template-columns:minmax(0,1fr)}.hero-title{font-size:24px}.app{padding:20px 14px 64px}}
