:root{--bg:#f6f5f1;--surface:#fff;--text:#1c1c1a;--muted:#6b6a64;--border:#e3e1d9;--accent:#2f5bd3;--ok:#1f8a4c;--ok-bg:#e5f4ea;--bad:#c2382f;--bad-bg:#fbe9e7;--wait:#8a8780;--radius:0}@media (prefers-color-scheme:dark){:root{--bg:#151513;--surface:#1f1f1c;--text:#edebe4;--muted:#9c9a92;--border:#33332f;--accent:#7d9cf0;--ok:#5cc98a;--ok-bg:#18301f;--bad:#f07f76;--bad-bg:#3a1d1a;--wait:#77756e}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}main{max-width:760px;margin:0 auto;padding:24px 16px 72px}.lang{justify-content:flex-end;margin-bottom:32px;display:flex}.lang a{color:var(--muted);border:1px solid var(--border);letter-spacing:.04em;padding:4px 10px;font-size:13px;font-weight:600;text-decoration:none}.lang a:hover{color:var(--text);border-color:var(--text)}h1{letter-spacing:-.02em;margin:0 0 12px;font-size:clamp(28px,6vw,40px);line-height:1.15}.lead{color:var(--muted);max-width:560px;margin:0 0 28px}h2{color:var(--muted);margin:36px 0 10px;font-size:15px;font-weight:600}.form{gap:8px;display:flex}.form input{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);min-width:0;height:52px;color:var(--text);font:inherit;outline:none;flex:1;padding:0 16px}.form input:focus{border-color:var(--accent)}.form button{border-radius:var(--radius);background:var(--text);height:52px;color:var(--bg);font:inherit;cursor:pointer;border:0;padding:0 22px;font-weight:600}.form button:disabled{opacity:.55;cursor:progress}.hint{color:var(--muted);min-height:20px;margin:8px 2px 0;font-size:13px}.error{color:var(--bad)}.result{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);margin-top:18px;padding:18px 20px}.result.ok{background:var(--ok-bg);border-color:#0000}.result.bad{background:var(--bad-bg);border-color:#0000}.result strong{font-size:18px;display:block}.result span{color:var(--muted);font-size:14px}.result .via{color:var(--text);margin-top:4px;font-size:14px;display:block}.vpn{margin-top:36px}.vpn-row{align-items:center;gap:16px;display:flex}.vpn-row strong{white-space:nowrap;font-size:22px}.bar{background:var(--bad-bg);flex:1;height:10px}.bar span{background:var(--ok);height:100%;display:block}.vpn small{color:var(--muted);margin-top:8px;font-size:13px;display:block}.grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px;display:grid}.site{align-items:center;gap:12px;padding:14px 16px;display:flex}.tile{background:var(--surface);border:1px solid var(--border);align-self:start;position:relative}details.tile>summary{cursor:pointer;list-style:none}details.tile>summary::-webkit-details-marker{display:none}.chevron{border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);flex:none;width:8px;height:8px;margin-left:4px;transition:transform .15s;transform:rotate(-45deg)}details.tile[open] .chevron{transform:rotate(45deg)}.urls{z-index:20;background:var(--surface);border:1px solid var(--border);margin:0;padding:4px 16px 12px;list-style:none;position:absolute;top:calc(100% + 4px);left:-1px;right:-1px;box-shadow:0 8px 24px #0000001f}details.tile[open]{z-index:21}.urls li{flex-wrap:wrap;align-items:center;gap:8px;padding-top:8px;display:flex}.urls .dot{width:8px;height:8px}.urls .url{overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.urls small{color:var(--muted);flex-basis:100%;padding-left:16px;font-size:12px}.icon{flex:none;width:24px;height:24px}.icon.letter{background:var(--text);color:var(--bg);place-items:center;font-size:14px;font-weight:700;display:grid}.site-text{flex:1;min-width:0}.dot{background:var(--wait);flex:none;width:10px;height:10px}.dot.ok{background:var(--ok)}.dot.bad{background:var(--bad)}.dot.partly{background:linear-gradient(90deg, var(--ok) 50%, var(--bad) 50%)}.site b{font-weight:600;display:block}.site small{color:var(--muted);font-size:13px}footer{color:var(--muted);margin-top:44px;font-size:13px}altcha-widget{display:none}@media (max-width:480px){.form{flex-direction:column}.form input{flex:none}}
