/* mobile.css —— 手机端基线规则（2026-09-27 第 27 轮建立）
   ─────────────────────────────────────────────────────────────────────
   【为什么单独一个文件】
     手机端的坑是**全站性**的，不是某一页的。同一个「输入框字号 <16px → iPhone
     聚焦即把整页放大」的问题，以前散在 8 个页面各自的 CSS / 内联 style 里，
     修了 4 处、漏了 22 处（含注册 / 找回密码 / 充值 / 兑换码这些付费必经的输入框）。
     收敛到一个文件后：新页面只要 link 一行就自动继承，不用每页各写一遍。

   【铁律：电脑端不许受影响】
     所有规则一律写在 @media (max-width: 760px) 里。电脑端（>=761px）一个像素都不动
     —— 与 _topbar.html / tools.css 的手机端做法保持一致。

   【谁在用】
     各页面模板 <head> 里：<link rel="stylesheet" href="/static/css/mobile.css?v=...">
     新页面照抄这一行即可。加手机端规则一律加在本文件，别散回各页。
   ───────────────────────────────────────────────────────────────────── */

@media (max-width: 760px) {

    /* iPhone Safari 在输入框字号 <16px 时，**聚焦即自动放大整页**，填完还得手动缩回去。
       全站实测 22 处低于这个门槛，其中注册、找回密码、充值、兑换码这几个在付费必经路径上。
       ⚠️ 必须带 !important：各页用 ID 选择器（如 #act-code { font-size: 13px }）写的字号
          权重高于 `input`，不加 !important 这条根本不生效（第一次就是这么白写的）。
       ⚠️ 这条是通配的 —— 以后新加的输入框不用单独处理。 */
    input, textarea, select { font-size: 16px !important; }

    /* ── ② 点击目标 ≥36px（2026-09-27 第 28 轮整站大修）─────────────────────────
       来源：手机巡检里「点不到」的那批（<36px）。构成＝① 页脚链接（全站 6 种页脚皮肤
       各写一份）② 一批 30~35px 高的小按钮 / 返回链接。全部收口到本文件
       （手机端基线的唯一 home），以后新页面 link 一行就自动继承。
       ⚠️ 只加**竖向尺寸**和必要的 min-width，不动字号、不加左右 padding ——
          窄屏横向空间本来就紧（第 26 轮顶栏被撑宽过一次，别再犯）。
       ⚠️ <a> 默认是 inline，min-height 对它**不生效**，必须先 blockify。 */

    /* ① 页脚与底部/返回类链接：给竖向内距，行盒从 ~23px 抬到 ~39px */
    footer.site-foot a, footer.foot a, footer.legal-foot a, .foot-legal a,
    div.foot > a, .back a, .switch-line a, .tp-crumb a, .tp-links a, .learn-back, .crumb a {
        display: inline-block;
        padding: 8px 0;
    }
    /* ①b 面包屑：文字短（「首页」才 2 字 = 26px 宽），竖向够了宽度还不够 → 补左右 5px */
    .tp-crumb a, .crumb a { padding-left: 5px; padding-right: 5px; }

    /* ② 原生按钮：本来就是 inline-block，min-height / min-width 直接生效 */
    button, input[type="submit"], input[type="button"] {
        min-height: 36px;
        min-width: 36px;
    }

    /* ③ 链接做成的按钮 / 页脚 logo：先 blockify，再给最小高度 */
    a.btn, a.ghostbtn, a.wp-dl, a.tp-btn, a.panel-logo, a.home {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 36px;
    }

    /* ⑤ 认知篇目录（/learn /learn/<篇> 的「全部篇目」）：<li> 里的篇目链接是导航，
       一行标题 + 一行副标题；抬高后文字仍按基线对齐，只是行变高、更好点。 */
    .cog-index li a { display: inline-block; padding: 8px 0; }

    /* ④ 正文里的行内链接**不动**（mailto 邮箱、句子中间的「会员页」这类）：
       它们不是控件，撑到 36px 只会把行距拉坏。巡检脚本已按此口径排除，
       别为了让数字归零去改它们。 */

}

/* 通话工作台与固定链接准备页：手机和电脑共用同一入口。 */
@media(max-width:760px){.vcall-page .vc-workspace,.vcall-page .vc-room{padding:20px 14px}.vcall-page .vc-heading{align-items:flex-start}.vcall-page h1{font-size:var(--fs-2xl)}.vcall-page .vc-invitation,.vcall-page .vc-preflight,.vcall-page .vc-call-layout{grid-template-columns:1fr}.vcall-page .vc-invite-copy,.vcall-page .vc-link-area,.vcall-page .vc-preflight-intro,.vcall-page .vc-preflight form{padding:22px}.vcall-page .vc-preflight{margin:20px auto}.vcall-page .vc-service-note{flex-direction:column;gap:4px}.vcall-page .vc-history{padding:18px}.vcall-page .vc-record{flex-wrap:wrap;padding:12px}.vcall-page .vc-record span:last-child{font-size:var(--fs-xs)}.vcall-page .vc-link-row{flex-wrap:wrap}.vcall-page .vc-link-row input{flex:1 0 100%}.vcall-page .vc-waiting{margin:30px auto;padding:30px 20px}.vcall-page .vc-meeting-head{align-items:flex-start}.vcall-page .vc-stage{min-height:240px}.vcall-page .vc-controlbar>button{flex:1}.vcall-page .vc-history-toolbar input{min-width:0}.vcall-page .vc-symbol{width:42px;height:42px;font-size:var(--fs-2xl)}}

@media (max-width:600px) {
 .auth-page .auth-wrap { padding:20px 16px; align-items:flex-start; }
 .auth-page .auth-panel { padding:28px 22px; }
 .auth-gate { padding:40px 24px; }
}

/* Workbench and console account display; retain the same account data on small screens. */
@media(max-width:1100px){
 .console-page .ov-grid,.console-page .stat-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
 .console-account .wrap { grid-template-columns:1fr; }
}
@media(max-width:820px){
 .console-page .ws-topbar { margin-left:0; padding:0 14px; height:64px; gap:10px; }
 .console-page .ws-breadcrumb { display:none; }
 .ws-nav-toggle { display:block; }
 .console-heading { margin:0; padding:24px 16px 20px; }
 .console-page .sidebar { position:fixed; transform:translateX(-100%); transition:transform .18s; display:block; height:100dvh; max-height:none; width:260px; padding:24px 18px; }
 .console-page.console-nav-open .sidebar { transform:translateX(0); }
 .console-page.console-nav-open .console-nav-scrim { display:block; position:fixed; inset:0; z-index:110; background:color-mix(in srgb,var(--text) 35%,transparent); border:0; }
 .console-page .sidebar .side-item { display:flex; width:100%; white-space:normal; }
 .console-page .sidebar .side-group,.console-side-heading { display:block; }
 .console-page .layout { margin:0; width:100%; padding:0 16px 28px; }
 .console-page .main .tab-pane { padding:20px 16px; }
 .console-account .wrap { margin:0; width:100%; padding:0 16px 28px; gap:16px; }
 .console-shortcuts { grid-template-columns:1fr; gap:8px; }
 .console-shortcuts a { display:flex; justify-content:space-between; align-items:center; gap:8px; padding:12px; }
 .console-shortcuts span { margin:0; }
 .console-page .form-row :is(input,textarea,select) { max-width:100%; min-width:0!important; }
 .console-page :is(.ov-card,.stat-card,.card) { padding:16px; }
 .console-account .bal-grid { grid-template-columns:1fr; }
 .console-page>.site-foot,.console-page>.foot { margin-left:0; width:100%; padding:20px 16px; }
}
@media(max-width:760px){
 .ws-account,.ws-account-session { gap:8px; }
 .ws-name { max-width:92px; }
 .ws-profile-button { gap:6px; font-size:var(--fs-xs); }
 .ws-avatar { width:28px; height:28px; }
 .ws-points { font-size:var(--fs-xs); }
 .ws-tier { padding:4px 6px; font-size:var(--fs-xs); }
 .topbar .top-actions { gap:8px; }
 .topbar:has(.ws-account) .crumb { display:none; }
 .topbar:has(.ws-account) #quick-button { padding:7px; font-size:var(--fs-xs)!important; }
}
@media(max-width:520px){
 .topbar:has(.ws-account) #quick-button { display:none; }
 .ws-profile-button>.ws-name { max-width:80px; }
}

/* Call translation: marketing, permanent link, history and call center. */
@media(max-width:1050px){.vcall-page .vc-hero{gap:28px}.vcall-page .vc-hero-copy h1{font-size:var(--fs-3xl)}.vcall-page .vc-features article{padding:20px}.vcall-page .vc-call-layout{grid-template-columns:minmax(0,1fr) 280px}.vcall-page .vc-stage{grid-template-columns:1fr;min-height:320px}.vcall-page .vc-self-tile{min-height:180px}.vcall-page .vc-remote-person{min-height:180px}}
@media(max-width:760px){
 .vcall-page .vc-workspace,.vcall-page .vc-room{padding:20px 16px}.vcall-page .vc-heading{margin-bottom:20px;gap:12px}.vcall-page .vc-wordmark{font-size:var(--fs-base)}.vcall-page .vc-wordmark span{margin-left:5px;font-size:var(--fs-xs)}.vcall-page .vc-text-link{font-size:var(--fs-xs);white-space:nowrap}.vcall-page .vc-hero{grid-template-columns:1fr;padding:16px 0 26px;gap:30px}.vcall-page .vc-hero-copy h1{font-size:var(--fs-3xl)}.vcall-page .vc-hero-copy>p{font-size:var(--fs-base)}.vcall-page .vc-hero-visual{transform:none;padding:20px}.vcall-page .vc-features{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:26px}.vcall-page .vc-features article{padding:18px;border-bottom:1px solid var(--border)}.vcall-page .vc-features article:nth-child(2){border-right:0}.vcall-page .vc-features article:nth-child(n+3){border-bottom:0}.vcall-page .vc-invitation{grid-template-columns:1fr}.vcall-page .vc-invite-copy,.vcall-page .vc-link-area{padding:24px}.vcall-page .vc-history{padding:22px 18px;margin-top:24px}.vcall-page .vc-history h2{font-size:var(--fs-xl)}.vcall-page .vc-history>header{align-items:flex-start;gap:8px}.vcall-page .vc-history>header>button{white-space:nowrap}.vcall-page .vc-history-toolbar{gap:12px}.vcall-page .vc-history-toolbar>input{max-width:none;order:3;margin-left:0;flex:1 0 100%}.vcall-page #vc-history-count{margin-left:auto}.vcall-page .vc-record{flex-wrap:wrap;padding:14px;gap:10px}.vcall-page .vc-record-main{flex-basis:calc(100% - 58px)}.vcall-page .vc-record-status{margin-left:54px}.vcall-page .vc-record-points{margin-left:auto}.vcall-page .vc-record-excerpt{max-width:220px}.vcall-page .vc-preflight{grid-template-columns:1fr;margin:25px auto}.vcall-page .vc-preflight-intro,.vcall-page .vc-preflight form{padding:24px}.vcall-page .vc-preflight h1{font-size:var(--fs-2xl)}.vcall-page .vc-waiting{padding:28px 22px;margin:28px auto}.vcall-page .vc-wait-ticket{flex-direction:column;gap:12px}.vcall-page .vc-call-layout{grid-template-columns:1fr}.vcall-page .vc-stage{grid-template-columns:1fr 1fr;min-height:240px;padding:12px}.vcall-page .vc-self-tile,.vcall-page .vc-remote-person{min-height:200px}.vcall-page .vc-stage-empty{padding:10px}.vcall-page .vc-stage-empty p{font-size:var(--fs-xs)}.vcall-page .vc-controlbar{gap:8px}.vcall-page .vc-controlbar>button{flex:0 1 auto;font-size:var(--fs-xs);padding:9px 11px}.vcall-page .vc-device-controls button{font-size:var(--fs-xs);padding:9px 11px}.vcall-page .vc-meeting-head{align-items:flex-start}.vcall-page .vc-meeting-head>.vc-actions{justify-content:flex-end}.vcall-page .vc-transcript,.vcall-page .vc-participants,.vcall-page .vc-room-settings,.vcall-page .vc-cost{padding:18px}.vcall-page .vc-transcript>header{align-items:flex-start}.vcall-page .vc-subtitle-select{flex-direction:column;gap:4px;align-items:flex-start}.vcall-page dialog{padding:22px}.vcall-page .vc-detail-tabs{gap:18px}.vcall-page .vc-detail-footer{flex-direction:column;align-items:flex-start}.vcall-page .vc-hero-secondary{margin-left:12px}.vcall-page .vc-room-state{font-size:var(--fs-xs)}
}
