/* Wide layouts share a fluid shell; small-screen rules stay in their components. */
.workspace > .workspace-controls,.workspace > .workspace-result { min-width: 0; }
.guide-body { min-width: 0; }
@media (min-width: 1100px) {
  .container,.header-inner {
    width: min(2240px, calc(100% - clamp(64px, 5vw, 160px)));
  }
  .tool-catalog { grid-template-columns: 200px minmax(0, 1fr); gap: clamp(32px, 3vw, 64px); }
  .tool-category-list,.tool-category,.tool-grid,.guide-grid,.guide-body { min-width: 0; }
  .tool-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tool-card { overflow-wrap: anywhere; }
  .workspace { grid-template-columns: clamp(350px, 24vw, 440px) minmax(0, 1fr); }
  .workspace-controls,.workspace-result { min-width: 0; }
  .canvas-stage { min-height: 480px; }
  .canvas-stage canvas,.utility-preview canvas { max-height: min(72vh, 900px); }
  .tool-reading { grid-template-columns: minmax(0, 1fr) 280px; gap: clamp(40px, 5vw, 96px); }
  .tool-reading > .prose { max-width: none; }
  .tool-reading > .prose p,.tool-page-heading > p:last-child { max-width: 85ch; }
  .faq-section { max-width: 1100px; }
  /* Policies remain a readable text column rather than stretching every line. */
  .article-container { width: min(1060px, calc(100% - 96px)); }
  .article-container:has(.guide-toc) { width: min(1600px, calc(100% - 96px)); }
  .article-container:has(.guide-toc) > .prose {
    display: grid;
    grid-template-columns: 240px minmax(0, 960px);
    gap: clamp(32px, 4vw, 72px);
    justify-content: center;
    align-items: start;
  }
  .guide-toc { position: sticky; top: 24px; margin: 0; max-height: calc(100vh - 48px); overflow-y: auto; }
  .guide-body > section:first-child h2 { margin-top: 0; }
  .article-heading h1 { max-width: 1100px; }
}

@media (min-width: 1280px) {
  /* Text diff keeps both input columns over its full-width comparison result. */
  .workspace:has(#expanded-status):not([data-tool="text-compare"]) {
    grid-template-columns: minmax(360px, 1fr) minmax(420px, 1.05fr);
    align-items: start;
  }
  .workspace:has(#expanded-status):not([data-tool="text-compare"]) .workspace-controls {
    border-bottom: 0;
    border-right: 1px solid var(--line);
  }
  .workspace:has(#expanded-status):not([data-tool="text-compare"]) .workspace-result { align-self: stretch; }
  .workspace[data-tool="text-compare"] textarea { min-height: 320px; }
  .document-preview { height: clamp(650px, 75vh, 1100px); }
  .extended-preview { max-height: min(68vh, 900px); }
  .qr-preview { width: min(100%, 440px); max-width: 440px; }
}

@media (min-width: 1600px) {
  .listing .tool-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .listing .guide-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .tool-category .tool-card { min-height: 230px; padding: 24px; }
  .workspace-controls,.workspace-result { padding: 32px; }
  .workspace:has(#expanded-status) .workspace-controls,.workspace:has(#expanded-status) .workspace-result { padding: 32px; }
}

@media (min-width: 2050px) {
  .tool-catalog .tool-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .listing .guide-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
