/* Shared sizing keeps every simulator panel on the same type and spacing scale. */
:is(.pit-dialog, .appearance-panel, .transmitter-dialog, .safari-transmitter-dialog) {
  --menu-control: 44px;
  --menu-inset: 24px;
  --menu-space-sm: 8px;
  --menu-space-md: 16px;
  --menu-space-lg: 24px;
  --menu-type-title: 24px;
  --menu-type-heading: 16px;
  --menu-type-body: 12px;
  --menu-type-small: 11px;
  --menu-type-meta: 10px;
  --menu-muted: #717171;
  font-family: var(--mono);
  font-size: var(--menu-type-body);
  line-height: 1.6;
}

/* Four destinations, with each decision kept beside the controls it affects. */
.pit-dialog {
  width: min(1040px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  color: #222;
  background: #fff;
  border-color: #dedede;
}
.pit-dialog [hidden] { display: none !important; }
.pit-dialog .pit-heading { padding: var(--menu-inset); gap: var(--menu-space-md); align-items: center; }
.pit-dialog .pit-heading h2 { margin: 0; font-size: var(--menu-type-title); letter-spacing: -.6px; line-height: 1.25; }
.pit-dialog .pit-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: visible;
  background: #fff;
  border-color: #e2e2e2;
}
.pit-dialog .pit-tabs button {
  min-width: 0;
  min-height: var(--menu-control);
  padding: 12px 8px !important;
  line-height: 1.5;
  font-size: var(--menu-type-body) !important;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #626262;
}
.pit-dialog .pit-tabs button[aria-selected=true] { color: var(--blue); background: #fff; border-bottom-color: var(--blue); }
.pit-dialog .pit-tabs button:hover { background: #fafafa; }
.pit-dialog .pit-panel { padding: var(--menu-inset); }
.pit-dialog .hint { font-size: var(--menu-type-small); line-height: 1.6; color: var(--menu-muted); }
.pit-dialog .pit-panel h3 { font-size: var(--menu-type-heading); font-weight: 500; letter-spacing: -.25px; line-height: 1.4; }
.pit-dialog h4 { margin: 0 0 var(--menu-space-md); font-size: var(--menu-type-body); font-weight: 500; }
.pit-dialog .eyebrow { color: #737b8b; }
.pit-dialog .subtle { font-size: var(--menu-type-small); }
.pit-dialog .pit-footer { background: #fff; border-color: #dce1ed; padding: var(--menu-space-md) var(--menu-inset); }

.menu-section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--menu-space-md); margin-bottom: var(--menu-space-md); }
.menu-section-heading .hint { margin: 8px 0 0; }
.menu-disclosure, .menu-signin { border-top: 1px solid #e0e5ef; }
.menu-disclosure > summary, .menu-signin > summary {
  display: flex;
  align-items: center;
  gap: 12px;
  list-style: none;
  cursor: pointer;
  min-height: var(--menu-control); padding: var(--menu-space-md) 0;
  color: #3b4c69;
  font-size: var(--menu-type-body);
}
.menu-disclosure > summary::-webkit-details-marker, .menu-signin > summary::-webkit-details-marker { display: none; }
.menu-disclosure > summary::before, .menu-signin > summary::before { content: '+'; color: var(--blue); font-size: 18px; line-height: 1; }
.menu-disclosure[open] > summary::before, .menu-signin[open] > summary::before { content: '−'; }
.menu-signin > summary small { margin-left: auto; font-size: var(--menu-type-meta); color: #7c8494; }
.menu-account-entry { margin-bottom: 22px; }
.menu-signin { border: 1px solid #e0e0e0; background: #fff; padding: 0 var(--menu-space-md); }
.menu-signin > summary { color: var(--blue); font-size: var(--menu-type-body); }
.menu-signin .driver-home__signin { border: 0; background: none; margin: 0; padding: var(--menu-space-sm) 0 var(--menu-space-lg); gap: var(--menu-space-lg); }
.driver-home__toolbar { display: flex; justify-content: flex-end; margin: -10px 0 8px; }
.pit-dialog .driver-home__stats > div { padding: 17px 16px; }
.pit-dialog .driver-home__stats > div:first-child { padding-left: 0; }
.pit-dialog .driver-home__stats strong { margin-top: 7px; font-size: 25px; }
.pit-dialog .driver-home__stats-note { margin: 10px 0 22px; font-size: var(--menu-type-small) !important; }
.menu-session { display: grid; grid-template-columns: 1fr 1fr; gap: var(--menu-space-lg); padding: 0 0 var(--menu-space-lg); margin-bottom: var(--menu-space-lg); border-bottom: 1px solid #e0e5ef; }
.menu-session .timing { border: 0; padding: 0; }
.menu-session .section-top { margin: 0 0 12px; }
.menu-session .lap-current { margin: 0 0 var(--menu-space-md); }
.menu-session .lap-current strong { font-size: 29px; }
.menu-session .lap-grid { margin: 0; gap: 14px; }
.menu-session .practice-goal { margin: 10px 0 16px; font-size: 16px; line-height: 1.5; }
.menu-session .practice-grid { gap: 14px; }
.menu-session .practice-grid strong { font-size: 20px; }
.menu-session .hint { margin: 13px 0 0; font-size: var(--menu-type-small); }
.pit-dialog .driver-home__columns { gap: var(--menu-space-lg); }
.pit-dialog .driver-home__section-heading { margin-top: 0; }
.pit-dialog .driver-home__section-heading h3 { margin: 0; }
.pit-dialog .driver-home__row { padding: 14px 0; }
.pit-dialog .driver-home__empty { padding: 16px 0; margin: 0; font-size: var(--menu-type-small); }
.menu-progress { margin-top: 26px; }
.menu-progress .driver-home__progress { margin: 0; padding: 0 0 var(--menu-space-lg); border: 0; }
.menu-race-room { margin-top: 4px; border-top: 1px solid #e0e5ef; padding-top: 25px; scroll-margin-top: 65px; }
.menu-race-room:focus { outline: none; }
.menu-room-columns { display: grid; grid-template-columns: 1.2fr .8fr; gap: var(--menu-space-lg); margin: 0 0 24px; }
.menu-room-columns .online-profile .hint { font-size: var(--menu-type-small); }
.menu-room-columns .profile-fields { gap: 16px; grid-template-columns: 90px 1fr; }
.menu-room-columns .online-profile-actions { margin-top: 14px; }
.menu-room-columns .online-profile-actions .primary { flex: none; }
.menu-room-columns .online-drivers { margin: 0; }
.menu-account-card { color: var(--blue); font-size: var(--menu-type-body); padding: 8px 0; }
.menu-race-room .room-status { margin-top: 4px; flex: none; font-size: var(--menu-type-meta); }
.menu-race-room .leaderboard-section { padding-top: 22px; border-color: #e0e5ef; }
.menu-race-room .leaderboard-heading { margin-bottom: 16px; }
.menu-race-room .leaderboard-heading h3 { margin: 7px 0 0; font-size: var(--menu-type-heading); }
.menu-race-room .leaderboard-controls { gap: var(--menu-space-sm); }
.menu-race-room .leaderboard-controls select { min-width: 145px; }
.menu-race-room .lap-submit { margin-top: 15px; }
.menu-race-room .empty-board { padding: 22px 12px; font-size: var(--menu-type-body); }
.menu-car-picker { margin-bottom: var(--menu-space-lg); }
.pit-dialog .model-gallery { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--menu-space-sm); }
.pit-dialog .selection-card { border-color: #e0e5ef; background: #fff; min-width: 0; }
.pit-dialog .selection-card[aria-pressed=true] { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); background: #f8f9ff; }
.pit-dialog .model-gallery .selection-card-art { padding: 25px 4px 5px; background: #f8f9fc; }
.pit-dialog .model-gallery .selection-card-art svg { height: 82px; }
.pit-dialog .model-gallery .selection-card-badge { font-size: var(--menu-type-meta); top: 9px; left: 9px; }
.pit-dialog .model-gallery .selection-card-body { padding: 11px 10px; }
.pit-dialog .model-gallery .selection-card-body strong { font-size: var(--menu-type-body); line-height: 1.5; }
.pit-dialog .model-gallery .selection-card-spec { font-size: var(--menu-type-meta); margin-top: 5px; }
.pit-dialog .model-gallery .selection-card-description { display: none; }
.menu-selected-description { margin: 12px 0 0; line-height: 1.7; }
.menu-selection-status { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.pit-dialog .driver-setup { max-width: none; margin: 0; padding-top: var(--menu-space-lg); border-top: 1px solid #e0e5ef; }
.pit-dialog .setup-intro { margin: 0; }
.pit-dialog .setup-intro .hint { margin: 8px 0 0; }
.pit-dialog .car-save-label { margin: 8px 0; font-size: var(--menu-type-small); color: #69748a; }
.pit-dialog .surface-control { margin: var(--menu-space-md) 0; }
.pit-dialog .surface-label { display: flex; justify-content: space-between; gap: var(--menu-space-sm); margin-bottom: var(--menu-space-sm); }
.pit-dialog .surface-label output { color: var(--menu-muted); font-size: var(--menu-type-small); }
.pit-dialog .surface-presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--menu-space-sm); }
.pit-dialog .surface-presets button { min-width: 0; min-height: var(--menu-control); padding: 10px var(--menu-space-sm); font-size: var(--menu-type-body); border: 1px solid #dce2ef; color: #344653; background: #fff; }
.pit-dialog .surface-presets button[aria-pressed=true] { border-color: var(--blue); box-shadow: inset 0 0 0 1px var(--blue); color: var(--blue); background: #f4f5ff; }
.pit-dialog .handling-presets { margin: var(--menu-space-md) 0; gap: var(--menu-space-sm); }
.pit-dialog .handling-presets button { min-height: 96px; gap: var(--menu-space-sm); padding: var(--menu-space-md); border-color: #dce2ef; }
.pit-dialog .handling-presets button .preset-mark { display: none; }
.pit-dialog .handling-presets button strong { font-size: var(--menu-type-body); }
.pit-dialog .handling-presets button small { font-size: var(--menu-type-small); line-height: 1.6; }
.pit-dialog .pace-control { background: #fafafa; border-color: #e0e0e0; padding: var(--menu-space-md); }
.pit-dialog .pace-control .hint { font-size: var(--menu-type-small); }
.pit-dialog .handling-summary { margin: var(--menu-space-md) 0; font-size: var(--menu-type-small); }
.pit-dialog .handling-controls { margin-top: var(--menu-space-lg); }
.pit-dialog .handling-group { padding: var(--menu-space-md) 0; border-top: 1px solid #e0e5ef; }
.pit-dialog .handling-group .setup { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--menu-space-md) var(--menu-space-lg); margin-top: var(--menu-space-md); }

.pit-dialog .technical-workshop { margin-top: var(--menu-space-lg); border-color: #e0e5ef; }
.pit-dialog .technical-workshop > summary { font-size: var(--menu-type-body); color: #43516c; }
.pit-dialog .technical-workshop > summary > span { font-size: var(--menu-type-meta); }
.pit-dialog .technical-workshop .setup { margin-top: 20px; }
.menu-share { display: flex; align-items: center; gap: 24px; margin-top: var(--menu-space-lg); padding-top: 20px; border-top: 1px solid #e0e5ef; }
.menu-share .subtle { color: var(--blue); flex: none; }
.menu-share .hint { margin: 0; font-size: var(--menu-type-small); }
.pit-dialog .track-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--menu-space-md); }
.pit-dialog .track-gallery { align-items: start; }
.pit-dialog .track-card { min-width: 0; }
.pit-dialog .track-card > .selection-card { width: 100%; }
.pit-dialog .track-card-actions:not([hidden]) { display: flex; flex-wrap: wrap; gap: 8px; padding: 12px; border: 1px solid var(--blue); border-top: 0; background: #f8f9ff; }
.pit-dialog .track-card-actions .subtle { flex: 1 1 auto; min-width: 0; padding: 10px; }
.pit-dialog .track-gallery .selection-card-art svg { height: 160px; }
.pit-dialog .track-gallery .selection-card-body strong { font-size: var(--menu-type-body); }
.pit-dialog .track-gallery .selection-card-spec { font-size: var(--menu-type-small); line-height: 1.7; }
.pit-dialog .selection-filters { margin: 0 0 var(--menu-space-md); gap: 8px; }
.menu-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--menu-space-lg); align-items: start; }
.menu-settings-card { padding: 0 0 var(--menu-space-lg); border-bottom: 1px solid #e0e5ef; }
.menu-settings-card > h3 { margin: 0 0 16px !important; }
.menu-select-label { display: block; color: #48556f; font-size: var(--menu-type-body); margin: var(--menu-space-md) 0; }
.menu-select-label select { display: block; width: 100%; margin-top: var(--menu-space-sm); min-height: var(--menu-control); font-size: var(--menu-type-body); }
.lap-announcement-settings .menu-select-label input[type="text"] { display: block; box-sizing: border-box; width: 100%; margin-top: var(--menu-space-sm); min-height: var(--menu-control); padding: 8px 10px; border: 1px solid #dce2ef; font: inherit; }
.menu-settings-card .controller-button { max-width: none; width: 100%; margin: var(--menu-space-md) 0 var(--menu-space-sm); background: #fff; font-size: var(--menu-type-body); border-color: #dce2ef; }
.menu-settings-card .sound-switch { margin: var(--menu-space-md) 0; font-size: var(--menu-type-body); }
.menu-settings-card .inputs { border-top: 1px solid #e0e5ef; padding: 0; margin-top: 20px; }
.menu-settings-card .inputs > .section-top { margin-top: 7px; }
.menu-settings-card .inputs .hint { font-size: var(--menu-type-small); }
.menu-settings-card .menu-disclosure { margin-top: 20px; }
.menu-settings-card .menu-disclosure > summary { font-size: var(--menu-type-body); padding: 15px 0; }
.menu-settings-card .view-settings-actions { display: flex; flex-wrap: wrap; gap: var(--menu-space-sm); margin-top: var(--menu-space-md); }
.menu-settings-card .view-settings-actions .subtle { border: 1px solid #e0e5ef; }
.menu-settings-card .lap-announcement-settings { border-top: 1px solid #e0e5ef; margin-top: 20px; padding-top: 3px; }
.menu-settings-card .lap-announcement-settings .menu-select-label { margin-bottom: 8px; }
.menu-settings-card .lap-announcement-settings .subtle { margin-top: 8px; }
.menu-settings-card .sound-textures { padding-top: 12px; }
.menu-settings-card .texture-grid { grid-template-columns: 1fr 1fr; gap: var(--menu-space-lg) var(--menu-space-md); }
.menu-settings-card .texture-grid label { font-size: var(--menu-type-small); }
.menu-settings-card .sound-textures > .hint { font-size: var(--menu-type-small); }
.menu-settings-card .volume-label { font-size: var(--menu-type-body); }
.menu-source { margin: 26px 0 0; font-size: var(--menu-type-meta); color: #7d8594; }
.menu-source a { color: inherit; }

/* Transmitter setup shares the menu's quiet frame; the current step leads. */
.transmitter-dialog, .safari-transmitter-dialog { color: #222; background: #fff; border-color: #dedede; }
.transmitter-dialog [hidden] { display: none !important; }
.transmitter-dialog .modal-header, .safari-transmitter-dialog .modal-header { align-items: center; }
.transmitter-dialog .modal-header h2, .safari-transmitter-dialog .modal-header h2 { margin: 0; font-size: var(--menu-type-title); letter-spacing: -.6px; line-height: 1.25; }
.transmitter-layout { gap: var(--menu-space-lg); margin-top: 24px; }
.transmitter-display { padding: 0; border: 0; background: none; }
.transmitter-display .tx-model-panel { background: #fafafa; border-color: #e2e2e2; }
.transmitter-display .tx-model-heading { justify-content: flex-end; }
.transmitter-display .tx-model-caption { background: #f6f6f6; border-color: #e2e2e2; }
.transmitter-display .tx-view { --tx-cobalt: var(--blue); }
.transmitter-display .tx-readouts { margin-top: 16px; }
.transmitter-guide .select-label { font-size: var(--menu-type-small); color: #626262; }
.transmitter-guide #padStatus { min-height: 0; color: #717171; font-size: var(--menu-type-small); }
.transmitter-guide .calibration-box { margin-top: var(--menu-space-lg); padding-top: var(--menu-space-lg); border-color: #e2e2e2; }
.transmitter-guide .calibration-box h3 { margin: 0 0 10px; font-size: var(--menu-type-heading); letter-spacing: -.25px; }
.transmitter-guide .calibration-box p { color: #626262; font-size: var(--menu-type-body); }
.transmitter-guide .calibration-box .error { color: #9b432e; }
.transmitter-guide #calibrationStep { display: block; margin-bottom: 10px; color: #717171; font-size: var(--menu-type-meta); letter-spacing: .8px; }
.transmitter-guide .calibration-stages { margin-bottom: var(--menu-space-md); }
.transmitter-guide .calibration-stages li { border-color: #dedede; color: #717171; }
.transmitter-guide .calibration-stages li.is-current { border-color: var(--blue); color: var(--blue); }
.transmitter-guide .calibration-stages li.is-complete { border-color: #75947c; color: #496c53; }
.transmitter-guide .hold-progress { background: #e8e8e8; }
.transmitter-guide .profile-note { margin: var(--menu-space-md) 0 0; padding: 0; border: 0; background: none; color: #717171; font-size: var(--menu-type-small); }
.transmitter-guide .subtle { font-size: var(--menu-type-small); }
.transmitter-dialog .usb-help { border-color: #e2e2e2; color: #717171; font-size: var(--menu-type-small); }
.transmitter-dialog .usb-help summary { font-size: var(--menu-type-body); }
.safari-transmitter-dialog .modal-intro { margin: var(--menu-space-lg) 0 var(--menu-space-md); color: #626262; line-height: 1.8; }

@media (max-width: 800px) {
  .pit-dialog .track-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pit-dialog .model-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pit-dialog .model-gallery .selection-card-art svg { height: 100px; }
  .pit-dialog .pit-panel { padding: var(--menu-inset); }
  .menu-settings-grid, .menu-session, .menu-room-columns, .pit-dialog .driver-home__columns { gap: var(--menu-space-lg); }
}
@media (max-width: 600px) {

  .transmitter-layout { gap: var(--menu-space-lg); }
  .transmitter-display .tx-model { max-height: 195px; margin: 12px auto 4px; }
  .transmitter-display .tx-model-heading { top: 10px; right: 10px; }
  .transmitter-display .tx-readouts { margin-top: 12px; gap: 12px 18px; }
  .transmitter-guide .calibration-box { margin-top: 16px; padding-top: 16px; }

  .pit-dialog { width: calc(100vw - 20px); max-width: calc(100vw - 20px); max-height: calc(100dvh - 20px); }
  .pit-dialog .pit-heading { padding: var(--menu-inset); flex-wrap: nowrap; }

  .pit-dialog .pit-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .pit-dialog .pit-tabs button { min-width: 0; font-size: var(--menu-type-body) !important; padding: 12px 4px !important; }
  .pit-dialog .pit-panel { padding: var(--menu-inset); }
  .pit-dialog .pit-footer { padding: var(--menu-space-md) var(--menu-inset); gap: var(--menu-space-sm); }
  .pit-dialog .pit-footer > .primary { width: auto; margin-left: auto; }
  .menu-settings-grid, .menu-session, .menu-room-columns, .pit-dialog .driver-home__columns { grid-template-columns: 1fr; gap: var(--menu-space-lg); }
  .pit-dialog .driver-home__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pit-dialog .driver-home__stats > div { padding: 14px !important; }
  .pit-dialog .driver-home__stats > div:nth-child(odd) { padding-left: 0 !important; }
  .pit-dialog .driver-home__stats > div:nth-child(2) { border-right: 0; }
  .menu-signin { padding: 0 var(--menu-space-md); }
  .menu-signin > summary { align-items: flex-start; flex-wrap: wrap; gap: 9px; font-size: var(--menu-type-body); }
  .menu-signin > summary > span { flex: 1; }
  .menu-signin > summary small { width: 100%; margin: 0 0 0 21px; }
  .menu-signin .driver-home__signin { grid-template-columns: 1fr; gap: var(--menu-space-md); }
  .menu-signin .driver-home__signin-copy > p:last-child { margin-top: 12px; }
  .menu-session .menu-practice { border-top: 1px solid #e0e5ef; padding-top: 22px; }
  .menu-race-room .menu-section-heading { flex-direction: column; gap: 12px; }
  .menu-race-room .leaderboard-controls { flex-wrap: wrap; }
  .menu-race-room .leaderboard-controls select { min-width: 0; }
  .pit-dialog .model-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pit-dialog .model-gallery .selection-card-art svg { height: 90px; }
  .pit-dialog .handling-group .setup { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pit-dialog .handling-presets { gap: var(--menu-space-sm); }
  .pit-dialog .handling-presets button { padding: var(--menu-space-md); min-height: 104px; }
  .pit-dialog .handling-presets button strong { font-size: var(--menu-type-body); }
  .pit-dialog .handling-presets button small { font-size: var(--menu-type-small); }
  .pit-dialog .technical-workshop > summary > span { font-size: var(--menu-type-meta); }
  .pit-dialog .track-gallery { grid-template-columns: 1fr; }
  .pit-dialog .track-gallery .selection-card-art svg { height: 165px; }
  .menu-share { align-items: flex-start; flex-direction: column; gap: var(--menu-space-sm); }
}
@media (max-width: 360px) {
  .pit-dialog .pit-tabs button { font-size: var(--menu-type-small) !important; }

  .pit-dialog .handling-presets { grid-template-columns: 1fr; }
  .pit-dialog .handling-presets button { min-height: 0; }
  .menu-room-columns .profile-fields { grid-template-columns: 1fr; }
}
.pit-dialog .menu-session h3.eyebrow { font-size: var(--menu-type-meta); letter-spacing: 1px; }
.pit-dialog .menu-room-columns .online-profile { min-width: 0; }
.pit-dialog .menu-room-columns .profile-fields input { min-width: 0; }

/* Controls share a 44px target. Visual selection cards keep their intrinsic height. */
:is(.pit-dialog, .appearance-panel, .transmitter-dialog, .safari-transmitter-dialog) :is(button.primary, button.subtle, button.text-button, button.controller-button),
.pit-dialog :is(.driver-home__row-actions, .driver-home__setup-form, .driver-home__profile-form) button,
.pit-dialog .selection-filter {
  min-height: var(--menu-control);
  padding: 10px var(--menu-space-md);
  font-family: var(--mono);
  font-size: var(--menu-type-body);
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  border-radius: 0;
}
:is(.pit-dialog, .appearance-panel, .transmitter-dialog, .safari-transmitter-dialog) .close {
  width: var(--menu-control);
  height: var(--menu-control);
  min-height: var(--menu-control);
  padding: 0;
  margin: 0;
  font-size: 24px;
  line-height: 1;
}
:is(.pit-dialog, .appearance-panel, .transmitter-dialog, .safari-transmitter-dialog) :is(select, input[type=text], input[type=email], input[type=number], input:not([type])) {
  min-height: var(--menu-control);
  font-family: var(--mono);
  font-size: var(--menu-type-body);
  line-height: 1.5;
  border-radius: 0;
}
:is(.pit-dialog, .transmitter-dialog) select { margin-top: var(--menu-space-sm); padding: 10px 32px 10px 12px; }
.pit-dialog :is(.driver-home label, .profile-fields label, .setup > label, .texture-grid label, .volume-label, .preview-trigger, .sound-switch),
.transmitter-guide .select-label { font-size: var(--menu-type-body); line-height: 1.5; }
.pit-dialog :is(.driver-home__check, .driver-home__check small, .driver-home__row small, .driver-home__status, .driver-home__empty),
.transmitter-guide :is(#padStatus, .profile-note, .calibration-box p),
.transmitter-dialog .usb-help,
.appearance-panel .appearance-note { font-size: var(--menu-type-small); line-height: 1.6; }
.pit-dialog .driver-home__privacy { font-size: var(--menu-type-small) !important; }
.pit-dialog :is(.driver-home__form, .driver-home__profile-form, .driver-home__setup-form) { gap: var(--menu-space-md); }
.pit-dialog :is(.driver-home__actions, .driver-home__row-actions, .online-profile-actions) { gap: var(--menu-space-sm); }
.pit-dialog :is(.driver-home__stats span, .lap-grid span, .practice-grid span, .lap-current > span) { font-size: var(--menu-type-meta); }
.pit-dialog .driver-home__profile > summary { min-height: var(--menu-control); display: flex; align-items: center; font-size: var(--menu-type-body); }
.pit-dialog :is(.menu-disclosure, .menu-signin, .technical-workshop) > summary,
.transmitter-dialog .usb-help > summary { min-height: var(--menu-control); font-size: var(--menu-type-body); line-height: 1.5; }
.pit-dialog .driver-home__setup-form button { max-width: none; }
:is(.transmitter-dialog, .safari-transmitter-dialog, .appearance-panel) { padding: var(--menu-inset); }
:is(.transmitter-dialog, .safari-transmitter-dialog) .modal-header,
.appearance-panel .appearance-heading { gap: var(--menu-space-md); }
.appearance-panel .appearance-heading { margin-bottom: var(--menu-space-lg); }
.appearance-panel .appearance-heading h2 { margin: 0; font-size: var(--menu-type-title); letter-spacing: -.6px; line-height: 1.25; }
.appearance-panel .appearance-palettes { gap: var(--menu-space-sm); }
.appearance-panel .palette-choice { min-height: 80px; padding: 12px; gap: var(--menu-space-sm); font-size: var(--menu-type-body); line-height: 1.5; }
.appearance-panel .appearance-dither { min-height: var(--menu-control); margin-top: var(--menu-space-lg); padding-top: var(--menu-space-md); gap: var(--menu-space-md); font-size: var(--menu-type-body); }
.appearance-panel .appearance-note { margin-top: var(--menu-space-md); }
.transmitter-dialog .transmitter-layout { gap: var(--menu-space-lg); margin-top: var(--menu-space-lg); }
.transmitter-guide .calibration-box h3 { font-size: var(--menu-type-heading); line-height: 1.4; }
.transmitter-guide .calibration-box p { margin-bottom: var(--menu-space-md); }
.transmitter-guide .calibration-stages { gap: var(--menu-space-sm); }
.transmitter-guide .calibration-stages li { font-size: var(--menu-type-meta); padding-top: var(--menu-space-sm); }
.transmitter-guide .hold-label { font-size: var(--menu-type-small); line-height: 1.5; }
.transmitter-dialog .usb-help { margin-top: var(--menu-space-lg); padding-top: var(--menu-space-sm); }
.transmitter-dialog .usb-help > summary { display: list-item; align-content: center; }
.transmitter-display .tx-readouts { gap: var(--menu-space-md); }
.transmitter-display .tx-channel-heading,
.transmitter-display .tx-channel-heading output { font-size: var(--menu-type-small); line-height: 1.5; }
.transmitter-display .tx-model-heading,
.transmitter-display .tx-model-caption,
.transmitter-display .tx-meter-extents { font-size: var(--menu-type-meta); line-height: 1.5; letter-spacing: 0; }
.safari-transmitter-dialog :is(.modal-intro, .browser-options) { font-size: var(--menu-type-body); line-height: 1.6; }
.safari-transmitter-dialog .browser-options { padding: var(--menu-space-md); margin-bottom: var(--menu-space-md); }
.safari-transmitter-dialog .primary,
.transmitter-guide #driveTransmitter { margin-top: var(--menu-space-md); }
.safari-transmitter-dialog .text-button { margin-top: var(--menu-space-sm); }
@media (max-width: 600px) {
  :is(.pit-dialog, .appearance-panel, .transmitter-dialog, .safari-transmitter-dialog) { --menu-inset: 18px; --menu-type-title: 22px; }
  .pit-dialog .pit-tabs button { font-size: var(--menu-type-small) !important; }
  .transmitter-guide .calibration-stages { gap: 4px; }
  .transmitter-guide .calibration-stages li::before { display: block; line-height: 1.25; }
}
.shared-baseline-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.shared-baseline-actions:empty { display: none; }
.shared-baseline-actions button[hidden] { display: none; }
