/* NABDH Premium Glass visual system */
:root{--ink:#10253b;--muted:#718093;--mint:#4ee0b4;--blue:#3f75ff;--glass:rgba(255,255,255,.60);--glass-border:rgba(255,255,255,.82);--shadow:0 24px 60px rgba(57,94,128,.12)}body{background:radial-gradient(circle at 15% 10%,#d8f7ff 0,transparent 28%),radial-gradient(circle at 86% 72%,#d8fff1 0,transparent 27%),linear-gradient(135deg,#fbfdff 0%,#eaf4fc 52%,#f9fdff 100%)}body:before{content:'';position:fixed;inset:0;z-index:-2;background-image:linear-gradient(rgba(55,104,151,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(55,104,151,.035) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,black,transparent 70%)}header{position:relative;margin-top:12px;background:#ffffff50;border:1px solid #ffffffbd;border-radius:18px;backdrop-filter:blur(18px) saturate(145%);box-shadow:0 10px 35px rgba(42,91,128,.07)}.brand-mark{background:linear-gradient(145deg,#132c49,#0a172a);box-shadow:inset 0 1px 1px #ffffff2b,0 5px 14px #18345135}.secure{padding:6px 10px;border:1px solid #ffffff99;border-radius:20px;background:#ffffff52}.secure i{animation:pulse 2s infinite}.secure.running i{background:#4a7df8;box-shadow:0 0 0 4px #dce7ff}.secure.running{color:#3c6fdc}@keyframes pulse{50%{box-shadow:0 0 0 7px #d7f8ee00}}.test-card,.metrics,.connection{border:1px solid var(--glass-border);background:var(--glass);backdrop-filter:blur(20px) saturate(135%);box-shadow:var(--shadow)}.test-card{position:relative;overflow:hidden}.test-card:before{content:'';position:absolute;width:290px;height:290px;left:-130px;top:-150px;border-radius:50%;background:#6ce9cb36;filter:blur(23px)}.state{position:relative;z-index:1;border:1px solid #ffffffc2}.dial{filter:drop-shadow(0 18px 18px rgba(58,159,179,.12))}.ring2{border-color:#cfe2e866}.ring1{border-top-color:#43e5be;border-right-color:#4a7df8}.go{position:relative;background:linear-gradient(135deg,#55e3be,#62d9dc);box-shadow:0 12px 30px #46dcb269}.go:after{content:'';position:absolute;inset:1px;border-radius:8px;border:1px solid #ffffff77}.metrics{overflow:hidden}.metrics article{background:linear-gradient(135deg,#ffffff40,transparent);transition:background .25s,transform .25s}.metrics article:hover{background:#fff8;transform:translateY(-2px)}.metric-icon{box-shadow:0 7px 16px #1b47601a}.connection{display:grid;grid-template-columns:1.25fr 1fr 1.15fr;gap:20px;align-items:center}.network-detail,.quality{padding-right:20px;border-right:1px solid rgba(119,154,178,.20)}.network-detail strong{font:600 14px 'DM Mono';direction:ltr;display:block}.network-detail span,.quality>span{font-size:10px;color:#8c9baa;margin-top:5px;display:block;direction:ltr}.quality-heading{display:flex;justify-content:space-between;align-items:center}.quality-heading p{margin-bottom:5px}.quality-heading b{font:600 12px 'DM Mono';color:#278b74;background:#e4fbf4;border-radius:20px;padding:4px 7px;direction:ltr}.quality strong{font-size:17px}.quality .bars{margin-top:9px}.bars i{height:5px;flex:1;max-width:22px}.foot{background:#ffffff45;backdrop-filter:blur(8px);border:1px solid #ffffff78;border-radius:12px;padding:10px 16px}.o1,.o2{filter:blur(8px);opacity:.75}@media(max-width:600px){header{margin:10px 10px 0}.connection{grid-template-columns:1fr 1fr;gap:16px}.connection-info{grid-column:1/-1;border-bottom:1px solid rgba(119,154,178,.18);padding-bottom:12px}.network-detail,.quality{padding-right:0;border-right:0}.quality{text-align:right}.bars{justify-content:flex-start}.foot{margin-top:18px}body.en .network-detail,body.en .quality{padding-left:0;border-left:0}}

/* Dark mode */
.theme{width:32px;height:32px;display:grid;place-items:center;border:1px solid #d9e5eb;border-radius:8px;background:#ffffff78;color:#18324d;font:700 18px/1 Arial;cursor:pointer;transition:transform .2s,background .2s}.theme:hover{transform:translateY(-2px)}
body.dark{--ink:#eaf5ff;--muted:#a8bbc9;--line:#29445b;background:radial-gradient(circle at 12% 8%,#154568 0,transparent 30%),radial-gradient(circle at 90% 80%,#0e5149 0,transparent 29%),linear-gradient(135deg,#061321 0%,#0a1d30 51%,#071622 100%);color:var(--ink)}body.dark:before{background-image:linear-gradient(rgba(145,209,240,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(145,209,240,.045) 1px,transparent 1px)}body.dark header{background:#0f263b91;border-color:#6e94af42;box-shadow:0 10px 38px #0000002e}body.dark .brand{color:#eff9ff}body.dark .brand-mark{background:linear-gradient(145deg,#193b5a,#081422);box-shadow:inset 0 1px 1px #a3eaff26,0 5px 18px #0008}body.dark .secure{background:#132e4399;border-color:#6096b046;color:#bcd5e5}body.dark .lang,body.dark .theme{background:#10283eaa;border-color:#6096b052;color:#e4f5ff}body.dark .test-card,body.dark .metrics,body.dark .connection{background:linear-gradient(135deg,#15344a9e,#0e263b92);border-color:#7db0ca30;box-shadow:0 24px 60px #0000003b}body.dark .test-card:before{background:#29d9b52b}body.dark .state{background:#17334a;color:#b8d2e2;border-color:#75a7bf30}body.dark .state.running{background:#0d443b;color:#75f0cb}body.dark .state.done{background:#152f54;color:#91b7ff}body.dark .ring2{border-color:#6c9dbb52}.dark .ring{border-color:#5e91ab54}.dark .ring1{border-color:transparent;border-top-color:#5de8c2;border-right-color:#6190ff}.dark .dial:after,.dark .dial:before{color:#8aa9bd}.dark .dial-main span,.dark .dial-main small{color:#a5c0d1}.dark .notice{color:#9bb1c1}.dark .metrics article{background:linear-gradient(135deg,#ffffff0a,transparent)}.dark .metrics article:hover{background:#ffffff12}.dark .metrics article+article{border-color:#7194aa35}.dark .metrics p,.dark .connection p{color:#afc1d0}.dark .metrics strong small{color:#9db7cb}.dark .metrics span,.dark .connection span{color:#91aabd}.dark .latency{background:#4c2b203d;color:#ffb06e}.dark .down{background:#25478954;color:#8badff}.dark .up{background:#15574652;color:#68e5c0}.dark .network-detail,.dark .quality{border-color:#759bb333}.dark .quality-heading b{background:#155644;color:#79efc8}.dark .bars i{background:#35536a}.dark .foot{background:#102a3d88;border-color:#608da433;color:#9db7c7}.dark .o1{background:#123f65}.dark .o2{background:#0e5549}.dark .go{box-shadow:0 12px 32px #27f0bc36}
