/**
 * Studio Sovereign Grid Layout Engine (v4.6.9)
 * Decoupled Architectural Viewport & Asymmetric Task-Oriented Proportions.
 * Zero-bloat standalone layout engine compatible with any dev studio shell.
 */

/* ==========================================================================
   1. ASYMMETRIC VIEWPORT PROPORTIONS (TASK-DRIVEN SPATIAL GRID)
   Hardened against layout bombing with strict zero-min intrinsic track clamp.
   ========================================================================== */

/* View 1: Patch Matrix (Elastic non-clipping split) */
.view-split-container.matrix-split {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 1fr);
  gap: 12px;
  height: 100%;
  overflow: hidden;
}

/* View 2: Ghost Tree (Zero-overflow resilient column tracks) */
.view-split-container.tree-split {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr);
  gap: 12px;
  height: 100%;
  overflow: hidden;
}

/* View 3: Diff & Safety Review (Balanced reading measure & dispatch bay) */
.view-split-container.diff-split {
  display: grid;
  grid-template-columns: minmax(0, 2.2fr) minmax(320px, 420px);
  gap: 14px;
  height: 100%;
  overflow: hidden;
}

/* View 5: Buffer Sweeper (340px-380px Controller Dock / 1fr Match Preview) */
.view-split-container.sweeper-split {
  display: grid;
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  gap: 12px;
  height: 100%;
  overflow: hidden;
}

/* View 6: ZIP Sync (340px-380px Transformer / 1fr Path Alignment) */
.view-split-container.zip-split {
  display: grid;
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr);
  gap: 12px;
  height: 100%;
  overflow: hidden;
}

/* View 7: File Forge (240px-280px Standard Tree Rail / 1fr Live Editor Canvas) */
.view-split-container.forge-split {
  display: grid;
  grid-template-columns: minmax(200px, 280px) minmax(0, 1fr);
  gap: 12px;
  height: 100%;
  overflow: hidden;
}

/* ==========================================================================
   1A. SMALL / TILED VIEWPORT DEFENSE (@container max-width: 960px)
   Prevents control smash, horizontal clipping, and button lockout.
   ========================================================================== */
@container studioViewport (max-width: 960px) {
  .view-split-container,
  .view-split-container.matrix-split,
  .view-split-container.tree-split,
  .view-split-container.diff-split,
  .view-split-container.sweeper-split,
  .view-split-container.zip-split,
  .view-split-container.forge-split {
    grid-template-columns: 1fr !important;
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 8px !important;
    gap: 10px !important;
  }

  .view-plane-left, .view-plane-right {
    height: auto !important;
    min-height: 280px !important;
    overflow: visible !important;
  }

  .diff-split .view-plane-right {
    overflow-y: visible !important;
  }
}

/* ==========================================================================
   1B. 3-BAY WORKSTATION SPATIAL PROJECTION (@container min-width: 1700px / 27"+)
   Zero DOM duplication: Uses CSS grid projection to eliminate wasted space.
   ========================================================================== */
@container studioViewport (min-width: 1700px) {
  /* Matrix 3-Bay: Turn Rail (col 1) + Ingestion Editor (col 2) + Pre-Flight (col 3) */
  .view-split-container.matrix-split {
    grid-template-columns: minmax(0, 1.65fr) minmax(420px, 480px);
    gap: 16px;
    max-width: 2560px;
    margin: 0 auto;
    width: 100%;
  }

  .matrix-split .view-plane-left {
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    grid-template-rows: auto 1fr;
    gap: 12px;
  }

  .matrix-split .matrix-turn-header-card {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
  }

  .matrix-split .matrix-turns-deck {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    flex-direction: column !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding-right: 4px;
  }

  .matrix-split .matrix-turn-card {
    max-width: none !important;
    min-width: 0 !important;
    width: 100% !important;
  }

  .matrix-split .ingestion-buffer-card {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
  }

  /* Diff & Safety: Ergonomic code reading constraint & generous dispatch cockpit */
  .view-split-container.diff-split {
    grid-template-columns: minmax(0, 1fr) 440px;
    gap: 18px;
    max-width: 2560px;
    margin: 0 auto;
    width: 100%;
  }

  /* Sweeper & ZIP Sync: Spacious, comfortable side rails */
  .view-split-container.sweeper-split {
    grid-template-columns: 420px minmax(0, 1fr);
    max-width: 2560px;
    margin: 0 auto;
    width: 100%;
  }

  .view-split-container.zip-split {
    grid-template-columns: 440px minmax(0, 1fr);
    max-width: 2560px;
    margin: 0 auto;
    width: 100%;
  }

  .view-split-container.forge-split {
    grid-template-columns: 340px minmax(0, 1fr);
    max-width: 2560px;
    margin: 0 auto;
    width: 100%;
  }
}

/* ==========================================================================
   2. HEADLESS NODE PROTOCOL (RUNTIME INVARIANT PROTECTION)
   ========================================================================== */

/* Topbar Runway: Active and visible across Work and Deep modes */
.topbar-pipeline-runway.headless-runway {
  display: flex !important;
}
body[data-density="glance"] .topbar-pipeline-runway.headless-runway {
  display: none !important;
}

/* Rail Footer Turn Card: Active across Work and Deep modes */
.studio-rail-footer.rail-turn-headless {
  display: block !important;
}
body[data-density="glance"] .studio-rail-footer.rail-turn-headless {
  display: none !important;
}

/* Status Dock Ticker: Compact typography without long static string overflow */
.telemetry-dock-ticker.dock-ticker-minimal {
  max-width: 480px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: 11px;
  color: var(--text-dim);
}

/* ==========================================================================
   3. ERGONOMIC COMPONENT BALANCING & PINNED DOCKS
   ========================================================================== */

/* Pinned Pre-flight Action Dock (Permanently in View, Zero Scroll Needed) */
.preflight-pinned-dock {
  background: #08080a;
  border: 1px solid var(--border-color);
  border-radius: 6px;
  padding: 6px 10px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  z-index: 10;
}

.preflight-dock-summary {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-mono);
  font-size: 11px;
  min-width: 0;
  overflow: hidden;
}

.preflight-dock-text {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.preflight-dock-status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--status-green-text);
}

.preflight-dock-status-dot.warn {
  background: var(--status-yellow-text);
}

.preflight-dock-text {
  color: var(--text-muted);
  white-space: nowrap;
}

.btn-preflight-action {
  height: 32px;
  display: flex !important;
  align-items: center;
  gap: 6px;
  padding: 0 12px;
  font-size: 11px;
  font-weight: 700;
  background: var(--dark-steel-bg);
  border: 1px solid var(--dark-steel-border);
  color: var(--text-main);
  border-radius: 5px;
  transition: all 0.12s ease;
  white-space: nowrap;
}

/* Diff Stream Canvas full-width optimization */
.diff-split .view-plane-left {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  overflow: hidden;
}

.diff-split .diff-stream-viewport {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 4px;
}

/* Dispatch Cockpit: Scrollable Right Plane to Prevent Button Lockout */
.diff-split .view-plane-right {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  min-width: 0;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 2px;
}

.diff-split .commit-deck-card {
  flex-shrink: 0 !important;
  min-height: 240px !important;
  display: flex;
  flex-direction: column;
}

.diff-split .commit-message-input {
  flex: 1;
  min-height: 52px;
  max-height: 100px;
  resize: none;
}

/* Ingestion Canvas full-height expansion */
.matrix-split .view-plane-left {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-width: 0;
  gap: 8px;
}

.matrix-split .ingestion-buffer-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.matrix-split .ingestion-textarea {
  flex: 1;
  min-height: 200px;
  resize: none;
}

/* File Forge Workspace editor real estate */
.forge-split .forge-editor-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.forge-split .forge-code-textarea {
  flex: 1;
  min-height: 280px;
  resize: none;
}