@media (min-width: 1440px) {
  .workbench {
    grid-template-columns: var(--sidebar-wide) minmax(0, 1fr) var(--inspector-width);
  }

  #mainContent {
    padding: 32px 40px 48px;
  }

  .workbench:not(:has(#inspector[hidden])) .view {
    max-width: 920px;
  }
}

@media (min-width: 1180px) and (max-width: 1439px) {
  .topbar {
    grid-template-columns: var(--sidebar-medium) auto minmax(220px, 380px) 1fr;
  }

  .workbench {
    grid-template-columns: var(--sidebar-medium) minmax(0, 1fr);
  }

  .workbench > #inspector {
    display: none;
  }

  #mainContent {
    padding: 30px 36px 46px;
  }

  .view {
    max-width: 1120px;
  }
}

@media (min-width: 821px) and (max-width: 1179px) {
  .topbar {
    grid-template-columns: auto auto minmax(180px, 1fr) auto;
    padding-left: 12px;
  }

  .brand {
    width: 44px;
  }

  .brand > span:last-child {
    display: none;
  }

  .shell-toggle {
    display: inline-flex;
    margin-right: 10px;
  }

  .workbench {
    display: block;
  }

  .workbench > .desktop-nav {
    position: fixed;
    z-index: 35;
    top: var(--topbar-height);
    bottom: 0;
    left: 0;
    display: flex;
    width: var(--sidebar-medium);
    pointer-events: none;
    transform: translateX(calc(-100% - 8px));
  }

  .workbench > #inspector {
    display: none;
  }

  #mainContent {
    padding: 28px 28px 44px;
  }

  .content-grid {
    gap: 22px;
  }
}

@media (max-width: 820px) {
  .topbar {
    grid-template-columns: 38px minmax(88px, 1fr) auto;
    height: var(--topbar-height);
    padding: 0 8px;
  }

  .brand {
    width: 34px;
  }

  .brand > span:last-child, .project-control > span, .shell-toggle, #inspectorToggle {
    display: none;
  }

  .brand-mark {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
  }

  .project-control {
    display: block;
  }

  .project-control select {
    min-height: 38px;
    padding-right: 24px;
    font-size: 12px;
  }

  .topbar-status {
    gap: 7px;
    padding-left: 7px;
  }

  .mode-indicator, .save-indicator {
    max-width: 62px;
    gap: 5px;
    font-size: 11px;
  }

  .save-indicator {
    max-width: 68px;
    padding-left: 7px;
  }

  .workbench {
    display: block;
    min-height: calc(100vh - var(--topbar-height));
  }

  .workbench > .desktop-nav, .workbench > #inspector {
    display: none;
  }

  #mainContent {
    width: 100%;
    min-width: 0;
    padding: 20px 16px calc(var(--mobile-nav-height) + 34px);
  }

  h1 {
    font-size: 28px;
  }

  .view-header {
    margin-bottom: 18px;
    padding-bottom: 14px;
  }

  .view-header > p:last-child {
    font-size: 14px;
  }

  .state-strip {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .metric-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .metric-cell {
    min-height: 92px;
    padding: 12px;
    border-bottom: 1px solid var(--color-border);
  }

  .metric-cell:nth-child(2n) {
    border-right: 0;
  }

  .metric-cell:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .metric-value {
    font-size: 19px;
  }

  .content-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    margin-top: 24px;
  }

  .action-strip {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .action-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .tool-fields {
    grid-template-columns: minmax(0, 1fr);
  }

  .tool-field-wide {
    grid-column: auto;
  }

  .tool-heading, .tool-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .tool-actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .segmented-options {
    grid-template-columns: minmax(0, 1fr);
  }

  .button, .mobile-nav button, .more-menu button {
    min-height: 44px;
  }

  .mobile-nav {
    position: fixed;
    z-index: 45;
    right: 0;
    bottom: 0;
    left: 0;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    min-height: var(--mobile-nav-height);
    padding: 5px max(5px, env(safe-area-inset-right)) max(5px, env(safe-area-inset-bottom)) max(5px, env(safe-area-inset-left));
    border-top: 1px solid var(--color-border);
    background: var(--color-surface);
  }

  .mobile-nav button {
    display: grid;
    min-width: 0;
    place-items: center;
    align-content: center;
    gap: 3px;
    padding: 3px 1px;
    color: var(--color-text-muted);
    font-size: 11px;
    text-align: center;
  }

  .mobile-nav button[data-route]::before {
    width: 18px;
    height: 18px;
    background: center / 18px 18px no-repeat;
    content: "";
    opacity: 0.76;
  }

  .mobile-nav button[data-route="dashboard"]::before { background-image: url("../assets/icons/home.svg"); }
  .mobile-nav button[data-route="strategy"]::before { background-image: url("../assets/icons/git-compare-arrows.svg"); }
  .mobile-nav button[data-route="studio"]::before { background-image: url("../assets/icons/file-pen-line.svg"); }
  .mobile-nav button[data-route="training"]::before { background-image: url("../assets/icons/messages-square.svg"); }

  .mobile-nav button[aria-current="page"] {
    background: var(--color-primary-soft);
    color: var(--color-primary-strong);
    font-weight: 700;
  }

  .more-menu {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
    width: 100%;
  }

  .overlay-backdrop {
    align-items: end;
    padding: 12px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  }

  .dialog {
    width: 100%;
    max-height: calc(100vh - 24px);
    padding: 20px;
  }

  [data-tooltip]::after {
    display: none;
  }
}
