/* Mobile presentation only; desktop layouts and existing account rules remain intact. */
.cq-mobile-role, .auth-mobile-heading { display:none; }
.article-listen > summary { display:none; }
@media (max-width:760px) {
  .login-page .home-header, .user-page .home-header, .article-page .home-header { height:64px; }
  .login-page .home-nav, .user-page .home-nav, .article-page .home-nav { top:64px; max-height:calc(100dvh - 64px); }
  .login-page .home-brand, .user-page .home-brand, .article-page .home-brand { font-size:20px; gap:8px; }
  .login-page .home-brand-mark, .user-page .home-brand-mark, .article-page .home-brand-mark { width:33px; height:33px; }

  .login-page .auth-page { width:calc(100% - 32px); gap:14px; padding:18px 0 28px; min-height:0; }
  .auth-intro { display:contents; }
  .auth-intro .home-eyebrow, .auth-desktop-heading, .auth-intro-lead { display:none; }
  .auth-intro .auth-mobile-heading { display:block; font-size:25px; line-height:1.35; letter-spacing:0; margin:0; text-align:left; }
  .login-page .auth-card { order:2; border-radius:18px; box-shadow:none; }
  .auth-intro .auth-browse { order:3; text-align:center; margin:0; font-size:14px; min-height:44px; }
  .login-page .auth-tabs { margin:12px 16px 0; padding:4px; }
  .login-page .auth-body { padding:16px; }
  .login-page .auth-body h2 { font-size:22px; line-height:1.4; }
  .login-page .auth-sub { font-size:14px; margin:4px 0 14px; }
  .login-page .form-group { margin-bottom:12px; }
  .login-page .form-group label { margin-bottom:5px; }
  .login-page .form-group input { height:48px; padding:10px 12px; }
  .login-page .auth-password input { padding-right:48px; }
  .login-page .form-group .hint { font-size:12px; line-height:1.5; }
  .login-page .auth-body label:has(#reg-privacy) { margin:12px 0 !important; font-size:13px !important; line-height:1.6 !important; }
  .login-page #reg-privacy { flex-shrink:0; width:18px !important; height:18px; accent-color:#4d7159; }
  .login-page .auth-footer-text { padding-top:12px; margin-top:14px; font-size:12px; }
  .login-page .sms-code-row { flex-wrap:nowrap; gap:8px; }
  .login-page .sms-code-row input { flex:1 1 0; width:0; min-width:0; }
  .login-page .sms-code-row button { width:auto; min-height:48px; padding-inline:12px; font-size:13px; }

  .user-page { --uc-header:64px; }
  .user-page .uc-hero { padding-block:16px; }
  .user-page .uc-breadcrumb, .user-page .uc-hero .uc-eyebrow { display:none; }
  .user-page .uc-hero h1 { font-size:28px; margin-bottom:4px; }
  .user-page .uc-hero p:last-of-type { font-size:14px; }
  .user-page .user-header { padding:16px; gap:12px; margin-bottom:12px; grid-template-columns:46px minmax(0,1fr); }
  .user-page .user-avatar { width:46px; height:46px; font-size:24px; }
  .user-page .user-info h3 { font-size:19px; }
  .user-page .user-meta { font-size:12px; line-height:1.6; }
  .user-page .level-row { margin-top:8px; }
  .user-page .uc-profile-actions { flex-direction:row; justify-content:space-between; align-items:center; gap:12px; }
  .user-page .uc-profile-actions #checkin-btn { flex:1; width:auto; min-height:44px; padding:8px 16px; }
  .user-page .uc-profile-actions button[onclick="logout()"] { width:auto; min-height:44px; padding:8px 12px; }
  .user-page .stat-cards { grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border:1px solid #dce3d3; border-radius:14px; overflow:hidden; margin-bottom:16px; background:#fffef9; }
  .user-page .stat-card { display:block; padding:14px 4px; text-align:center; border:0; border-radius:0; box-shadow:none; }
  .user-page .stat-card + .stat-card { border-left:1px solid #e2e7da; }
  .user-page .uc-stat-icon { display:none; }
  .user-page .stat-card .stat-val { font-size:22px; line-height:1.5; }
  .user-page .stat-card .stat-val span { display:block; font-size:12px !important; }
  .user-page .stat-card .stat-lbl { font-size:12px; line-height:1.4; }
  .user-page #uc-tab-nav { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-bottom:16px; }
  .user-page #uc-tab-nav button { flex-direction:row; gap:6px; padding:12px 5px; min-height:52px; font-size:13px; }
  .user-page #uc-tab-nav button[data-tab="uc-growth"] { grid-column:1/-1; min-height:44px; justify-content:flex-start; padding-inline:14px; }
  .user-page #uc-tab-nav .uc-icon { width:20px; height:20px; }
  .user-page .badge-desc { font-size:12px; }
  .user-page .panel { padding:18px 16px; }
  .user-page .sec-form input { font-size:16px; min-height:48px; }

  .article-page { --reading-offset:84px; }
  .article-breadcrumb { padding-block:14px 8px; font-size:12px; }
  .article-page-shell { width:calc(100% - 32px); }
  .article-page-header { padding:8px 0 16px; }
  .article-eyebrow { display:none; }
  .article-page-header h1 { font-size:27px; line-height:1.45; letter-spacing:0; margin:10px 0 12px; text-wrap:balance; }
  .article-summary { font-size:15px; line-height:1.8; margin-bottom:12px; }
  .article-meta { gap:4px 12px; font-size:12px; line-height:1.7; }
  .article-reading-grid { gap:10px; }
  .article-toc { border-radius:12px; padding:6px 12px; }
  .article-toc summary { min-height:44px; font-size:14px; }
  .article-paper { padding:0 16px 22px; border-radius:14px; }
  .article-toolbar { padding:6px 0; margin-bottom:8px; gap:6px 12px; font-size:13px; }
  .article-text-size button { height:40px; width:38px; }
  .article-listen { margin:0 0 8px; border-bottom:1px solid #e2e7da; }
  .article-listen > summary { display:flex; align-items:center; justify-content:space-between; min-height:44px; font-size:14px; color:#476341; cursor:pointer; list-style:none; }
  .article-listen > summary::-webkit-details-marker { display:none; }
  .article-listen > summary::after { content:'＋'; }
  .article-listen[open] > summary::after { content:'−'; }
  .article-listen .player-bar { margin-bottom:12px; }
  .article-body { padding-top:8px; font-size:17px; line-height:1.95; }
  .article-body p { margin-bottom:18px; }
  .article-body blockquote { padding:14px 16px; margin:16px 0; }
  .article-page .article-body h2 { font-size:21px; margin-top:26px; }
  .article-table-scroll::before { content:'左右滑动查看完整表格'; display:block; position:sticky; left:0; font-size:12px; color:#65745d; margin-bottom:8px; }
  html[lang="en"] .article-table-scroll::before { content:'Swipe to view the full table'; }
}
@media (max-width:540px) {
  .cq-heading { padding:12px 0; }
  .cq-heading .cq-breadcrumb, .cq-heading .home-eyebrow { display:none; }
  .consultation-page .cq-heading h1 { font-size:27px; margin:0 0 3px; }
  .cq-subtitle { font-size:14px; }
  .cq-section { width:calc(100% - 24px); }
  .consultation-page .chat-window, .consultation-page .chat-window.is-empty { height:calc(var(--cq-viewport-height, 100svh) - 165px); min-height:390px; }
  .consultation-page .chat-role-bar, .has-conversation .chat-role-bar { display:none; }
  .cq-mobile-role { display:flex; width:100%; align-items:center; gap:12px; font-size:13px; }
  .cq-mobile-role select { flex:1; min-width:0; min-height:44px; padding:8px 12px; border:1px solid #cbd8be; border-radius:10px; background:#fafbf5; color:#355438; font:inherit; font-size:16px; }
  .cq-chat-header, .has-conversation .cq-chat-header { padding:10px 12px; gap:8px; flex-shrink:0; }
  .cq-mobile-new, .consultation-page .chat-history-btn { min-height:44px; font-size:12px; }
  .chat-window.is-empty .cq-stage { flex:1; min-height:0; overflow-y:auto; padding:14px; }
  .cq-welcome svg { width:48px; height:42px; margin-bottom:8px; }
  .consultation-page .cq-welcome h2 { font-size:19px; }
  .chat-window.is-empty #ai-greeting { font-size:14px; line-height:1.7; }
  .chat-window.is-empty .chat-hints { margin-top:12px; gap:8px; }
  .consultation-page .chat-hint { min-height:44px; font-size:13px; padding:8px; }
  .chat-window.is-empty .chat-hint:nth-of-type(n+3) { display:none; }
  .consultation-page .chat-input-bar { flex-shrink:0; padding:8px 12px max(10px,env(safe-area-inset-bottom)); gap:6px; }
  .consultation-page .mode-btn { min-height:40px; }
  .consultation-page .chat-note { font-size:12px; line-height:1.6; }
  .consultation-page #chat-input { font-size:16px; min-width:0; }
  .has-conversation .chat-window { height:calc(var(--cq-viewport-height,100dvh) - 66px); min-height:300px; }
  html[lang="en"] .user-page #uc-tab-nav button { font-size:12px; }
}
