@media (max-width: 860px) {
  body {
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  body, p, h1, h2, h3, h4, h5, span, a, li, td, th, time, small, strong, em, i, b, label, dd, dt, figcaption {
    overflow-wrap: break-word;
    word-break: break-word;
  }
  img, video, iframe, table { max-width: 100%; }
  .container { width: 92%; }

  :root {
    --header-h: 56px;
  }

  .yx-header { -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); }
  .yx-header-in { gap: 10px; }
  .yx-brand { gap: 8px; min-width: 0; }
  .yx-brand img { width: 30px; height: 30px; }
  .yx-brand-name { font-size: 15px; }
  .yx-brand-name small { font-size: 12px; letter-spacing: .18em; }

  .yx-theme-toggle,
  .yx-bell-btn,
  .yx-user-chip,
  .yx-btn-sign.is-primary,
  .yx-menu-btn,
  .yx-brand-name small { display: none; }

  .yx-actions { gap: 8px; }
  .yx-btn-sign {
    height: 34px;
    padding: 0 15px;
    font-size: 13px;
    white-space: nowrap;
  }
  .yx-menu-btn { width: 34px; height: 34px; }
  .yx-drawer-panel { width: min(320px, 88vw); }
  .yx-nav a { font-size: 14px; }

  .yx-announce-body { flex-direction: column; align-items: flex-start; gap: 2px; min-width: 0; }
  .yx-announce-body span { white-space: normal; line-height: 1.6; }
  .yx-announce-link { margin-left: 0; }

  .page-banner { padding: 28px 0 24px; }
  .page-banner h1, .page-banner .pb-title { font-size: 20px; }
  .page-content { padding: 22px 0 40px; }

  .article { font-size: 15px; line-height: 1.95; }
  .article h1 { font-size: 20px; }
  .article h2 { font-size: 18px; margin: 26px 0 12px; }
  .article .meta { gap: 6px 14px; font-size: 13px; }
  .article pre, .article table { max-width: 100%; overflow-x: auto; }

  .error-page { padding: 64px 0 50px; }
  .error-page .code { font-size: 72px; }

  .yf-grid { grid-template-columns: 1fr; gap: 26px; padding: 32px 0 22px; }
  .yf-friends { gap: 5px 12px; }
  .yf-bottom-in { flex-direction: column; align-items: flex-start; gap: 6px; padding-top: 12px; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }

  .nt-item time { display: block; margin-left: 0; width: 100%; }
  .nt-head h1 { font-size: 18px; }
  .nt-head .btn { height: 34px; padding: 0 14px; font-size: 13px; }

  .btn-lg { height: 44px; padding: 0 22px; font-size: 14px; }
  .alert { font-size: 13px; }

  iframe, video { max-width: 100%; }
  .article img { height: auto; }

  .ps-shell { width: 100%; max-width: 100%; margin: 0; padding: 0 0 32px; }

  .ps-masthead {
    margin: 10px 12px 0;
    border-radius: 18px;
    overflow: hidden;
    background: linear-gradient(135deg, var(--brand-deep, #23806C) 0%, var(--brand, #3BB89F) 78%, #5FCBAF 100%);
    box-shadow: 0 8px 28px rgba(35, 128, 108, .22);
  }
  .ps-mast-bg { opacity: .22; filter: saturate(.9); }
  .ps-mast-inner { padding: 18px 16px 16px; }

  .ps-id {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
  }
  .ps-id-av { position: relative; width: 68px; }
  .ps-id-av img {
    width: 68px; height: 68px;
    border: 2.5px solid rgba(255, 255, 255, .85);
    box-shadow: 0 4px 14px rgba(10, 40, 32, .25);
  }
  .ps-id-dot { right: 2px; bottom: 2px; width: 12px; height: 12px; border-color: rgba(255, 255, 255, .9); }
  .ps-id-tx { min-width: 0; padding-top: 0; }
  .ps-id-name {
    font-size: 20px;
    line-height: 1.3;
    color: #fff;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .ps-ai-badge { font-size: 12px; padding: 1px 7px; }

  .ps-id-kicker { gap: 6px; margin: 8px 0 0; }
  .ps-id-role {
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .16);
    border: 1px solid rgba(255, 255, 255, .3);
    color: #fff;
    white-space: nowrap;
  }
  .ps-id-role.is-admin { background: rgba(255, 255, 255, .26); border-color: rgba(255, 255, 255, .42); color: #fff; }
  .ps-id-code {
    font-size: 12px;
    color: rgba(255, 255, 255, .8);
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }

  .ps-medals-row { margin: 12px 0 0; }
  .ps-medals-cap {
    display: block;
    font-size: 12px;
    color: rgba(255, 255, 255, .75);
    margin-bottom: 7px;
  }
  .ps-medals-show {
    display: flex;
    flex-wrap: nowrap;
    gap: 8px;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
  }
  .ps-medals-show::-webkit-scrollbar { display: none; }
  .ps-medals-show > * { flex: 0 0 auto; }

  .ps-id-sign {
    font-size: 13px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .88);
    margin: 10px 0 0;
  }

  .ps-id-tags { gap: 6px; margin-top: 10px; }
  .ps-id-tags .t {
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .26);
    color: #fff;
    white-space: nowrap;
  }
}

@media (max-width: 480px) {
  .yx-brand-name small { display: none; }
  .yx-btn-sign { height: 32px; padding: 0 12px; font-size: 12px; }
  .yx-menu-btn { width: 32px; height: 32px; }
  .yf-social a { width: 32px; height: 32px; }
  .page-banner h1, .page-banner .pb-title { font-size: 18px; }
  .ps-id { grid-template-columns: 60px minmax(0, 1fr); gap: 12px; }
  .ps-id-av { width: 60px; }
  .ps-id-av img { width: 60px; height: 60px; }
  .ps-id-name { font-size: 18px; }
}

@media (max-width: 640px) {
  .ps-id { flex-direction: row; text-align: left; width: 100%; margin: 0; }
  .ps-id-tx { display: block; align-items: initial; text-align: left; min-width: 0; }
  .ps-id-name { order: initial; -webkit-line-clamp: 2; }
  .ps-id-kicker { order: initial; display: flex; justify-content: flex-start; margin: 8px 0 0; }
  .ps-id-role { display: inline-flex; }
  .ps-id-tags { display: flex; flex-wrap: wrap; }
  .ps-id-sign { order: initial; }
  .ps-id-badgeline { display: none; }
  .ps-masthead.has-bg .ps-id-name { color: #fff; }
  .ps-mast-bar { flex-direction: row; align-items: center; }
}
