:root{font-family:Inter,Segoe UI,Arial,sans-serif;color:#17243b;background:#f3f6fa;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{margin:0}header{min-height:76px;padding:16px 4vw;background:#102443;color:#fff;display:flex;align-items:center;gap:32px}header .brand{font-size:24px;font-weight:750;color:#fff;text-decoration:none}header .muted{color:#becce0}header form{margin-left:auto;display:flex;gap:12px;align-items:center}main{max-width:1450px;margin:auto;padding:36px 4vw 64px}a{color:#165fc2;text-underline-offset:3px}h1{font-size:32px;letter-spacing:-.8px;margin:4px 0 22px}h2{font-size:22px;margin:24px 0}h3{font-size:19px;margin:0}p{margin:12px 0}.eyebrow{color:#3b6294;font-size:13px;font-weight:750;letter-spacing:1.8px}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:6px 0 30px}.stats article,.node{background:#fff;border:1px solid #dbe3ef;border-radius:12px;padding:24px}.stats span{display:block;color:#53657b;font-size:14px}.stats strong{font-size:38px;display:block;margin-top:8px;line-height:1.2}.stats small{font-size:15px;color:#65758b;font-weight:400}.stats .mode{font-size:21px;margin:15px 0 6px}nav{display:flex;gap:25px;border-bottom:1px solid #cdd8e7;overflow:auto}nav a{padding:14px 3px;text-decoration:none;color:#52627a;white-space:nowrap}nav a.selected{color:#114ea6;border-bottom:3px solid #236cd5;font-weight:700}.nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.badge{font-size:13px;padding:4px 10px;background:#eef1f5;border-radius:30px;color:#566378;white-space:nowrap}.badge.ok{background:#e1f5ed;color:#126144}.mono,pre{font-family:Consolas,monospace;font-size:14px}.node-count{color:#66768d;margin:23px 0 8px}.node-count strong{font-size:30px;color:#17243b}progress{width:100%;height:8px;accent-color:#266eda}.muted{color:#65758b;font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}button,.button{font:inherit;background:#175fc6;border:1px solid #175fc6;color:white;border-radius:7px;display:inline-block;padding:10px 17px;text-decoration:none;cursor:pointer;text-align:center}button:hover,.button:hover{filter:brightness(.94)}.secondary{background:#fff;color:#28445f;border-color:#cbd6e6}.small{padding:6px 11px;font-size:14px}input,select,textarea{display:block;width:100%;border:1px solid #b5c5d9;border-radius:6px;padding:11px;font:inherit;background:white;color:#17243b}input[type=checkbox]{display:inline-block;width:auto}label{display:block;font-weight:600;font-size:14px;margin:20px 0 6px}.helptext{display:block;font-size:14px;color:#5b6c84;margin-top:5px}.form{max-width:750px;background:white;border:1px solid #dbe3ef;border-radius:12px;padding:30px;margin-top:25px}.login{max-width:440px;margin:55px auto;background:white;padding:35px;border-radius:12px;border:1px solid #dbe3ef}.login button{width:100%;margin-top:25px}.notice{border-left:4px solid #247764;background:#e4f3ed;padding:15px 20px;margin-bottom:24px}.notice.error,.errorlist{color:#a3272d;background:#fff0f0}.errorlist{padding:10px 25px}.table-wrap{overflow:auto;background:white;border:1px solid #dbe3ef;border-radius:10px}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;color:#5c6b80;background:#f8fafd;font-size:13px;font-weight:650}th,td{padding:16px 18px;border-bottom:1px solid #e5ebf3}tr:last-child td{border-bottom:none}.search{display:flex;max-width:450px;gap:10px;margin-bottom:20px}.empty{text-align:center;padding:50px;border:1px dashed #b8c9df;border-radius:12px;grid-column:1/-1;background:white}.pagination{display:flex;justify-content:center;gap:20px;margin:24px}details{background:white;border:1px solid #dbe3ef;padding:18px 22px;border-radius:9px;margin-top:24px}summary{cursor:pointer;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:450px;overflow:auto;background:#f3f6fa;padding:18px}footer{padding:20px 4vw;color:#738099;font-size:13px;border-top:1px solid #dbe3ef}:focus-visible{outline:3px solid #e09526;outline-offset:3px}@media(max-width:900px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.nodes{grid-template-columns:1fr}header>.muted{display:none}}@media(max-width:540px){header{gap:12px;padding:14px 18px}header .brand{font-size:20px}header form span{display:none}main{padding:24px 18px}.heading{flex-wrap:wrap}.stats{gap:10px}.stats article{padding:15px}.stats strong{font-size:30px}.stats .mode{font-size:17px}nav{gap:20px}h1{font-size:27px}.node{padding:20px}.form,.login{padding:22px}.pagination{gap:10px;font-size:14px}}
