/* Fluid screen layout; keep the existing print layout independent. */
@media screen {
  .topbar-inner,
  .workspace,
  .presentation-focus .workspace,
  .app-shell,
  .footer-inner,
  .personal-resources {
    width: 100%;
    max-width: none;
  }

  .document-section > .wrap,
  .sidebar-collapsed .document-section > .wrap,
  .presentation-focus .document-section > .wrap {
    width: 100%;
    max-width: none;
    min-width: 0;
  }

  .workspace > main,
  .app-shell > main,
  .master-columns > *,
  .jd-organization-lanes > * {
    min-width: 0;
  }
}

@media screen and (min-width: 801px) {
  :root { --screen-gutter: clamp(24px, 2.4vw, 88px); }
  .topbar-inner { padding-inline: var(--screen-gutter); }
  .document-section,
  .document-toolbar,
  .view-guide,
  .sidebar-collapsed .document-toolbar,
  .sidebar-collapsed .view-guide {
    padding-inline: var(--screen-gutter);
  }
  .view { padding-inline: var(--screen-gutter); }
  .footer { padding-inline: var(--screen-gutter); }
}

/* Scale key reading and diagram text gently for large displays. */
@media screen and (min-width: 1920px) {
  body { font-size: clamp(16px, .85vw, 22px); }
  .detail-body,
  .summary-meta,
  .job-area-heading p,
  .job-area-context p,
  .network-plan-card p,
  .network-plan-hub p,
  .material-plan-track p,
  .planning-explanation-list p,
  .jd-organization-lanes ul,
  .role-detail dl {
    font-size: clamp(15px, .8vw, 21px);
  }
  .overview-heading h1 { font-size: clamp(45px, 2.35vw, 76px); }
  .section-head h2 { max-width: none; font-size: clamp(32px, 1.7vw, 54px); }
  .hero .master-map h2 { font-size: clamp(26px, 1.4vw, 44px); }
  .master-goods strong,
  .master-leader strong,
  .master-supervisor strong,
  .network-plan-card > strong,
  .network-plan-hub > strong,
  .material-plan-track strong {
    font-size: clamp(16px, .85vw, 24px);
  }
  .master-goods span,
  .master-leader span,
  .master-supervisor span,
  .hero .master-map .master-caption,
  .hero .master-map .master-reporting,
  .master-three-spv .master-team-detail {
    font-size: clamp(13px, .7vw, 20px) !important;
  }
  .master-columns,
  .jd-organization-lanes { gap: clamp(20px, 1.2vw, 40px); }
  .master-map { padding: clamp(28px, 1.6vw, 56px); }
}

@media screen { .collab-card .term-note { display: inline; } }

.abbreviation-explanation { font-size: .94em; font-weight: 400; overflow-wrap: anywhere; }

/* Let headings use the available line width before wrapping naturally. */
@media screen {
  .section-head,
  .section-head > div { min-width: 0; }
  .section-head h2 { max-width: none; }
  h1, h2, h3, h4 { text-wrap: wrap; }
}

@media screen {
  html.has-quick-navigation {
    scroll-padding-top: calc(var(--quick-header-height, 78px) + var(--quick-nav-height, 68px) + 12px);
  }
  .has-quick-navigation main [id] { scroll-margin-top: 12px; }
  .quick-navigation {
    position: sticky;
    top: var(--quick-header-height, 78px);
    z-index: 25;
    min-width: 0;
    padding: 10px clamp(18px, 2.4vw, 88px);
    background: #f6f9f0;
    border-block: 1px solid #d7e2ce;
    box-shadow: 0 3px 8px #173e3208;
  }
  .quick-navigation-links {
    display: flex;
    gap: 7px;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: thin;
    overscroll-behavior-inline: contain;
  }
  .quick-navigation-links a {
    flex: 0 0 auto;
    display: block;
    padding: 10px 13px;
    border: 1px solid transparent;
    border-radius: 8px;
    color: #395d47;
    font-size: 13px;
    font-weight: 650;
    line-height: 1.5;
    white-space: nowrap;
    text-decoration: none;
  }
  .quick-navigation-links a:hover { background: #e6efdc; }
  .quick-navigation-links a:focus-visible { outline: 2px solid #426c51; outline-offset: -2px; }
  .quick-navigation-links a[aria-current="location"] { background: #204e3b; color: white; }
  .quick-navigation-hint { display: none; }
  @media (max-width: 1100px) {
    .quick-navigation { padding-block: 8px; }
    .quick-navigation-hint { display: block; margin: 5px 0 0; color: #637557; font-size: 11px; line-height: 1.5; }
  }
  @media (min-width: 1920px) { .quick-navigation-links a { font-size: clamp(13px, .7vw, 18px); } }
}
@media print { .quick-navigation { display: none !important; } }
