/* V0.5 Mobile Interaction Cut.
 * Narrow viewports preserve the same information architecture; this layer only improves
 * density, horizontal affordance, and Explorer -> Focus orientation.
 */

.gf-taskboard-board {
  scroll-snap-type: x proximity;
  scroll-padding-inline: 0;
  -webkit-overflow-scrolling: touch;
}
.gf-taskboard-column { scroll-snap-align: start; }

@media (max-width: 850px) {
  /* Repository Workbench remains one workspace. Explorer hands off explicitly to Focus. */
  .gf-workbench-explorer { max-height: 260px; }
  .gf-workbench-explorer::after {
    content: "FOCUS ↓";
    height: 30px;
    flex: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 12px;
    border-top: 1px solid var(--gf-line);
    background: var(--gf-sidebar);
    color: var(--gf-blue);
    font-size: 8px;
    font-weight: 650;
    letter-spacing: .08em;
  }
  .gf-workbench-focus { scroll-margin-top: 48px; }
  .gf-workbench-focus .gf-editor-tabs {
    position: sticky;
    top: 48px;
    z-index: 9;
  }
}

@media (max-width: 700px) {
  /* Keep identity + global navigation on one economical instrument row. */
  .gf-sidebar {
    padding: 9px 10px;
    gap: 6px;
  }
  .gf-brand {
    flex: none;
    min-width: 0;
    gap: 6px;
    padding: 2px 0;
    margin-right: 0;
  }
  .gf-brand > div { min-width: 0; }
  .gf-brand-mark {
    width: 26px;
    height: 26px;
    flex: none;
  }
  .gf-brand strong {
    white-space: nowrap;
    font-size: 10px;
    letter-spacing: -.015em;
  }
  .gf-nav {
    min-width: 0;
    margin-left: auto;
    gap: 0;
  }
  .gf-nav button {
    width: auto;
    min-height: 32px;
    padding: 0 8px;
    white-space: nowrap;
    font-size: 9px;
  }

  /* The board stays horizontal; a quiet cue communicates that more lanes continue right. */
  .gf-sg-board-toolbar { flex-wrap: wrap; }
  .gf-sg-board-toolbar::after {
    display: none;
  }
  .gf-sg-board-toolbar:has(button[data-work-mode="board"][aria-pressed="true"])::after {
    content: "more lanes →";
    order: 4;
    flex-basis: 100%;
    display: block;
    margin-top: -2px;
    padding-right: 2px;
    color: var(--gf-faint);
    font-size: 8px;
    letter-spacing: .04em;
    text-align: right;
  }
}

@media (max-width: 390px) {
  .gf-sidebar { padding-inline: 8px; }
  .gf-brand { gap: 5px; }
  .gf-brand strong { font-size: 9px; }
  .gf-nav button { padding-inline: 6px; }
}
