:root{--bg:#090d14;--panel:#111824;--panel2:#17202d;--text:#f4f7fa;--muted:#8f9bac;--accent:#e7ff3f;--danger:#ff5263;--ok:#46e3a1;--line:#253142;--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;color-scheme:dark}*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 75% -10%,#24311b 0,transparent 28rem),var(--bg);color:var(--text);min-height:100vh}.hidden{display:none!important}button,input,select,textarea{font:inherit}.topbar{height:66px;position:sticky;top:0;z-index:100;display:flex;align-items:center;padding:0 max(18px,calc((100vw - 980px)/2));gap:12px;background:rgba(9,13,20,.88);backdrop-filter:blur(14px);border-bottom:1px solid #ffffff0e}.brand{color:#fff;text-decoration:none;font-size:14px;font-weight:900;letter-spacing:.13em;margin-right:auto}.brand span{display:inline-grid;place-items:center;background:var(--accent);color:#090d14;border-radius:7px;width:32px;height:32px;letter-spacing:-.08em;margin-right:8px}.icon-btn,.ghost,.back{border:0;background:transparent;color:var(--text);cursor:pointer}.icon-btn{font-size:26px;padding:8px}.nav{position:fixed;z-index:90;right:14px;top:60px;display:none;flex-direction:column;min-width:210px;padding:8px;background:var(--panel2);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 60px #0009}.nav.open{display:flex}.nav a{color:#dbe2ea;text-decoration:none;padding:13px 15px;border-radius:9px}.nav a:hover{background:#ffffff0a;color:var(--accent)}main{width:min(980px,100%);margin:auto;padding:34px 18px 80px}.page{display:none}.page.active{display:block;animation:enter .25s ease}@keyframes enter{from{opacity:0;transform:translateY(7px)}}h1{font-size:clamp(32px,6vw,58px);letter-spacing:-.055em;line-height:.95;margin:7px 0 28px}h2{font-size:21px;margin:32px 0 15px}.eyebrow{font-size:11px;font-weight:900;color:var(--accent);letter-spacing:.18em;margin:0}.panel{background:linear-gradient(145deg,var(--panel2),var(--panel));border:1px solid var(--line);padding:20px;border-radius:var(--radius)}.status-card{display:flex;align-items:center;gap:13px;background:var(--panel);padding:16px;border-radius:14px;border:1px solid var(--line)}.status-card small{display:block;color:var(--muted);margin-top:3px}.pulse{width:11px;height:11px;border-radius:50%;background:#697486;box-shadow:0 0 0 7px #69748620}.status-card.good .pulse{background:var(--ok);box-shadow:0 0 0 7px #46e3a120}.action-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:18px 0}.action-card{min-height:150px;text-align:left;padding:18px;border:1px solid var(--line);border-radius:var(--radius);color:var(--text);background:var(--panel);cursor:pointer;transition:.2s}.action-card:hover{transform:translateY(-3px);border-color:#566372}.action-card b{display:block;font-size:clamp(24px,5vw,42px);letter-spacing:-.06em}.action-card span{display:block;color:var(--muted);margin-top:8px}.action-card.accent{background:var(--accent);color:#090d14}.action-card.accent span{color:#35400d}.list,.ranking-list{display:grid;gap:9px}.empty{color:var(--muted);padding:25px 0}.list-item,.rank-item{display:flex;align-items:center;gap:15px;padding:15px;background:var(--panel);border:1px solid var(--line);border-radius:14px;cursor:pointer}.list-item .value{font-size:22px;font-weight:900;margin-left:auto}.list-item small,.rank-item small{display:block;color:var(--muted);margin-top:3px}.rank-item .position{width:32px;color:var(--accent);font-size:20px;font-weight:900}.rank-item .rank-value{margin-left:auto;text-align:right;font-weight:900}.tabs{display:flex;gap:5px;background:#090d1466;padding:4px;border-radius:11px;margin-bottom:18px}.tabs button{flex:1;border:0;padding:11px;border-radius:8px;background:transparent;color:var(--muted)}.tabs button.active{background:var(--panel2);color:#fff}.auth-gate{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:50px;min-height:70vh}.auth-copy p:last-child{color:var(--muted);font-size:18px;max-width:500px}.auth-panel{max-width:400px;width:100%}form{display:grid;gap:14px}label{display:grid;gap:7px;font-size:12px;font-weight:700;color:#b9c4d1}input,select,textarea{width:100%;border:1px solid var(--line);background:#0b111a;color:#fff;border-radius:10px;padding:13px;outline:0}input:focus,select:focus,textarea:focus{border-color:var(--accent)}textarea{min-height:90px;resize:vertical}.primary,.danger{border:0;border-radius:11px;padding:14px 18px;font-weight:900;cursor:pointer}.primary{background:var(--accent);color:#0a0e13}.danger{background:#391721;color:#ff93a0}.compact{width:auto;margin-bottom:18px}.form-error{color:#ff8a96;font-size:13px;margin:0;min-height:1em}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toggle{display:flex;align-items:center;gap:10px}.toggle input{display:none}.toggle span{width:40px;height:22px;background:#354052;border-radius:99px;position:relative}.toggle span:after{content:"";position:absolute;width:16px;height:16px;left:3px;top:3px;border-radius:50%;background:#fff;transition:.2s}.toggle input:checked+span{background:var(--accent)}.toggle input:checked+span:after{left:21px;background:#111}.hint{color:var(--muted);line-height:1.4}.measure-head{display:flex;justify-content:space-between}.live{text-align:center;min-height:70vh}.gps-pill{display:inline-block;padding:7px 12px;border:1px solid var(--line);border-radius:99px;color:var(--muted);font-size:12px}.gps-pill.good{color:var(--ok);border-color:#46e3a155}.speed{margin:30px 0 0}.speed strong{font-size:clamp(110px,28vw,220px);line-height:.8;letter-spacing:-.1em;font-variant-numeric:tabular-nums}.speed span{display:block;color:var(--muted);font-weight:700}.state{font-size:13px;font-weight:900;letter-spacing:.16em;color:var(--accent);margin:25px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-block:1px solid var(--line);margin:25px 0}.metrics div{padding:15px 4px}.metrics b,.metrics span{display:block}.metrics span{font-size:10px;color:var(--muted);margin-top:4px}.record-btn{width:150px;height:150px;border-radius:50%;border:8px solid #202b39;background:var(--accent);color:#0b0f14;font-weight:1000;cursor:pointer;box-shadow:0 0 0 1px #4a5769}.record-btn:disabled{background:#515b69;color:#222}.live>.ghost{display:block;margin:15px auto}.result{text-align:center}.result-value{font-size:clamp(55px,12vw,100px);font-weight:1000;letter-spacing:-.07em;margin:20px}.validation{padding:12px;border-radius:10px;margin:10px 0 20px}.validation.good{background:#46e3a115;color:var(--ok)}.validation.bad{background:#ff526315;color:#ff8793}.map{height:280px;border-radius:14px;margin:18px 0;background:#18202a}.map.tall{height:430px}.result .primary,.result .ghost{width:100%;margin-top:8px}.vehicle-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:12px}.vehicle{padding:18px;background:var(--panel);border:1px solid var(--line);border-radius:14px}.vehicle h3{margin:0 0 5px}.vehicle p{color:var(--muted);margin:4px 0}.vehicle button{color:#ff7b89;background:none;border:0;padding:10px 0;cursor:pointer}.filters{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}.filters .primary{grid-column:1/-1}.back{padding:0;margin-bottom:20px;color:var(--accent)}.detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.detail-stats div{background:var(--panel);padding:15px;border-radius:12px}.detail-stats strong,.detail-stats span{display:block}.detail-stats span{font-size:11px;color:var(--muted);margin-top:4px}.legal{margin-top:30px;max-width:650px;color:var(--muted);line-height:1.6}.toast{position:fixed;z-index:999;bottom:20px;left:50%;transform:translate(-50%,30px);opacity:0;background:#eaf0f5;color:#10141a;padding:12px 18px;border-radius:10px;font-weight:700;transition:.25s;pointer-events:none}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:650px){main{padding-top:24px}.action-grid{grid-template-columns:1fr 1fr}.action-card:last-child{grid-column:1/-1}.auth-gate{grid-template-columns:1fr;gap:20px}.auth-copy h1{margin-bottom:12px}.filters{grid-template-columns:1fr}.two-col{gap:8px}.speed strong{font-size:35vw}.metrics{grid-template-columns:1fr 1fr}.detail-stats{grid-template-columns:1fr 1fr}.topbar{padding-inline:14px}}
