*{box-sizing:border-box}:root{--bg:#f4f5fb;--card:rgba(255,255,255,0.92);--text:#161a2d;--muted:#7a7f96;--line:#e8e9f1;--accent:#5555d8;--accent-2:#7064e9;--dark:#25263a}body,html{margin:0;min-height:100%;font-family:Arial,Helvetica,sans-serif;background:radial-gradient(circle at 50% -10%,#e3e3ff 0,transparent 34%),var(--bg);color:var(--text)}button,input{font:inherit}button{border:0}.loading{place-items:center;color:var(--muted)}.auth-page,.loading{min-height:100vh;display:grid}.auth-page{place-items:center;padding:24px}.auth-card{width:min(420px,100%);background:var(--card);border:1px solid rgba(255,255,255,.9);box-shadow:0 24px 70px rgba(41,43,89,.12);border-radius:30px;padding:38px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-mark{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(145deg,#5b5be0,#7064e9);color:white;margin-bottom:28px}.brand-mark svg,.icon-button svg,.tab svg,footer svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.eyebrow{margin:0 0 7px;font-size:10px;font-weight:800;letter-spacing:.16em;color:#8589a0}h1,h2,p{margin-top:0}.auth-card h1{margin-bottom:8px;font-size:30px}.muted{color:var(--muted);font-size:14px;line-height:1.5;margin-bottom:28px}label{display:block;font-size:12px;font-weight:700;margin-bottom:16px;color:#555a72}label input{width:100%;margin-top:8px;padding:14px 15px;border:1px solid var(--line);border-radius:13px;background:white;outline:none}label input:focus{border-color:#7771e8;box-shadow:0 0 0 4px rgba(112,100,233,.1)}.primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:white;border-radius:13px;padding:14px 18px;font-weight:800;cursor:pointer;box-shadow:0 9px 22px rgba(85,85,216,.2)}.primary:disabled{opacity:.6}.full{width:100%;margin-top:5px}.error{background:#fff0f0;border:1px solid #ffd7d7;color:#a34040;border-radius:12px;padding:11px 13px;font-size:12px;margin:12px 0}.app-shell{width:min(760px,100%);margin:0 auto;padding:26px 18px 40px}.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.topbar h1{font-size:25px;margin:0;letter-spacing:-.03em}.icon-button{width:44px;height:44px;border-radius:15px;background:white;color:#676b82;display:grid;place-items:center;box-shadow:0 8px 24px rgba(39,41,82,.07);cursor:pointer}.hero-card{position:relative;overflow:hidden;border-radius:30px;padding:22px 24px 24px;color:white;background:linear-gradient(145deg,#4545c8,#6761e5 60%,#7166e9);box-shadow:0 20px 45px rgba(76,70,190,.28)}.hero-card:after{content:"";position:absolute;width:190px;height:190px;right:-70px;bottom:-95px;border-radius:50%;background:rgba(255,255,255,.09)}.hero-top{display:flex;align-items:center;justify-content:space-between;font-size:12px;position:relative;z-index:1}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#baf5d1;margin-right:7px;box-shadow:0 0 0 4px rgba(186,245,209,.13)}.device-label{opacity:.65;font-size:10px}.hero-number{font-size:48px;line-height:1;font-weight:800;letter-spacing:-.06em;margin-top:28px}.hero-caption,.hero-number{text-align:center;position:relative;z-index:1}.hero-caption{opacity:.78;font-size:12px;margin:8px 0 23px}.range{width:100%;height:5px;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:99px;background:#e9e9f1;outline:none}.hero-range{position:relative;z-index:1;background:rgba(255,255,255,.3)}.range::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:19px;height:19px;border-radius:50%;background:white;box-shadow:0 2px 8px rgba(0,0,0,.2);cursor:pointer}.range::-moz-range-thumb{width:19px;height:19px;border:0;border-radius:50%;background:white;box-shadow:0 2px 8px rgba(0,0,0,.2);cursor:pointer}.range-labels{display:flex;justify-content:space-between;font-size:9px;opacity:.65;margin-top:8px;position:relative;z-index:1}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;grid-gap:8px;gap:8px;background:#e9e9f2;padding:5px;border-radius:17px;margin:16px 0}.tab{display:flex;align-items:center;justify-content:center;gap:7px;padding:11px 7px;border-radius:13px;color:#777b91;background:transparent;font-size:12px;font-weight:800;cursor:pointer}.tab.active{color:#4f4fcf;background:white;box-shadow:0 5px 14px rgba(39,41,82,.08)}.panel{background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.95);border-radius:24px;padding:20px;margin-top:14px;box-shadow:0 12px 35px rgba(40,42,80,.06)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:16px}.section-heading h2{margin:0;font-size:18px;letter-spacing:-.02em}.small-status{color:#9195a8;font-size:10px;font-weight:700}.led-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:8px;gap:8px}.led-card{min-width:0;border-radius:17px;background:#f6f6fa;padding:13px 7px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:7px;color:#5c6076;border:1px solid transparent;transition:.18s ease}.led-card.selected{background:#eeeeff;border-color:#cfccff;color:#4d4dcc;transform:translateY(-2px)}.led-bulb,.mini-bulb{display:block;border-radius:50%;background:#d8d9e3}.led-bulb{width:20px;height:20px}.mini-bulb{width:11px;height:11px}.led-bulb.on,.mini-bulb.on{background:#7770e8;box-shadow:0 0 14px rgba(112,100,233,.45)}.led-name{font-size:10px;font-weight:800}.led-value{font-size:10px;color:#9a9daf}.speed-list{display:grid;grid-gap:17px;gap:17px}.speed-row{display:grid;grid-template-columns:72px 1fr 42px;grid-gap:13px;gap:13px;align-items:center}.speed-name{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800;color:#65697e}.speed-value{text-align:right;font-size:11px;color:#777b90;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}footer{display:flex;align-items:center;justify-content:center;gap:6px;color:#9b9eaf;font-size:10px;margin-top:24px}footer svg{width:13px;height:13px}.bottom-error{margin-top:14px}@media (max-width:520px){.app-shell{padding:18px 12px 30px}.hero-card{border-radius:25px;padding:19px 19px 21px}.panel{padding:16px;border-radius:20px}.led-grid{gap:5px}.led-card{padding:11px 4px}.led-name{font-size:9px}.speed-row{grid-template-columns:65px 1fr 38px;gap:9px}}