/* Shared instrument styling for the motorway and neighborhood speed limits. */
.speed-rule {
  position:absolute;left:35px;top:185px;width:278px;
  color:#f6f5ef;background:linear-gradient(135deg,#20292cf5,#101719f5);
  border:1px solid #aebfbb40;border-radius:12px;overflow:hidden;
  box-shadow:0 10px 28px #0003,inset 0 1px #ffffff0d;
  backdrop-filter:blur(16px);font-family:Arial,Helvetica,sans-serif;
  font-variant-numeric:tabular-nums;transition:border-color .18s,box-shadow .18s;
}
.speed-rule-header{display:flex;align-items:center;justify-content:space-between;padding:13px 15px 0;gap:12px}
.speed-rule-header>span{font-size:9px;font-weight:700;letter-spacing:1.25px;color:#aebcb9}
.rule-clock{display:flex;align-items:center;gap:6px;color:#f0f2ec}
.rule-clock svg{width:15px;height:15px;fill:none;stroke:#a3b3b0;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.rule-clock time{font-size:15px;font-weight:600;letter-spacing:.25px}
.speed-rule-body{display:flex;align-items:center;gap:15px;padding:15px}
.limit-disc {
  flex:none;display:grid;place-items:center;width:78px;height:78px;
  border:8px solid #d53239;border-radius:50%;background:#fffef7;color:#151719;
  outline:2px solid #e9ede5;outline-offset:0;
  box-shadow:0 3px 9px #0005,inset 0 0 0 1px #ffffff;
}
.limit-disc b{font:bold 34px/1 Arial,Helvetica,sans-serif;letter-spacing:-1.8px;transform:translateX(-.6px);font-variant-numeric:lining-nums}
.rule-copy{display:flex;flex-direction:column;min-width:0;gap:6px}
.rule-copy strong{font-size:17px;letter-spacing:-.35px;line-height:1.1}
.rule-copy small{font-size:11px;line-height:1.4;color:#c3ceca;white-space:nowrap}
.rule-unit{font-size:8px;letter-spacing:1.25px;color:#859791;margin-top:2px}
.speed-rule-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:11px 15px;border-top:1px solid #c2d1c315;background:#080e102e}
.rule-status{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:600;color:#b9d4c1}
.rule-status i{width:5px;height:5px;border-radius:50%;background:#8bb59b;box-shadow:0 0 7px #8bb59b30;flex:none}
.above-limit{display:none}
#fault-count{font-size:10px;color:#afbbb6;white-space:nowrap}
.speed-rule.over{border-color:#ec766b;box-shadow:0 8px 28px #0004,inset 3px 0 #ef685c}
.speed-rule.over .within-limit{display:none}
.speed-rule.over .above-limit{display:inline}
.speed-rule.over .rule-status{color:#ffb3a7}
.speed-rule.over .rule-status i{background:#ff8172;box-shadow:none}
.speed-rule.over .speed-rule-footer{background:#7c292a32;border-top-color:#db5e4f40}
#town-limit{position:absolute;left:25px;bottom:220px;display:flex;align-items:center;gap:14px;padding:13px 16px;color:#f2f3eb;background:linear-gradient(135deg,#20292cf0,#11191bf0);border:1px solid #aebfbb40;border-radius:11px;box-shadow:0 7px 22px #0003;backdrop-filter:blur(12px);font-family:Arial,Helvetica,sans-serif}
#town-limit .limit-disc{width:62px;height:62px;border-width:7px}
#town-limit .limit-disc b{font-size:31px;letter-spacing:-1px}
.town-rule-copy{display:flex;flex-direction:column;gap:5px}
.town-rule-copy>span{font-size:8px;letter-spacing:1px;color:#aebcb9;font-weight:700}
.town-rule-copy strong{font-size:16px;font-weight:600}
.town-rule-copy small{font-size:10px;color:#bbc6c1}
#town-limit.over{border-color:#ec766b;box-shadow:inset 3px 0 #ef685c,0 7px 22px #0003}
#town-limit.over .town-rule-copy strong{color:#ffb3a7}
@media(max-width:760px){
  .speed-rule{left:16px;top:215px;width:254px;border-radius:10px}
  .speed-rule-header{padding:11px 13px 0}.speed-rule-header>span{font-size:8px;letter-spacing:1px}
  .speed-rule-body{padding:13px;gap:13px}.limit-disc{width:66px;height:66px;border-width:7px}.limit-disc b{font-size:30px}
  .rule-copy strong{font-size:16px}.rule-copy small{font-size:10px}.rule-unit{font-size:7px}
  .speed-rule-footer{padding:10px 13px}.rule-status{font-size:10px}
}
@media(max-width:600px){
  #town-limit{bottom:190px;left:15px;padding:10px 12px;gap:10px}.touch #town-limit{bottom:255px}
  #town-limit .limit-disc{width:52px;height:52px;border-width:6px}#town-limit .limit-disc b{font-size:27px}
  .town-rule-copy strong{font-size:14px}.town-rule-copy>span{font-size:7px}
}
@media(max-height:600px) and (orientation:landscape){
  .speed-rule{top:153px;width:254px}.speed-rule-header{padding-top:9px}.speed-rule-body{padding-top:10px;padding-bottom:10px}.speed-rule-footer{padding-top:8px;padding-bottom:8px}
}
@media(prefers-reduced-motion:reduce){.speed-rule{transition:none}}
