*{box-sizing:border-box}body{color:#e7eef8;background:#07111e;margin:0;font-family:Inter,system-ui,Arial}.app{max-width:1200px;margin:auto;padding:28px}header{border-bottom:1px solid #23344b;justify-content:space-between;align-items:center;padding-bottom:24px;display:flex}.eyebrow{letter-spacing:2px;color:#60a5fa;font-size:10px;font-weight:800}h1{margin:7px 0;font-size:34px}h1 span{color:#60a5fa}p{color:#8294ab;margin:5px 0}.headerActions{align-items:center;gap:10px;display:flex}.status{letter-spacing:1px;color:#8193ab;border:1px solid #33445c;border-radius:30px;padding:9px 12px;font-size:11px}.status i{background:#64748b;border-radius:50%;width:8px;height:8px;display:inline-block}.status.online{color:#86efac}.status.online i{background:#22c55e}button{color:#fff;cursor:pointer;background:#273950;border:0;border-radius:8px;padding:10px 15px;font-weight:800}button.primary{background:#2563eb}button.danger{background:#b91c1c}button:disabled{opacity:.4}.hero{grid-template-columns:2fr 1fr;gap:14px;margin-top:18px;display:grid}.rpmBox,.speedBox,.card,.panel{background:#101c2d;border:1px solid #23344b;border-radius:15px}.rpmBox,.speedBox{padding:26px}.rpmBox label,.speedBox label,.card label{letter-spacing:1.5px;color:#8193ab;font-size:10px;font-weight:800;display:block}.rpmBox strong{margin:12px 0 2px;font-size:72px;line-height:1.05;display:block}.rpmBox small,.speedBox small,.card small{color:#60748d}.meter{background:#1e2d43;border-radius:20px;height:7px;margin-top:23px;overflow:hidden}.meter b{background:#3b82f6;height:100%;display:block}.scale{color:#5c6f88;justify-content:space-between;margin-top:6px;font-size:10px;display:flex}.speedBox{flex-direction:column;justify-content:center;display:flex}.speedBox strong{margin:10px 0;font-size:65px}.cards{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px;display:grid}.card{padding:19px}.card strong{margin:10px 0;font-size:30px;display:block}.grid{grid-template-columns:2fr 1fr;gap:14px;margin-top:14px;display:grid}.panel{padding:20px}.panelHead{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}h2{margin:0;font-size:16px}.panelHead p{font-size:12px}.chart{background:#091422;border:1px solid #1c2c41;border-radius:10px;margin-top:12px;padding:9px}.chart label{color:#6f829b;font-size:10px}.chart svg{width:100%;height:120px;margin-top:5px;display:block}.chart path{stroke:#263850;fill:none}.chart polyline{fill:none;stroke:#60a5fa;stroke-width:2px}.diag{grid-template-columns:1fr 1fr;gap:12px;margin-top:25px;font-size:12px;display:grid}.diag span{color:#70839c}.diag b{text-align:right}.log{margin-top:14px}.log pre{min-height:140px;max-height:280px}.log pre,pre{color:#8ee4b0;background:#060d17;border-radius:9px;padding:14px;font:12px ui-monospace,Consolas,monospace;overflow:auto}footer{text-align:center;color:#53677f;margin-top:18px;font-size:11px}@media (width<=850px){.hero,.grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.app{padding:15px}header{flex-direction:column;align-items:flex-start;gap:18px}.headerActions{flex-wrap:wrap}.rpmBox strong{font-size:52px}}.pwaBannerContainer{flex-direction:column;gap:10px;margin-bottom:16px;display:flex}.offlineBanner{color:#fbbf24;background:#1e293b;border:1px solid #f59e0b;border-radius:10px;align-items:center;gap:10px;padding:10px 16px;font-size:12px;font-weight:600;display:flex}.pwaInstallBanner{background:linear-gradient(90deg,#0f172a,#1e293b);border:1px solid #3b82f6;border-radius:12px;justify-content:space-between;align-items:center;padding:12px 18px;display:flex;box-shadow:0 4px 14px #2563eb26}.pwaInfo{align-items:center;gap:12px;display:flex}.pwaInfo img{border-radius:8px}.pwaInfo strong{color:#f8fafc;font-size:14px;display:block}.pwaInfo small{color:#94a3b8;font-size:11px}.pwaActions{align-items:center;gap:10px;display:flex}.installBtn{border-radius:6px;padding:8px 16px;font-size:12px}.dismissBtn{color:#94a3b8;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px 8px;font-size:16px}.dismissBtn:hover{color:#fff;background:#334155}
