@media (max-width: 1023px) {
  .app-shell { block-size: auto; min-block-size: 100dvb; }
  .company-hud { grid-template-columns: minmax(0, 1fr) auto; }
  .location-chip { grid-area: 2 / 1 / 3 / 3; justify-self: stretch; justify-content: center; }
  .simulation-layout { grid-template-columns: 1fr; overflow: visible; }
  .world-region { min-block-size: 70dvb; border-inline-end: 0; }
  .world-frame { min-block-size: 52dvb; }
  .map-person { inline-size: var(--person-narrow-inline); }
  .map-nameplate { min-inline-size: 0; max-inline-size: var(--person-narrow-inline); }
  .map-presence { display: none; }
  .map-role::after { content: ""; }
  .context-panel { min-block-size: 34dvb; border-block-start: var(--line-thin) solid var(--neutral-350); }
  .panel-body { overflow: visible; }
  .context-panel[data-mode="dialogue"] { position: fixed; inset-block: var(--hud-block) 0; inset-inline: auto 0; z-index: 60; inline-size: 100%; min-block-size: 0; box-shadow: var(--shadow-panel); }
}

@media (max-width: 640px) {
  .company-hud { gap: var(--space-2); padding: var(--space-2) var(--space-3); }
  .company-brand { min-inline-size: 0; overflow: hidden; }
  .company-brand strong { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .company-brand span, .hud-status > span:first-child, .hud-button span { display: none; }
  .hud-status { gap: var(--space-2); }
  .hud-button { inline-size: var(--target-min); padding: 0; justify-content: center; }
  .hud-status > .user-badge { display: none; }
  .world-region { display: grid; grid-template-rows: 260px auto auto auto; min-block-size: 0; }
  .world-frame { min-block-size: 0; }
  .interaction-bar { align-items: stretch; flex-direction: column; }
  .primary-action { inline-size: 100%; }
  .world-controls { align-items: flex-start; flex-direction: column; }
  .floor-strip { inline-size: 100%; }
  .dpad { align-self: center; grid-template: repeat(3, 44px) / repeat(3, 52px); }
  .dpad-up { grid-area: 1 / 2; }.dpad-left { grid-area: 2 / 1; }.dpad-center { grid-area: 2 / 2; }.dpad-right { grid-area: 2 / 3; }.dpad-down { grid-area: 3 / 2; }
  .world-alternative { padding: var(--space-4); }
  .world-alternative summary { padding: 0; }
  .world-alternative summary > span:first-child { display: grid; gap: 0; }
  .world-alternative .nearby-list { max-block-size: none; padding: var(--space-3) 0 0; overflow-y: visible; }
  .nearby-list { grid-template-columns: 1fr; }
  .context-panel { min-block-size: 0; }
  .context-panel[data-mode="dialogue"] { inset: 0; z-index: 80; inline-size: 100%; block-size: 100dvb; }
  .panel-toggle { display: inline-flex; align-items: center; justify-content: center; }
  .context-panel[data-expanded="false"] { grid-template-rows: auto; }
  .context-panel[data-expanded="false"] .panel-body { display: none; }
  .form-grid { grid-template-columns: 1fr; }
  .drive-document-actions { grid-template-columns: 1fr; }
  .drive-tree .drive-tree { padding-inline-start: var(--space-2); }
  .payroll-controls, .payroll-grid { grid-template-columns: 1fr; }
  .thread-actions, .thread-actions button, .composer-actions, .composer-actions button { inline-size: 100%; }
  .map-nameplate { max-inline-size: var(--person-narrow-inline); padding-inline: var(--space-1); font-size: var(--type-14); }
  .map-nameplate small { display: none; }
  .map-person { inline-size: var(--person-narrow-inline); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

@media (prefers-contrast: more) {
  :root { --neutral-350: #59636a; --company-accent-600: #005f63; --local-accent-500: #a83f2c; }
  button, input, select, .context-panel, .world-region { border-width: 2px; }
}
