:root{--bg:#08162b;--panel:#10233d;--panel2:#142b49;--text:#f5f8ff;--muted:#a9b8cc;--accent:#ffb21c;--danger:#ff525e;--line:#29415f}*{box-sizing:border-box}body{margin:0;background:linear-gradient(160deg,#07152b,#0c2039 65%,#08162b);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;min-height:100vh}header{display:flex;justify-content:space-between;align-items:center;padding:17px max(18px,calc((100% - 560px)/2));border-bottom:1px solid #29415f}.brand{display:flex;gap:11px;align-items:center}.brand>b{background:var(--accent);color:#142238;padding:10px;border-radius:12px}.brand strong{display:block}.brand em{color:var(--accent);font-style:normal}.brand small{display:block;color:var(--muted);font-size:11px}button,select{cursor:pointer}header button{background:var(--panel);color:white;border:1px solid var(--line);border-radius:50%;width:40px;height:40px}main{max-width:560px;margin:auto;padding:14px 16px 28px}.status{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;margin:8px 2px 14px}.status #accuracy{margin-left:auto}#gpsDot{width:8px;height:8px;background:#8795a8;border-radius:50%}#gpsDot.live{background:#36d399;box-shadow:0 0 9px #36d399}.speed{background:linear-gradient(145deg,#173252,#10243e);border:1px solid #294565;border-radius:24px;padding:23px 20px 18px;text-align:center;box-shadow:0 18px 40px #0003}.speed>small,.limit small{font-size:10px;letter-spacing:1px;color:#bdcadd}.reading{display:flex;align-items:baseline;justify-content:center;gap:9px}.reading span{font-size:clamp(82px,24vw,124px);font-weight:750;letter-spacing:-7px;line-height:1.2;font-variant-numeric:tabular-nums}.reading label{color:var(--muted)}#driveState{color:#36d399;font-size:13px;min-height:20px}.limit{display:flex;align-items:center;justify-content:space-between;text-align:left;border-top:1px solid #ffffff20;margin-top:17px;padding-top:16px}.limit b{font-size:39px}.limit span{display:block;font-size:11px;color:var(--muted)}.sign{width:66px;height:66px;border:7px solid #e83f49;border-radius:50%;background:white;color:#101820;display:grid;place-items:center;font-size:27px;font-weight:850}.warning{background:#63202a;border:1px solid #ff6470;padding:12px;border-radius:12px;font-size:12px;font-weight:800;margin-top:15px}.hidden{display:none!important}.speed.over{border-color:var(--danger);box-shadow:0 0 0 2px #ff525e44}.speed.over .reading{color:#ff7079}.actions{display:flex;gap:10px;margin:14px 0}.actions button{flex:1;padding:15px;border-radius:13px;font-weight:750;border:1px solid var(--line);background:#1a3555;color:white}.actions .primary{background:var(--accent);color:#182334;border:0}.actions button:disabled{opacity:.4}.panel{background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:16px;margin-top:13px}.panel h2{font-size:15px;margin:0 0 12px}.panelhead{display:flex;justify-content:space-between;align-items:center}.panelhead small{font-size:10px;color:var(--muted)}.panel h3{font-size:18px;margin:2px 0 5px}.panel p{color:var(--muted);font-size:12px;line-height:1.5}.manual{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:13px}.manual label{font-size:11px;color:var(--muted);flex:1}.manual select,.setting input[type=number]{background:#0b1a2e;color:white;border:1px solid var(--line);padding:9px;border-radius:8px;max-width:120px}.manual button{padding:9px 12px;border-radius:8px;background:#1a3555;color:white;border:1px solid #36516f}.link{border:0;background:none;color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats div{background:var(--panel2);padding:12px 6px;border-radius:11px;text-align:center}.stats b{display:block;font-size:23px}.stats small{font-size:10px;color:var(--muted)}.setting{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);font-size:13px}.setting input[type=number]{width:48px;padding:6px}.panel>p:last-child{font-size:10px}footer{text-align:center;color:#8192a8;font-size:10px;padding:5px 15px 25px}#toast{display:none;position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:#f1f5fb;color:#152238;padding:11px 16px;border-radius:10px;font-size:12px;max-width:90%;text-align:center}#toast.show{display:block}.light{background:#edf2f8;color:#142238}.light .panel{background:#fff}.light .speed{background:linear-gradient(145deg,#fff,#e9f0f8);color:#142238}.light .manual select,.light .setting input{background:white;color:#142238}