/* Compact channel rail; reserve the outer gutter so it never covers body copy. */
@media(min-width:1101px) {
  .weshe-studio #main,.weshe-studio .w-footer { --gutter: clamp(96px,5.6vw,108px); }
}
.s-quick-rail { position: fixed; z-index: 800; right: 14px; top: clamp(116px,calc(50dvh - 250px),260px); width: 68px; color: var(--ink); transform: translate3d(0,var(--quick-offset,0px),0); }
.s-quick-panel { padding: 12px 7px 8px; background: rgba(255,255,255,.97); border: 1px solid rgba(47,47,47,.06); border-radius: 36px; box-shadow: 0 5px 24px rgba(47,47,47,.045); }
.s-quick-links { display: grid; gap: 3px; max-height: calc(100dvh - var(--header) - 242px); overflow-y: auto; scrollbar-width: none; }
.s-quick-links::-webkit-scrollbar { display: none; }
.s-quick-links a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; min-height: 61px; padding: 5px 0; }
.s-quick-links svg { display: block; width: 28px; height: 28px; flex-shrink: 0; }
.s-quick-links a > span { font-size: 9px; font-weight: 500; line-height: 1.4; white-space: nowrap; letter-spacing: -.035em; }
.s-quick-fold { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 57px; padding: 11px 0 6px; margin-top: 6px; border-top: 1px solid var(--line); }
.s-quick-fold-label { font-size: 10px; line-height: 1.4; white-space: nowrap; }
.s-quick-fold-icon { display: block; position: relative; width: 16px; height: 14px; }
.s-quick-fold-icon::before,.s-quick-fold-icon::after { content: ''; position: absolute; top: 6px; left: 0; width: 16px; height: 1px; background: currentColor; }
.s-quick-fold-icon::after { transform: rotate(0deg); transition: transform .2s ease; }
.s-quick-rail.is-collapsed .s-quick-fold { border-top: 0; padding-block: 5px; margin: 0; min-height: 49px; }
.s-quick-rail.is-collapsed .s-quick-fold-icon::after { transform: rotate(90deg); }
.s-quick-rail :is(a,button):focus-visible { outline-offset: -1px; border-radius: 4px; }
.s-quick-top { display: grid; place-items: center; width: 50px; height: 50px; padding: 0; margin: 12px auto 0; color: #282828; background: rgba(255,255,255,.97); border: 1px solid rgba(47,47,47,.12); border-radius: 50%; box-shadow: 0 4px 16px rgba(47,47,47,.04); }
.s-quick-top svg { display: block; width: 23px; height: 23px; }
.s-quick-rail .s-quick-top:focus-visible { border-radius: 50%; outline-offset: 3px; border-color: var(--blue); }
@media(hover:hover) and (pointer:fine) { .s-quick-top:hover { border-color: var(--blue); } }
@media(max-width:1100px) {
  .s-quick-rail { top: auto; bottom: 24px; right: 14px; width: 64px; }
  .s-quick-panel { box-shadow: 0 5px 24px rgba(47,47,47,.09); }
  .s-quick-links { max-height: calc(100dvh - var(--header) - 270px); }
}
@media(max-width:767px) {
  .s-quick-rail { bottom: calc(74px + env(safe-area-inset-bottom)); right: 12px; }
  .s-quick-links a { min-height: 56px; }
  .s-quick-links svg { width: 26px; height: 26px; }
}
@media(prefers-reduced-motion:reduce) { .s-quick-rail { transform: none; } .s-quick-fold-icon::after { transition: none; } }
