/* ══════════════════════════════════════════════════
   知几 · 六爻 — 移动端统一样式
   桌面端不加载 (media="(max-width:600px)")
   2026-08-03 重写：花括号全量配平（原 78 行 .pan-grid 未闭合吞掉后半文件）
   ══════════════════════════════════════════════════ */

/* ── 全局 ── */
/* 2026-08-03 移动端性能：毛玻璃全关（浅色主题手机上不可见，纯烧 GPU） */
.hb-drawer,.login-overlay,.login-modal,.auth-overlay,.auth-modal,.intent-block,.stage-card,.action-bar{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
/* 触控加速：消除 300ms tap 延迟 + 禁双击缩放 */
html,body{touch-action:manipulation}
button,a,input,select,.style-btn,.tone-btn,.mode-tab,.yao-option,.coin,.btn-toss{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.auth-modal{max-width:95vw;padding:1rem}
.auth-modal-close{top:.4rem;right:.5rem}

h1{font-size:1.6rem}
.landing-title{font-size:2.2rem}
.subtitle{font-size:.78rem}
#main-wrapper{padding:1.5rem 1rem 12rem}
#app{padding:1.5rem 1rem calc(3rem + env(safe-area-inset-bottom,0px))}
.top-login-btn{right:16px;top:13px;min-height:40px;font-size:.74rem;padding:.32rem .7rem .32rem .45rem;background:transparent;border-color:rgba(168,66,46,.5)}

/* ── 起卦配置区 ── */
.mode-switch .style-group{flex-wrap:wrap}
.style-section,.tone-section{gap:.4rem}
.style-group,.tone-group{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.style-group::-webkit-scrollbar,.tone-group::-webkit-scrollbar{display:none}
.style-btn,.tone-btn{font-size:.74rem;padding:.3rem .6rem;flex-shrink:0;min-height:44px}
#question{font-size:16px;padding:.65rem .1rem .5rem}
.coin{width:48px;height:48px}   /* 2026-08-03 SVG 化 */
.cast-coins{gap:.6rem}
.yao-picker-list{max-width:100%}
.pan-grid{font-size:.72rem}
.pg-h{font-size:.68rem}
.pg-c{font-size:.7rem;padding:.2rem .15rem}
.pan-meta p{font-size:.74rem}
.pan-hexname{font-size:1.15rem}
.ark-card-title{font-size:.8rem}
#chat-input{font-size:.82rem}
#chat-send{font-size:.82rem;padding:.5rem 1rem}
.chat-bubble{max-width:92%;font-size:0.78rem}
.dual{flex-direction:column;gap:1.5rem}
.dual-col{min-width:auto}
.portals{gap:1rem}
.portal-card{padding:1.5rem 1.2rem;min-width:160px}
.landing-section p{font-size:.84rem;line-height:1.85}

h1{font-size:1.35rem}
.landing-title{font-size:1.7rem}
.subtitle{font-size:.72rem}
#main-wrapper{padding:1rem .8rem 10rem}
#app{padding:1rem .8rem calc(2.5rem + env(safe-area-inset-bottom,0px))}
.hb-btn{top:10px;left:10px;width:34px;height:34px}
.top-login-btn{top:11px;right:10px;min-height:38px;font-size:.68rem;padding:.28rem .6rem .28rem .4rem;background:transparent;border-color:rgba(168,66,46,.5)}

/* ── 排盘页重构组件适配 ── */
.pan-head{margin:0 0 1.6rem}
.pan-title{font-size:1.6rem}
.ritual-rail{gap:1.1rem;font-size:.72rem}
.rail-step+.rail-step::before{left:-.7rem;width:.5rem}
.stage-card{padding:1.4rem 1.1rem 1.6rem;margin-bottom:1.2rem}
.config-grid{grid-template-columns:1fr;gap:.9rem}
.mode-tabs{gap:.5rem}
.mode-tab{padding:.4rem .75rem;font-size:.8rem}
.cast-book{min-height:56px}
.action-bar{bottom:.6rem;padding:.6rem .7rem;gap:.6rem}
.action-bar .btn-back{font-size:.78rem}
#submit-btn{padding:.7rem 1.8rem;font-size:.88rem}

/* ── 移动端细节（沿用旧规则 · 括号已配平）── */
.mode-switch .style-group{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.3rem;scrollbar-width:none}
.mode-switch .style-group::-webkit-scrollbar{display:none}
.mode-switch .style-btn{font-size:.72rem;padding:.35rem .4rem;text-align:center;min-height:44px}
.style-label,.tone-label{font-size:.76rem}
.style-group,.tone-group{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.style-group::-webkit-scrollbar,.tone-group::-webkit-scrollbar{display:none}
.style-btn,.tone-btn{font-size:.7rem;padding:.35rem .6rem;flex-shrink:0;min-height:44px}
#question{font-size:16px;padding:.55rem .1rem .45rem}
.intent-block{padding:1rem .8rem}
.num-input{width:5rem!important;font-size:16px;padding:.45rem .1rem!important}
.coin{width:40px;height:40px}   /* 2026-08-03 SVG 化：孔/字随 viewBox 等比缩放，不再需要伪元素/避孔覆盖 */
.cast-coins{gap:.5rem}
.btn-toss{padding:.55rem 1.5rem;font-size:.88rem;min-width:0}
.yao-picker-list{gap:.3rem}
.yao-option{padding:.3rem .4rem;font-size:.74rem;min-height:44px;min-width:48px}
.yao-picker-row{gap:.25rem}
.row-label{font-size:.7rem;min-width:2.2rem}
.result-section{padding:.8rem 0;gap:.8rem}
.chat-section{margin-top:.8rem!important}
#chat-history{max-height:min(400px,35vh)}
.chat-bubble{max-width:95%;font-size:0.74rem;padding:0.45rem 0.6rem}
#chat-input{font-size:16px;padding:.4rem .6rem}
#chat-send{font-size:.76rem;padding:.4rem .8rem;flex-shrink:0}
.chat-input-row{padding-bottom:env(safe-area-inset-bottom,0px)}
.fu-sundial{width:46px;height:46px}
.fu-ring.outer{width:42px;height:42px;margin:-21px 0 0 -21px}
.fu-ring.mid{width:34px;height:34px;margin:-17px 0 0 -17px}
.fu-ring.inner{width:24px;height:24px;margin:-12px 0 0 -12px}
.fu-dizhi{width:42px;height:42px;margin:-21px 0 0 -21px}
.fu-dz{font-size:0.48rem;transform-origin:0 21px}
.btn-back{font-size:.82rem;padding:.5rem 1.2rem}
.disclaimer-modal{max-width:95vw;height:80vh}
.login-modal{max-width:92vw;max-height:75vh;padding:1.5rem}   /* 2026-08-04：移动端个人中心防顶屏 */
.dual-col p{font-size:.8rem;line-height:1.8}
.portal-card{padding:1.2rem 1rem;min-width:140px}
.portal-title{font-size:1rem}
.portal-desc{font-size:.74rem}
.landing-section p{font-size:.78rem}
.landing-tagline{font-size:.7rem}
.toast{bottom:calc(5rem + env(safe-area-inset-bottom,0px));font-size:.78rem;padding:.5rem 1rem}

.datetime-input{min-width:130px;font-size:.76rem}
.datetime-btn{font-size:.72rem;padding:.4rem .6rem;min-height:44px}

/* ── pan.css 移动端 ── */
.ark-card{overflow-x:auto;-webkit-overflow-scrolling:touch}
.pan-grid{
  grid-template-columns:1.8rem 2.6rem 4.2rem 6.6rem 2.8rem 4.2rem 2.6rem 6.6rem;
  font-size:.7rem;
  min-width:0;
}
.yao-bar-wrap{width:6.5rem;height:12px}
.ark-card{padding:.9rem .5rem}
/* 全部用 fr 比例，铺满屏幕 */
/* 2026-08-03 320px 溢出修复：minmax(0,fr) 允许列收缩到 min-content 以下（原 fr 受内容 min-content 下限撑爆 285px>237px 可用） */
/* 2026-08-03 卦象页缩小（用户钦定：正常排盘样子但比例更小，不转行不重叠）：
   字号 vw 比例流动 + 全部内容单行 nowrap + 列宽按内容需求分配（六神2字/伏神5字/动栏圈+箭头） */
.pan-grid{
  grid-template-columns:minmax(0,0.7fr) minmax(0,1.5fr) minmax(0,2.3fr) minmax(0,1.2fr) minmax(0,0.55fr) minmax(0,2.3fr) minmax(0,1fr) minmax(0,0.95fr);
  font-size:clamp(7px, 2.4vw, 10px);
  min-width:0;
  width:100%;max-width:100%;
  overflow:hidden;
}
/* 320px 可用宽榨取：stage-card/ark-card 移动端 padding 收窄（原 45+14px 消耗） */
.stage-card{padding:.85rem .7rem 1.1rem}
.ark-card{padding:.5rem .2rem}
/* 手机卦名独立行 */
.pg-m-hexlabel{display:block;font-size:.5rem;color:rgba(58,48,37,.35);text-align:center;padding:.15rem 0 0;line-height:1.2}
.pg-m-hexname{display:block;font-size:.72rem;font-weight:700;color:#3a3530;text-align:center;padding:0 0 .35rem;letter-spacing:.06em}
.pg-m-hexlabel+.pg-m-hexlabel{border-left:1px solid rgba(0,0,0,0.06)}
.pg-h{font-size:clamp(7px, 2.2vw, 9.6px);letter-spacing:.04em;padding:.12rem 0 .28rem;white-space:nowrap}
.pg-h.pg-yaotext,.pg-h.pg-yaotext2{padding-left:.2rem}
/* 卦象页缩小（2026-08-03 用户钦定）：爻格字号 vw 比例 + 内容单行不换行不重叠 */
.pg-c{font-size:inherit;padding:.12rem .05rem;white-space:nowrap;overflow:hidden;min-width:0}
.pg-c.pg-sixgod{font-size:clamp(6.4px, 2.1vw, 9.6px);justify-content:center}
.pg-c.pg-fushen{font-size:clamp(6.4px, 2.1vw, 9.6px);justify-content:center}
.pg-fk{display:inline-block;margin-left:2px;padding:0 3px;border-radius:3px;font-size:8px;line-height:1.4;vertical-align:middle}
.pg-fk.fk-x{background:rgba(180,60,60,.25);color:#e08a8a}
.pg-fk.fk-ji{background:rgba(90,150,90,.25);color:#8ac08a}
.pg-c.pg-fushen2{font-size:clamp(6.4px, 2.1vw, 9.6px);justify-content:flex-start;padding-left:.15rem}
.pg-c.pg-yaotext{padding-left:.15rem;gap:.06rem;flex-wrap:nowrap;justify-content:flex-start;font-size:inherit}
/* font-size:inherit 关键：pan.css 的 .pg-c.pg-yaotext2{font-size:.86rem}(0,2,0) 特异性更高，不显式覆盖则变卦爻象字号不缩 */
.pg-c.pg-yaotext2{padding-left:.15rem;gap:.06rem;flex-wrap:nowrap;justify-content:flex-start;font-size:inherit}
.pg-c.pg-yaotext .rel,.pg-c.pg-yaotext .gz,.pg-c.pg-yaotext .elem,
.pg-c.pg-yaotext2 .rel,.pg-c.pg-yaotext2 .gz,.pg-c.pg-yaotext2 .elem{white-space:nowrap;font-size:inherit}
.pg-c.pg-arrow{padding:0 .03rem;justify-content:center}
/* 2026-08-03 320 空间榨取：动爻已由爻符朱色(.moving)+变卦列表达，○→ 箭头冗余 → 移动端隐藏（动栏需求 24→11px） */
.pg-arrow-sym{display:none}
.yao-bar-wrap{width:2rem;height:8px}
.bar-seg{height:8px}
.pg-arrow-sym{font-size:clamp(8px, 2.4vw, 13px);padding:0 .08rem;line-height:1}
.badge{width:clamp(11px, 3.3vw, 16px);height:clamp(11px, 3.3vw, 16px);font-size:clamp(6px, 1.9vw, 8.6px);border-width:1.5px}
.pg-h.pg-block,.pg-h.pg-block2{font-size:.6rem;overflow:hidden}
.pg-c.pg-block,.pg-c.pg-block2{padding:0}

/* ── sundial.css ── */
.sundial{transform:translate(-50%,-50%) scale(0.42)}
.tick-xiu{display:none}

/* 2026-08-03 审查修复 */
/* 汉堡按钮盖住返回首页链接（矩形重叠实测）→ 移动端隐藏，首页跳转由汉堡承担 */
/* 2026-08-03 用户钦定：左上角返回首页按钮（避开 hb-btn 右侧并排，替代汉堡菜单项） */
/* 2026-08-03 用户钦定：移动端视觉对齐桌面端——纯文字链接（无胶囊背景/边框/阴影），仅 fixed 定位保留以避开 hb-btn */
.home-link{display:block;position:fixed;top:10px;left:52px;z-index:10001;
  font-size:.8rem;color:var(--text-dim);text-decoration:none;opacity:.8;
  letter-spacing:.04em;background:none;border:none;padding:0;
  box-shadow:none;transition:opacity .25s,color .25s}
.home-link:hover{opacity:1;color:var(--accent)}
/* 封盘朱印 translateX(550px) 在 375 视口越屏不可见 → 40vw 落屏内 */
.page-pan .sundial.sealed::after{transform:translateX(40vw)}

/* ── loading.css 卦象凝形适配（2026-08-03 融合版）── */
.loading-card{padding:1.3rem 1.5rem;gap:0.7rem}
#loading-status{font-size:0.78rem;min-width:0}
.hex-formation{width:clamp(150px,72vw,200px);padding:15px 12px 14px}
.hex-lines{gap:11px}
#loading-overlay{bottom:7vh}
.loading-hint{font-size:.66rem}
