.iot-page{background:#010907}.iot-dashboard,.iot-page{min-height:100vh;overflow:hidden}.iot-dashboard{position:relative;width:100vw;min-width:920px;aspect-ratio:3/2;isolation:isolate}.iot-dashboard-image{object-fit:cover;object-position:top center}.iot-grid,.iot-scanline,.iot-vignette{position:absolute;inset:0;pointer-events:none}.iot-vignette{z-index:1;box-shadow:inset 0 0 100px 15px rgb(0 20 14/.65)}.iot-grid{z-index:2;opacity:.1;background-image:linear-gradient(rgb(31 255 174/.18) 1px,transparent 0),linear-gradient(90deg,rgb(31 255 174/.14) 1px,transparent 0);background-size:72px 72px;mask-image:radial-gradient(circle at 50% 43%,black,transparent 46%);animation:iot-grid-breathe 5s ease-in-out infinite}.iot-scanline{z-index:3;height:10%;background:linear-gradient(transparent,rgb(51 255 184/.11),transparent);animation:iot-scan 7s linear infinite}.iot-back{left:1.2%;top:7.1%}.iot-back,.iot-live-clock{position:absolute;z-index:10}.iot-live-clock{right:2.2%;top:7.4%;display:flex;align-items:center;border:1px solid rgb(52 211 153/.32);border-radius:999px;padding:6px 11px;background:rgb(0 10 8/.72);color:#a7f3d0;font:600 11px/1 var(--font-geist-mono);letter-spacing:.08em;backdrop-filter:blur(8px)}.iot-live-dot{width:7px;height:7px;margin-right:7px;border-radius:50%;background:#34d399;box-shadow:0 0 10px #34d399;animation:iot-blink 1.4s ease-in-out infinite}.iot-radar{position:absolute;z-index:4;left:49.8%;top:57%;width:12%;aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none}.iot-radar span{position:absolute;inset:42%;border:1px solid rgb(74 222 128/.85);border-radius:50%;animation:iot-radar 3s ease-out infinite}.iot-radar span:nth-child(2){animation-delay:1s}.iot-radar span:nth-child(3){animation-delay:2s}.iot-sensor-pin{position:absolute;z-index:8;display:flex;align-items:center;gap:8px;border:1px solid rgb(52 211 153/.48);border-radius:7px;padding:6px 9px;background:rgb(0 18 13/.8);color:#d1fae5;box-shadow:0 0 22px rgb(16 185 129/.13);backdrop-filter:blur(7px)}.iot-sensor-pin small,.iot-sensor-pin strong{display:block;white-space:nowrap}.iot-sensor-pin small{color:#6ee7b7;font-size:8px}.iot-sensor-pin strong{margin-top:2px;font:600 10px/1 var(--font-geist-mono)}.iot-pin-1{left:40%;top:25%}.iot-pin-2{left:59%;top:37%}.iot-pin-3{left:43%;top:48%}.iot-pin-pulse{width:8px;height:8px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgb(74 222 128/.65);animation:iot-pin-pulse 1.8s ease-out infinite}.iot-particles{position:absolute;z-index:5;left:31%;top:10%;width:40%;height:58%;pointer-events:none}.iot-particles i{--n:var(--particle);position:absolute;left:calc(7% + (var(--n) * 6.4%));bottom:calc(3% + (var(--n) * 4%));width:2px;height:2px;border-radius:50%;background:#6ee7b7;box-shadow:0 0 8px #34d399;animation:iot-float calc(3s + (var(--n) * .15s)) ease-in-out infinite;animation-delay:calc(var(--n) * -.23s)}.iot-telemetry{position:fixed;z-index:12;left:50%;bottom:14px;display:grid;width:min(880px,calc(100vw - 28px));grid-template-columns:repeat(4,1fr);transform:translateX(-50%);overflow:hidden;border:1px solid rgb(52 211 153/.38);border-radius:12px;background:rgb(0 12 9/.82);box-shadow:0 16px 50px rgb(0 0 0/.55),0 0 30px rgb(16 185 129/.08);backdrop-filter:blur(13px)}.iot-telemetry-item{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;min-width:0;padding:10px 13px;color:#6ee7b7;border-right:1px solid rgb(52 211 153/.17)}.iot-telemetry-item:last-child{border-right:0}.iot-telemetry-item span,.iot-telemetry-item strong{display:block}.iot-telemetry-item span{overflow:hidden;color:#7c9c91;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.iot-telemetry-item strong{margin-top:2px;color:#ecfdf5;font:600 11px/1 var(--font-geist-mono)}.iot-telemetry-item small{color:#4ade80;font-size:8px}@keyframes iot-scan{0%{transform:translateY(-100%)}to{transform:translateY(1000%)}}@keyframes iot-grid-breathe{50%{opacity:.18}}@keyframes iot-blink{50%{opacity:.35}}@keyframes iot-radar{0%{inset:42%;opacity:.9}to{inset:0;opacity:0}}@keyframes iot-pin-pulse{70%,to{box-shadow:0 0 0 8px rgb(74 222 128/0)}}@keyframes iot-float{50%{transform:translateY(-22px);opacity:.35}}@media (max-width:900px){.iot-dashboard{min-width:0;width:100vw;height:100vh;aspect-ratio:auto}.iot-dashboard-image{object-fit:contain}.iot-particles,.iot-radar,.iot-sensor-pin{display:none}.iot-telemetry{grid-template-columns:repeat(2,1fr)}.iot-telemetry-item:nth-child(2){border-right:0}.iot-back,.iot-live-clock{top:12px}}@media (prefers-reduced-motion:reduce){.iot-dashboard *{animation-duration:.001ms!important;animation-iteration-count:1!important}}