:root{--bg:#060f1b;--panel:#0d1a2a;--panel-2:#101f32;--field:#091522;--line:#2a4765;--line-soft:#80a0c624;--text:#f4f8ff;--muted:#95a9c1;--dim:#6f849e;--blue:#73acff;--orange:#ff9c4c;--green:#4fe0a4;--red:#ff7084}*{box-sizing:border-box}html,body{background:var(--bg);min-height:100%;color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}body{background:radial-gradient(800px 420px at 50% -150px,#4884d126,#0000 70%),linear-gradient(#07111e,#050c16)}button,input{font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #73acff9e}button{transition:transform .18s,background-color .18s,border-color .18s,color .18s,box-shadow .18s,opacity .18s}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}.app{min-height:100vh;padding-bottom:72px}.topbar{border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);z-index:20;background:#050d17e0;align-items:center;height:72px;padding:0 clamp(18px,4vw,48px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:11px;display:flex}.brand-icon{background:linear-gradient(145deg,#13263d,#091522);border:1px solid #3d5b7a;border-radius:10px;place-items:center;width:36px;height:36px;display:grid;box-shadow:0 0 16px #4c8be017}.diamond{fill:#73acff0b;stroke:#78adf3;stroke-width:1.5px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 6px #5f97e014);width:23px;height:22px}.brand>div{align-items:baseline;gap:9px;display:flex}.brand strong{letter-spacing:-.035em;font-size:20px}.brand>div>span{color:#7d93ad;font-size:10.5px;font-weight:650}.main{width:min(1120px,100% - 30px);margin:0 auto;padding:clamp(34px,6vw,62px) 0 34px}.intro{text-align:center;max-width:800px;margin:0 auto 26px}.eyebrow{color:#7891b0;letter-spacing:.18em;font-size:10px;font-weight:900;display:block}.intro h1{letter-spacing:-.045em;margin:9px 0 10px;font-size:clamp(33px,4.7vw,49px);font-weight:590;line-height:1.06}.intro p{color:#93a8c1;max-width:710px;margin:0 auto;font-size:clamp(14px,1.4vw,16px);line-height:1.5}.scanner-card,.results{border:1px solid var(--line);background:linear-gradient(150deg,#112033fc,#0a1522fc);border-radius:18px;box-shadow:0 20px 70px #0000003d}.scanner-card{padding:18px}.mode-switch{background:#091521;border:1px solid #2c4967;border-radius:12px;grid-template-columns:1fr 1fr;padding:4px;display:inline-grid}.mode-switch button{color:#7d92ac;cursor:pointer;min-width:132px;height:43px;box-shadow:none;background:0 0;border:0;border-radius:8px;padding:0 20px;font-size:12px;font-weight:850}.mode-switch button.active{color:#f5f8ff;background:linear-gradient(#1a3556,#142b46);box-shadow:inset 0 1px #ffffff09}.form{align-items:end;gap:12px;margin-top:18px;display:grid}.auto-form{grid-template-columns:minmax(260px,1fr) 190px}.manual-form{grid-template-columns:1.08fr 1.03fr .95fr 104px 190px}.field{min-width:0}.field span{color:#9eb2ca;letter-spacing:.08em;white-space:nowrap;margin:0 0 7px;font-size:10px;font-weight:900;display:block}.field input{width:100%;height:54px;color:var(--text);background:linear-gradient(#0b1726,#09131f);border:1px solid #3b5876;border-radius:11px;padding:0 15px;font-size:14px;box-shadow:inset 0 1px #ffffff05}.field input::placeholder{color:#617793}.field input:focus{border-color:#5d8bc3;box-shadow:0 0 0 3px #558fdc17}.port-field input{text-align:center}.sni-field>span{letter-spacing:.04em;white-space:nowrap;font-size:10px}.scan-button{color:#fff;cursor:pointer;background:linear-gradient(#4a83ca,#315f9d);border:1px solid #5e91d4;border-radius:11px;justify-content:center;align-items:center;gap:10px;height:54px;font-size:12px;font-weight:900;display:flex;box-shadow:0 9px 26px #3064aa38}.scan-button b{font-size:18px;font-weight:600;line-height:1}.scan-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 30px #3064aa45}.scan-button:disabled{opacity:.58;cursor:not-allowed;transform:none}.error{color:#ffbbc5;background:#7c1d2e29;border:1px solid #ff70844d;border-radius:10px;margin-top:12px;padding:13px 14px;font-size:11px;line-height:1.5}.testing-line{color:#9bb0c9;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:11px;font-weight:850;display:flex}.testing-line.strong{color:#eef4fc;letter-spacing:.01em;font-size:12px;font-weight:900}.testing-line i{background:var(--orange);border-radius:50%;width:7px;height:7px;box-shadow:0 0 12px #ff9c4c66}.results{margin-top:18px;overflow:hidden}.results-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:end;gap:18px;padding:20px 22px;display:flex}.results h2{letter-spacing:-.03em;margin:7px 0 0;font-size:26px;line-height:1.08}.results-meta{color:#748aa3;font-size:10px;font-weight:750}.result-list{background:#243b55;gap:1px;display:grid}.result-card{background:linear-gradient(155deg,#101f31,#0c1726);padding:22px;transition:background .2s,transform .2s}.ready-card{box-shadow:inset 3px 0 #4fe0a4d1}.result-heading{grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;display:grid}.rank{color:#adc1da;background:#14263e;border:1px solid #385879;border-radius:11px;place-items:center;width:44px;height:44px;font-size:12px;font-weight:900;display:grid}.sni-block{min-width:0}.sni-block .label{color:#7189a7;letter-spacing:.14em;white-space:nowrap;font-size:9px;font-weight:900;display:block}.address-pair{scrollbar-width:none;-ms-overflow-style:none;align-items:flex-start;gap:30px;min-width:0;max-width:100%;padding:1px 0 3px;display:flex;overflow:auto hidden}.address-pair::-webkit-scrollbar{display:none}.address-group{flex:none;min-width:max-content}.address-group .label{color:#7189a7;letter-spacing:.14em;white-space:nowrap;font-size:9px;font-weight:900;display:block}.address-line{white-space:nowrap;align-items:center;gap:5px;width:max-content;min-width:max-content;margin-top:4px;display:inline-flex}.address-line strong{color:#fff;letter-spacing:-.04em;white-space:nowrap;text-overflow:clip;flex:none;min-width:max-content;max-width:none;font-size:clamp(20px,2.3vw,27px);font-weight:900;line-height:1.08;transition:color .2s,text-shadow .2s;display:block;overflow:visible}.target-address{white-space:nowrap;align-items:center;gap:5px;width:max-content;min-width:max-content;margin-top:4px;display:inline-flex}.target-value{color:#7b91aa;white-space:nowrap;text-overflow:clip;flex:none;min-width:max-content;max-width:none;font-size:10px;font-weight:550;line-height:1.2;transition:color .2s,text-shadow .2s;display:block;overflow:visible}.copy-icon{color:#8098b5;cursor:pointer;width:22px;height:22px;box-shadow:none;background:0 0;border:0;border-radius:6px;flex:0 0 22px;place-items:center;margin:0;padding:0;transition:transform .18s,color .18s,background-color .18s;display:grid}.copy-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.copy-icon:hover{color:#e4efff;background:#6ca1e814;transform:scale(1.05)}.copy-icon:active{transform:scale(.92)}.copy-icon.copied{color:#70e3ad;background:#4fe0a412;animation:.32s copyDone}.address-copied strong,.address-copied .target-value{color:#79e2b0;text-shadow:0 0 15px #4fe0a429}.verdict{letter-spacing:.07em;border-radius:999px;align-items:center;gap:7px;padding:8px 11px;font-size:9px;font-weight:900;display:flex}.verdict i{border-radius:50%;width:7px;height:7px}.verdict.ready{color:#a2f0cc;background:#4fe0a412;border:1px solid #4fe0a440}.verdict.ready i{background:var(--green);box-shadow:0 0 10px #4fe0a44d}.verdict.bad{color:#ffacb8;background:#ff70840f;border:1px solid #ff708438}.verdict.bad i{background:var(--red)}.performance{grid-template-columns:repeat(4,1fr);gap:10px;margin-top:17px;display:grid}.metric{background:#091522;border:1px solid #2b4561;border-radius:11px;min-width:0;padding:15px;position:relative;overflow:hidden}.metric:after{content:"";width:3px;height:100%;position:absolute;top:0;left:0}.metric.client-delay:after{background:var(--blue);box-shadow:0 0 16px #73acff47}.metric.server-delay:after{background:var(--green);box-shadow:0 0 16px #4fe0a438}.metric.stability:after{background:#71859d}.metric.stability.good{border-color:#4fe0a461}.metric.stability.good:after{background:var(--green);box-shadow:0 0 16px #4fe0a442}.metric.stability.mid{border-color:#ff9c4c61}.metric.stability.mid:after{background:var(--orange);box-shadow:0 0 16px #ff9c4c3d}.metric.stability.bad{border-color:#ff708461}.metric.stability.bad:after{background:var(--red);box-shadow:0 0 16px #ff708438}.metric.tls-metric:after{background:#8c78ff;box-shadow:0 0 16px #8c78ff33}.metric span{color:#7188a4;letter-spacing:.09em;white-space:nowrap;font-size:8px;font-weight:900;display:block}.metric strong{color:#f6f9ff;white-space:nowrap;text-overflow:ellipsis;margin-top:5px;font-size:clamp(14px,1.55vw,17px);font-weight:900;display:block;overflow:hidden}.checks{flex-wrap:wrap;gap:7px;margin-top:11px;display:flex}.check{color:#8ea3bc;background:#09141f;border:1px solid #29425e;border-radius:999px;align-items:center;gap:6px;padding:7px 10px;font-size:8px;font-weight:900;display:inline-flex}.check i{background:var(--red);border-radius:50%;width:7px;height:7px}.check.ok{color:#9de1c2}.check.ok i{background:var(--green);box-shadow:0 0 9px #4fe0a438}.evidence-line{color:#6e849e;border-top:1px solid #7c9ac01a;flex-wrap:wrap;align-items:center;gap:7px 10px;margin-top:11px;padding-top:10px;font-size:8px;display:flex}.evidence-line span{color:#5f7897;letter-spacing:.12em;font-size:7px;font-weight:900}.evidence-line b{color:#9eb4cc;font-weight:800}.result-note{color:#ffacb8;border-top:1px solid #7c9ac01f;margin-top:12px;padding-top:11px;font-size:9px;line-height:1.45}.copy-actions,.result-footer{display:none}footer{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#8c9eb5;letter-spacing:.015em;z-index:30;background:#050b13f7;border-top:1px solid #7e9dc329;place-items:center;height:54px;font-size:11px;font-weight:700;display:grid;position:fixed;bottom:0;left:0;right:0}@keyframes copyDone{0%{opacity:.65;transform:scale(.82)}65%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@media (max-width:1050px){.manual-form{grid-template-columns:1fr 1fr 105px 1fr 170px}.manual-form .server-field{grid-column:1/-1}.manual-form .sni-field{grid-column:1/2}.manual-form .target-field{grid-column:2/3}.manual-form .port-field{grid-column:3/4}.manual-form .scan-button{grid-column:4/5}}@media (max-width:760px){.address-pair{gap:24px;overflow-x:auto}.address-group{flex:none}.address-line strong{font-size:clamp(20px,7vw,24px)}.target-value{font-size:9.5px}.copy-icon{flex-basis:28px;width:28px;height:28px}.app{padding-bottom:64px}.topbar{height:64px;padding:0 15px}.brand strong{font-size:18px}.brand>div>span{font-size:10px}.main{width:min(100% - 16px,600px);padding:28px 0 24px}.intro{margin-bottom:20px}.intro h1{font-size:35px}.intro p{font-size:14px}.scanner-card{border-radius:14px;padding:13px}.mode-switch{width:100%}.mode-switch button{min-width:0;height:43px}.auto-form,.manual-form{gap:11px;grid-template-columns:1fr!important}.manual-form .server-field,.manual-form .sni-field,.manual-form .target-field,.manual-form .port-field,.manual-form .scan-button{grid-column:auto!important}.field span{font-size:10px}.sni-field>span{letter-spacing:.02em;white-space:nowrap;font-size:9px}.field input,.scan-button,.form .scan-button{width:100%}.testing-line{font-size:10.5px}.testing-line.strong{text-align:center;padding:0 8px;font-size:11.5px}.results-head{padding:17px 15px}.results h2{font-size:22px}.results-meta{display:none}.result-card{padding:17px}.result-heading{grid-template-columns:39px minmax(0,1fr);gap:12px}.rank{width:39px;height:39px}.verdict{grid-column:2;justify-self:start;margin-top:7px}.performance{grid-template-columns:repeat(2,1fr);gap:8px}.metric{padding:13px 12px}.metric strong{font-size:14px}.checks{gap:6px}.check{padding:7px 9px}.evidence-line{color:#6e849e;border-top:1px solid #7c9ac01a;flex-wrap:wrap;align-items:center;gap:7px 10px;margin-top:11px;padding-top:10px;font-size:8px;display:flex}.evidence-line span{color:#5f7897;letter-spacing:.12em;font-size:7px;font-weight:900}.evidence-line b{color:#9eb4cc;font-weight:800}.result-note{font-size:8.8px}footer{text-align:center;height:48px;padding:0 12px;font-size:10px}}@media (min-width:1400px){.main{width:min(1160px,100% - 64px)}.intro h1{font-size:52px}.scanner-card{padding:20px}.field input,.scan-button,.result-card{padding:24px}}
