:root{--bg:#0a0415;--bg-2:#14072c;--card:#1a0d36;--border:rgba(255,255,255,0.07);--text:#f1edf8;--muted:#9b93b3;--accent:#5a1db3;--accent-2:#8b4dff;--up:#22c55e;--down:#ef4444;--wait:#6b7280}*{box-sizing:border-box}body,html{margin:0;padding:0;background:linear-gradient(180deg,#1c0a3d 0,var(--bg) 420px);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}a{color:inherit;text-decoration:none}button{font:inherit}.wrap{max-width:600px;margin:0 auto;padding:24px 16px 40px}.top{display:flex;align-items:center;justify-content:space-between;margin-bottom:36px}.top img{height:24px;width:auto}.info-btn{width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.06);color:var(--muted);display:grid;place-items:center;cursor:pointer;transition:background .15s,color .15s}.info-btn:hover{background:rgba(255,255,255,.12);color:var(--text)}h1{margin:0 0 12px;font-size:32px;font-weight:800;letter-spacing:-.02em}.lead{margin:0 0 24px;color:var(--muted);font-size:16px;line-height:1.55}.reco{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-radius:12px;background:linear-gradient(135deg,#5a1db3,#7b3fe6);box-shadow:0 8px 24px rgba(90,29,179,.3);overflow:hidden;margin-bottom:24px;transition:transform .15s,box-shadow .15s}.reco:before{content:"";position:absolute;inset:0;background:radial-gradient(420px 160px at 85% 0,rgba(255,255,255,.18),transparent 70%);pointer-events:none}a.reco:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(90,29,179,.5)}.reco>span{position:relative;display:flex;flex-direction:column;gap:2px}.reco strong{font-size:17px;font-weight:700}.reco small{font-size:13px;color:rgba(255,255,255,.78)}.reco svg{position:relative;flex:none}.reco.none{background:var(--card);box-shadow:none;border:1px solid var(--border)}.reco.none:before{display:none}.search{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:0 16px;height:48px;color:var(--muted);margin-bottom:16px;transition:border-color .15s}.search:focus-within{border-color:var(--accent-2)}.search input{flex:1 1;background:transparent;border:0;outline:0;color:var(--text);font-size:15px;min-width:0}.search input::placeholder{color:var(--muted)}.list{list-style:none;margin:0;padding:6px 0;background:var(--card);border:1px solid var(--border);border-radius:14px}.row+.row{border-top:1px solid var(--border)}.row a{display:flex;align-items:center;gap:14px;padding:17px 20px;font-size:16px;font-weight:500;transition:background .12s}.row a:hover{background:rgba(255,255,255,.035)}.row .host{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chev,.row.down .host{color:var(--muted)}.chev{flex:none}.empty{padding:20px 22px;color:var(--muted);font-size:15px}.lamp{width:10px;height:10px;border-radius:50%;background:var(--wait);flex:none}.lamp.checking{animation:pulse 1.2s ease-in-out infinite}.lamp.up{background:var(--up);box-shadow:0 0 10px rgba(34,197,94,.75)}.lamp.down{background:var(--down);box-shadow:0 0 10px rgba(239,68,68,.6)}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.foot{margin-top:64px;text-align:center;color:var(--muted)}.age{display:inline-block;border:1.5px solid var(--muted);border-radius:6px;padding:3px 8px;font-size:13px;font-weight:700;letter-spacing:.02em}.foot p{margin:12px 0 0;font-size:14px}.backdrop{position:fixed;inset:0;background:rgba(5,2,12,.72);display:grid;place-items:center;padding:16px;z-index:10;animation:fade .15s ease-out}.modal{width:100%;max-width:560px;background:#221244;border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:28px;box-shadow:0 24px 60px rgba(0,0,0,.5)}.modal h2{margin:0 0 14px;font-size:22px;font-weight:700}.modal p{margin:0 0 24px;font-size:16px;line-height:1.6;color:#d9d2ea}.close{width:100%;height:56px;border:0;border-radius:12px;background:rgba(255,255,255,.1);color:var(--text);font-size:17px;font-weight:700;cursor:pointer;transition:background .15s}.close:hover{background:rgba(255,255,255,.16)}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (max-width:520px){h1{font-size:30px}.row a{padding:16px;font-size:16px}.reco{padding:16px 18px}}