/* Irivi · static/app/pickers.css（2026-10-28 界面修正 §2.2 / §2.3 公共组件，配合 static/app/pickers.js）
   1) 语言入口 .irivi-lang：地球图标 + 固定英文 "Language" + 下拉箭头，细描边胶囊高 32；只放在首页更新动态行、登录 / 注册页右上。
   2) 手机号区号 .irivi-dial：输入栏左侧只显示 "+86 ˅"，点开下拉每行"国家 / 地区名 …… +区号"，当前项浅底 + 勾。
   两者的下拉共用 .irivi-pick-menu。令牌来自 static/app/base.css（登录页没有 base.css 时用括号里的后备值）。 */

/* 旧脚本钩子 #lang 在不显示语言入口的页面保留为隐藏节点（core.js 的 I18N / lang 逻辑、settings.js 同步仍找它） */
html body select#lang[hidden],html body .irivi-lang-source{display:none!important}

/* ===== 下拉（两种组件共用） ===== */
html body .irivi-pick-menu{position:absolute;z-index:60;top:calc(100% + 6px);min-width:180px;max-height:min(360px,60vh);overflow:auto;padding:6px;border:1px solid var(--line,#ECEAF0);border-radius:16px;background:#fff;box-shadow:0 12px 32px rgba(36,33,42,.16);overscroll-behavior:contain;box-sizing:border-box}
html body .irivi-pick-menu[hidden]{display:none!important}
html body .irivi-pick-menu button{appearance:none;display:flex;align-items:center;gap:8px;width:100%;height:42px;margin:0;padding:0 12px;border:0;border-radius:10px;background:transparent;box-shadow:none;color:var(--ink,#24212A);font:inherit;font-size:14px;font-weight:700;text-align:left;cursor:pointer;white-space:nowrap}
html body .irivi-pick-menu button:hover,html body .irivi-pick-menu button:focus-visible{background:var(--soft,#F5F4F8);outline:0}
html body .irivi-pick-menu button[aria-selected="true"]{background:var(--ink-soft,#F1F0F4)}
html body .irivi-pick-menu .irivi-pick-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}
html body .irivi-pick-menu .irivi-pick-code{color:var(--ink-2,#5E5868);font-weight:800;font-variant-numeric:tabular-nums}
html body .irivi-pick-menu .irivi-pick-check{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;visibility:hidden}
html body .irivi-pick-menu button[aria-selected="true"] .irivi-pick-check{visibility:visible}

/* ===== 1. 语言入口 ===== */
html body .irivi-lang{position:relative;display:inline-flex;flex:none}
html body .irivi-lang-btn{appearance:none;display:inline-flex;align-items:center;gap:5px;height:32px;min-height:32px;margin:0;padding:0 10px 0 12px;border:1px solid var(--line,#ECEAF0);border-radius:16px;background:#fff;box-shadow:none;color:var(--ink,#24212A);font-family:"Inter",var(--f-ui,sans-serif);font-size:13px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap}
html body .irivi-lang-btn:hover{border-color:#DCD8E2}
html body .irivi-lang-btn:focus-visible{outline:2px solid var(--brand,#24212A);outline-offset:2px}
html body .irivi-lang-btn svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;color:var(--ink-2,#5E5868)}
html body .irivi-lang-btn svg.irivi-lang-globe{stroke-width:2}
html body .irivi-lang-btn svg.irivi-lang-chev{stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--t-fast,120ms)}
html body .irivi-lang-btn[aria-expanded="true"] svg.irivi-lang-chev{transform:rotate(180deg)}
html body .irivi-lang .irivi-pick-menu{right:0;left:auto;min-width:160px}

/* ===== 2. 手机号区号 ===== */
html body .irivi-dial-host{position:relative}
html body .irivi-dial-host>select.irivi-dial-source{position:absolute!important;left:0;top:0;width:1px!important;height:1px!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;opacity:0;pointer-events:none;flex:none!important}
html body .irivi-dial-btn{appearance:none;display:inline-flex;align-items:center;gap:6px;flex:none;align-self:stretch;height:auto;min-height:0;margin:0 4px 0 0;padding:0 12px 0 8px;border:0;border-right:1.5px solid var(--line,#ECEAF0);border-radius:0;background:none;box-shadow:none;color:var(--ink,#24212A);font:inherit;font-family:var(--f-num,inherit);font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;white-space:nowrap}
html body .irivi-dial-btn:focus-visible{outline:2px solid var(--brand,#24212A);outline-offset:-2px;border-radius:6px}
html body .irivi-dial-btn:disabled{cursor:default;opacity:.6}
html body .irivi-dial-btn svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;color:var(--ink-3,#938C9E);transition:transform var(--t-fast,120ms)}
html body .irivi-dial-btn[aria-expanded="true"] svg{transform:rotate(180deg)}
html body .irivi-dial-host .irivi-pick-menu{left:0;right:auto;width:280px;max-width:100%}
/* 登录 / 注册 / 找回密码 / 绑定手机号的输入框（auth.css .irivi-auth-tel）：区号按钮贴左边框，打开时输入框描边加深 */
html body .irivi-auth-tel.irivi-dial-host{padding-left:6px}
html body .irivi-auth-tel.irivi-dial-host.is-open{border-color:var(--brand,#24212A);box-shadow:0 0 0 4px var(--brand-soft,#F1F0F4)}
@media (prefers-reduced-motion:reduce){html body .irivi-lang-btn svg.irivi-lang-chev,html body .irivi-dial-btn svg{transition:none}}
/* 申诉页旧版表单（appeal.html 的 .auth-phone-row）：区号按钮与号码输入合成一个输入框 */
html body .auth-phone-row.irivi-dial-host{display:flex;align-items:stretch;min-height:48px;margin-top:6px;border:1.5px solid var(--line,#ECEAF0);border-radius:10px;background:#fff;box-sizing:border-box}
html body .auth-phone-row.irivi-dial-host:focus-within{border-color:var(--brand,#24212A)}
html body .auth-phone-row.irivi-dial-host .irivi-dial-btn{padding-left:14px}
html body .auth-phone-row.irivi-dial-host>input{flex:1;min-width:0;margin:0!important;border:0!important;border-radius:0 10px 10px 0;box-shadow:none!important;outline:0;background:transparent}
