@media (max-width: 1120px) {
  :root {
    --side: 260px;
    --rail: 92px;
    --context: 210px;
  }

  .toolbar-button {
    min-width: var(--tap);
  }

  .toolbar-button span {
    display: none;
  }

  .extrusion-layout {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }

  .extrusion-preview {
    min-height: 112px;
  }
}

@media (max-width: 900px) {
  .app-shell {
    min-height: 700px;
  }

  .welcome-screen {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    overflow-y: auto;
  }

  .welcome-brand {
    min-height: 220px;
  }

  .welcome-actions,
  .welcome-specs {
    grid-template-columns: 1fr;
  }

  .editor-shell {
    grid-template-rows: var(--topbar) minmax(0, 1fr) 220px var(--bottom);
  }

  .workspace {
    grid-template-columns: var(--rail) minmax(0, 1fr);
  }

  .side-panel {
    display: none;
  }

  .context-group {
    grid-template-columns: 150px minmax(0, 1fr);
  }
}

@media (orientation: portrait) {
  body {
    overflow: auto;
  }

  .app-shell {
    height: auto;
    min-height: 100dvh;
  }

  .editor-shell {
    min-height: 100dvh;
  }

  .workspace {
    min-height: 420px;
  }

  .tool-button span,
  .bottom-action span {
    font-size: 0.72rem;
  }

  .context-panel {
    overflow-y: auto;
  }
}

@media (max-width: 680px) {
  :root {
    --rail: 76px;
    --bottom: 72px;
  }

  .topbar {
    padding-inline: 0.6rem;
  }

  .project-strip .eyebrow,
  .project-strip h2 {
    max-width: 28vw;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .workspace {
    grid-template-columns: 1fr;
  }

  .tool-rail {
    grid-template-columns: repeat(7, minmax(72px, 1fr));
    grid-auto-flow: column;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .canvas-stage {
    min-height: 360px;
  }

  .context-group,
  .context-group.is-active {
    grid-template-columns: 1fr;
    overflow-y: auto;
  }

  .control-grid,
  .extrusion-controls {
    overflow-x: auto;
  }

  .bottom-bar {
    padding-inline: 0.55rem;
  }

  .bottom-action {
    min-width: 0;
    padding-inline: 0.4rem;
  }
}
