.sidebar-mobile-gallery-link { display:none; }
.sim-mobile-guide,
.sim-mobile-back { display:none; }

@media (max-width:680px) {
  body.library-body {
    overflow-x:hidden;
    overflow-y:auto;
  }

  body.library-body:not(.sim-embed-body):not(.company-page) .library-header {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px 12px;
    height:auto;
    min-height:52px;
    padding:8px 12px;
  }

  body.library-body:not(.sim-embed-body):not(.company-page) .library-header > .brand { order:1; }
  body.library-body:not(.sim-embed-body):not(.company-page) .library-header > .member-actions { order:2; margin-left:auto; }
  body.library-body:not(.sim-embed-body):not(.company-page) .library-search {
    order:3;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto auto;
    gap:6px;
    width:100%;
    margin:0;
  }
  body.library-body:not(.sim-embed-body):not(.company-page) .library-search input { width:100%; min-width:0; }
  body.library-body:not(.sim-embed-body):not(.company-page) .header-company-links {
    order:4;
    flex:1 1 100%;
    flex-wrap:wrap;
    justify-content:flex-start;
    gap:6px 12px;
    margin:0;
  }
  body.library-body:not(.sim-embed-body):not(.company-page) .header-company-links .header-company-name { min-height:32px; font-size:14px; }
  body.library-body:not(.sim-embed-body):not(.company-page) .header-company-links .header-taobao-link { min-height:36px; padding:0 10px; }
  body.library-body:not(.sim-embed-body):not(.company-page) .header-company-links .header-taobao-link strong,
  body.library-body:not(.sim-embed-body):not(.company-page) .header-company-links .header-taobao-link span { font-size:12px; }

  .library-shell.library-contact-layout {
    display:block;
    width:100%;
    height:auto;
    min-height:0;
  }
  .library-contact-layout > .library-sidebar {
    display:flex;
    flex-wrap:wrap;
    gap:4px;
    overflow:visible;
    padding:8px 10px;
    border-right:0;
    border-bottom:1px solid #dfe6ef;
  }
  .library-contact-layout > .library-sidebar > a {
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    min-height:38px;
    margin:0;
    padding:8px 10px;
    background:#fff;
    font-size:14px;
  }
  .library-contact-layout > .library-sidebar > .sidebar-contact-panel {
    display:grid;
    grid-template-columns:minmax(0,1fr) 82px;
    gap:5px 10px;
    width:100%;
    margin:4px 0 0;
    padding:10px 2px 4px;
    border-top:1px solid #d7e0eb;
  }
  .library-contact-layout > .library-sidebar .sidebar-contact-panel h2 { grid-column:1; grid-row:1; font-size:15px; }
  .library-contact-layout > .library-sidebar .sidebar-contact-person { grid-column:1; grid-row:2; font-size:13px; }
  .library-contact-layout > .library-sidebar .sidebar-contact-phone { grid-column:1; grid-row:3; font-size:14px; }
  .library-contact-layout > .library-sidebar .sidebar-contact-qr {
    grid-column:2;
    grid-row:1 / span 3;
    width:82px;
    justify-self:end;
  }
  .library-contact-layout > .library-sidebar .sidebar-contact-hint { grid-column:2; grid-row:4; margin:0; font-size:11px; }
  .library-contact-layout > .library-sidebar .sidebar-mobile-gallery-link {
    display:block;
    grid-column:1;
    grid-row:4;
    align-self:center;
    padding:6px 0;
    color:#0f766e;
    font-size:13px;
    font-weight:700;
  }
  .library-contact-layout > .library-sidebar .sidebar-warehouse-lead,
  .library-contact-layout > .library-sidebar .sidebar-warehouse-gallery { display:none; }

  .library-main,
  .free-main { min-width:0; overflow:visible; }
  .brand-strip { overflow-x:auto; }
  .brand-tabs,
  .category-tabs { display:flex; max-width:100%; overflow-x:auto; white-space:nowrap; }
  .library-crumbs { overflow-x:auto; white-space:nowrap; }
  .library-summary { overflow-x:auto; white-space:nowrap; }
  .library-board {
    box-sizing:border-box;
    display:flex;
    gap:8px;
    width:100%;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    padding:0 10px 12px;
  }
  .library-board > .tree-column,
  .library-board > .file-detail {
    box-sizing:border-box;
    flex:0 0 88vw;
    min-width:0;
    max-width:420px;
    scroll-snap-align:start;
  }
  .library-board .tree-list { height:auto; max-height:48dvh; overflow-y:auto; }
  .library-board .column-title { position:sticky; top:0; z-index:1; background:#fff; }

  .free-heading { flex-wrap:wrap; gap:8px; }
  .free-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .free-collections { min-width:0; }
  .free-collection-card,
  .free-resource-card { min-width:0; }
}

@media (max-width:420px) {
  body.library-body:not(.sim-embed-body):not(.company-page) .library-search {
    grid-template-columns:minmax(0,1fr) auto auto;
  }
  body.library-body:not(.sim-embed-body):not(.company-page) .library-search > span { grid-column:1 / -1; }
  .library-board > .tree-column,
  .library-board > .file-detail { flex-basis:90vw; }
}

@media (max-width:680px) {
  body.sim-embed-body {
    display:block;
    position:static !important;
    width:100%;
    height:auto !important;
    min-height:100dvh;
    max-height:none !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    touch-action:pan-y;
    -webkit-overflow-scrolling:touch;
  }

  html:has(body.sim-embed-body) {
    height:auto !important;
    min-height:100%;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    -webkit-overflow-scrolling:touch;
  }

  .sim-embed-body .library-shell.library-contact-layout {
    flex:none;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-rows:auto minmax(70dvh,auto);
    align-content:start;
    width:100%;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .sim-embed-body .library-contact-layout > .library-sidebar {
    display:block;
    width:auto;
    max-height:none !important;
    overflow:visible !important;
    touch-action:pan-y;
    padding:8px 10px;
  }
  .sim-embed-body .library-contact-layout > .library-sidebar > a { display:inline-flex; }
  .sim-embed-body .library-contact-layout > .library-sidebar > .sidebar-contact-panel {
    display:grid;
    width:100%;
    max-height:none;
    overflow:visible;
  }
  .sim-embed-body .simulator-embed {
    width:100%;
    height:100vh;
    height:100svh;
    min-height:0;
    max-height:none;
    overflow:visible;
  }
  .sim-embed-body .sim-mobile-guide {
    display:flex;
    flex:0 0 48px;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    padding:0 12px;
    border-bottom:1px solid #dfe6ef;
    background:#fff;
  }
  .sim-mobile-guide a { display:inline-flex; align-items:center; min-height:44px; color:#0f766e; font-size:15px; }
  .sim-mobile-guide .sim-mobile-membership { gap:8px; }
  .sim-mobile-membership strong { font-size:16px; }
  .sim-mobile-membership span { color:#50647a; font-size:13px; }
  .sim-embed-body .library-sidebar .sim-mobile-back {
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    margin:0 8px 9px;
    padding:8px;
    background:#eef4ff;
    color:#2458c6;
    font-size:16px;
    font-weight:700;
  }
  .sim-embed-body .simulator-embed-frame { display:block; flex:1 1 0; width:100%; min-width:0; height:0; min-height:0; }
  .sim-embed-body .simulator-embed [hidden] { display:none !important; }

  .library-contact-layout > .library-sidebar .sidebar-contact-panel {
    grid-template-columns:minmax(0,1fr) 96px;
    grid-template-areas:"title qr" "person qr" "phone qr" "gallery qr" "address hint";
    align-items:start;
    gap:8px 12px;
  }
  .library-contact-layout > .library-sidebar .sidebar-contact-panel h2 { grid-area:title; }
  .library-contact-layout > .library-sidebar .sidebar-contact-panel .sidebar-contact-person { grid-area:person; }
  .library-contact-layout > .library-sidebar .sidebar-contact-panel .sidebar-contact-phone { grid-area:phone; min-width:0; overflow-wrap:anywhere; }
  .library-contact-layout > .library-sidebar .sidebar-contact-panel .sidebar-mobile-gallery-link { grid-area:gallery; }
  .library-contact-layout > .library-sidebar .sidebar-contact-panel .sidebar-contact-address { grid-area:address; min-width:0; }
  .library-contact-layout > .library-sidebar .sidebar-contact-panel .sidebar-contact-qr {
    grid-area:qr;
    align-self:start;
    width:96px;
    height:96px;
    min-height:0;
    margin:0;
    padding:0;
  }
  .library-contact-layout > .library-sidebar .sidebar-contact-panel .sidebar-contact-hint {
    grid-area:hint;
    align-self:start;
    margin:0;
    padding:0;
    line-height:1.5;
    font-size:12px;
  }
}
