:root{--bg:#f8f6f2;--bg2:#f0ede7;--bg3:#e8e4dc;--ink:#1a1a1a;--text2:#444;--text3:#777;
--gold:#b8962e;--gold-soft:#f4eeda;--border:rgba(0,0,0,.08);--card:#fff;--green:#2f6b4f;--red:#a3243a}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}   /* 10-17 Tony ④：手机横竖屏切换时不自动放大字 */
body{background:var(--bg);color:var(--ink);font-family:'DM Sans','PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC','Source Han Sans SC','Noto Sans SC',sans-serif;font-weight:300;line-height:1.65}
nav{display:flex;justify-content:space-between;align-items:center;padding:16px 4vw;border-bottom:1px solid var(--border)}
.logo{font-family:'Bebas Neue',sans-serif;font-size:21px;letter-spacing:4px;text-decoration:none;color:var(--ink)}
.logo span{color:var(--gold)}
.logo img{height:34px;display:block}
nav .links a{margin-left:18px;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:var(--text2);text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:26px 4vw 60px}
h1{font-family:'Bebas Neue',sans-serif;font-size:34px;letter-spacing:1.5px;margin:14px 0}
h2{font-size:16px;font-weight:500;margin:26px 0 10px;border-left:3px solid var(--gold);padding-left:9px}
.card{background:var(--card);border:1px solid var(--border);padding:20px;margin-bottom:16px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.q{margin-bottom:12px}.q label{display:block;font-size:12.5px;margin-bottom:4px;color:var(--text2)}
.q input,.q select,.q textarea{width:100%;padding:8px 9px;border:1px solid rgba(0,0,0,.18);font:inherit;font-size:13px;background:#fff}
.q input[type=checkbox],.q input[type=radio]{width:auto;padding:0;vertical-align:middle}   /* 10-17：勾选框也吃到 width:100%，把旁边的字挤到下一行（问卷第 1 题） */
.btn{display:inline-block;padding:10px 20px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;border:none;cursor:pointer;font-family:inherit;text-decoration:none}
.btn-gold{background:var(--gold);color:#fff}.btn-line{background:none;border:1px solid var(--ink);color:var(--ink)}
.btn-sm{padding:8px 14px;font-size:10px}
/* 10-11：禁用的按钮看得出来（核验卡里已有结论、只有 Tony 能改的那行「保存」原来照样是金色） */
.btn:disabled{opacity:.45;cursor:not-allowed}
.msg{font-size:12.5px;margin-top:8px;min-height:16px}.msg.ok{color:var(--green)}.msg.err{color:var(--red)}
.st{font-size:10px;letter-spacing:1.5px;padding:2px 8px;border-radius:2px;text-transform:uppercase}
.st.v{background:#e6f0ea;color:var(--green)}.st.p{background:var(--gold-soft);color:var(--gold)}
.st.d{background:var(--bg3);color:var(--text2)}.st.n{background:var(--bg2);color:var(--text3)}
table{border-collapse:collapse;width:100%;font-size:13px;background:var(--card)}
th,td{border:1px solid var(--border);padding:8px 10px;text-align:left;vertical-align:top}
th{background:var(--ink);color:#fff;font-weight:500;font-size:11px;letter-spacing:1px}
.bmeta{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;font-size:11px;color:var(--text3);margin:8px 0}
.bmeta b{display:block;color:var(--ink);font-size:14px;font-weight:500}
.chk{display:flex;justify-content:space-between;align-items:center;padding:9px 12px;background:var(--card);border:1px solid var(--border);margin-bottom:5px;font-size:13px}
.note{font-size:12px;color:var(--text3);border-left:3px solid var(--gold);padding:7px 10px;background:var(--gold-soft);margin:12px 0}
.pill{font-size:10px;letter-spacing:1px;padding:2px 8px;background:var(--gold-soft);color:var(--gold);border-radius:2px}
.steps{display:flex;gap:8px;margin:14px 0;font-size:11.5px}
.steps span{padding:5px 12px;background:var(--bg2);border-radius:2px;color:var(--text3)}
.steps span.on{background:var(--ink);color:#fff}
/* 筛选 chips（此前只存在于 mock 的内联 CSS，动态站漏带——挤成一团的原因） */
.filters{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 22px;align-items:center}
.chip{border:1px solid var(--border);background:var(--card);padding:7px 15px;font-size:12.5px;cursor:pointer;border-radius:2px;user-select:none;letter-spacing:.5px}
.chip.on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* 窄屏导航（Tony 09-21：手机优先；390px 下原导航换行成三行）：次要链接收起，只留 登录 + 语言 */
@media(max-width:700px){nav{padding:12px 16px}.logo img{height:28px}nav .links a.sec{display:none}nav .links .btn{margin-left:8px!important}}
/* 合作伙伴（057）：首页底部一排 + 合作伙伴页 */
.plogos{display:flex;flex-wrap:wrap;align-items:center;gap:18px 34px;margin:18px 0 14px}   /* 09-29 Tony：标志直接放背景上、统一约 48px 高、一排对齐 */
.plogo{position:relative;height:48px;display:flex;align-items:center;justify-content:center;
  text-align:center;text-decoration:none;color:var(--text2);font-size:13px;line-height:1.4}
.plogo img{height:48px;width:auto;max-width:220px;object-fit:contain}
.plogo.pv{outline:2px dashed var(--gold);outline-offset:3px}
.plogo em{position:absolute;left:0;right:0;bottom:-9px;transform:translateY(100%);font-style:normal;font-size:10px;color:#8a6d1a;letter-spacing:.5px}
.plogos:has(.pv){row-gap:36px;margin-bottom:32px}
@media(max-width:700px){.plogos{gap:16px 24px}.plogo img{height:40px;max-width:150px}.plogo{height:40px}}
/* 页面内引导（第 6 项，PLAN_页面内引导.md）：按钮旁说明 / 四步进度 / 待办卡 / 空白状态 */
.hint{font-size:12px;color:var(--text3);margin:6px 0 0;line-height:1.6}
.prog{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:4px 0 12px;counter-reset:pg}
.prog span{font-size:12px;line-height:1.45;padding:8px 10px;background:var(--bg2);color:var(--text3);border-top:3px solid var(--bg3)}
.prog span.done{color:var(--ink);border-top-color:var(--green)}
.prog span.cur{background:var(--gold-soft);color:var(--ink);border-top-color:var(--gold);font-weight:500}
.prog span i{font-style:normal;display:block;font-size:10px;letter-spacing:1px;color:var(--text3);font-weight:400}
.next{font-size:13px;line-height:1.7;background:var(--gold-soft);border-left:3px solid var(--gold);padding:10px 14px;margin:0 0 16px}
.next .btn{margin:8px 8px 0 0}
.todos{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:12px}
.todo{background:var(--card);border:1px solid var(--border);border-top:3px solid var(--bg3);padding:13px 15px;display:flex;flex-direction:column;gap:5px;font-size:12.5px;line-height:1.6;color:var(--text2)}
.todo.act{border-top-color:var(--gold)}.todo.ok{border-top-color:var(--green)}
.todo .tt{font-size:10.5px;letter-spacing:1.5px;color:var(--text3);text-transform:uppercase}
.todo b{font-size:15px;font-weight:500;color:var(--ink)}
.todo .btn{align-self:flex-start;margin-top:4px}
.empty{font-size:13px;color:var(--text2);line-height:1.7;background:var(--bg2);border:1px dashed rgba(0,0,0,.15);padding:14px 16px}
.empty .btn{margin-top:8px}
@media(max-width:700px){.prog{grid-template-columns:1fr 1fr}.todos{grid-template-columns:1fr}}
/* 如何使用两页（第 7 项）：一步一张手机截图，中文一句在前、英文在后 */
.howto{max-width:760px}
.howto h1 small,.hother small,.hhole small{display:block;font-family:'DM Sans',sans-serif;font-size:13px;letter-spacing:.3px;color:var(--text3);font-weight:300;margin-top:2px}
.howto h1{font-family:'PingFang SC','Hiragino Sans GB','Microsoft YaHei','Noto Sans CJK SC','Source Han Sans SC','Noto Sans SC',sans-serif;font-weight:600;font-size:26px;line-height:1.35}
.hother{font-size:14px;margin:0 0 18px}.hother a{color:var(--gold);font-weight:500;text-decoration:none}
.hhole{border:2px dashed var(--gold);background:var(--gold-soft);color:#8a6d1a;padding:18px;margin:0 0 22px;font-size:14px;text-align:center}
.hsteps{list-style:none;padding:0;margin:0}
.hstep{display:grid;grid-template-columns:44px 1fr 300px;gap:16px;align-items:start;background:var(--card);border:1px solid var(--border);padding:18px;margin-bottom:16px}
.hnum{width:40px;height:40px;border-radius:50%;background:var(--gold);color:#fff;font:500 20px/40px 'DM Sans',sans-serif;text-align:center}
.hcn{font-size:17px;line-height:1.7;color:var(--ink);font-weight:500;margin:0}
.hen{font-size:13px;line-height:1.6;color:var(--text3);margin:6px 0 0}
.hstep img{width:100%;border:1px solid var(--border);border-radius:14px;display:block;background:var(--bg2)}
.hhelp{margin-top:26px;padding:16px 18px;background:var(--card);border:1px solid var(--border)}.hhelp a{color:var(--gold);font-weight:500}
.hhelp .hhole{margin:0}
.hentry{display:block;font-size:13.5px;background:var(--gold-soft);border-left:3px solid var(--gold);padding:9px 14px;margin:0 0 16px;color:var(--ink);text-decoration:none}
.hentry b{color:#8a6d1a;font-weight:500}
@media(max-width:700px){.hstep{grid-template-columns:36px 1fr;gap:10px;padding:14px}.hnum{width:34px;height:34px;font-size:17px;line-height:34px}.hstep img{grid-column:1/-1;max-width:320px;margin:4px auto 0}}
.hlinks{margin-top:10px;font-size:13.5px;line-height:2}.hlinks a{color:var(--gold);font-weight:500;text-decoration:none;margin-right:14px;white-space:nowrap}
/* 10-17 Tony：手机上表格一条一张卡片（table.tcard）：表头藏起来，第一格（.tc-h）当卡片标题，其余每格前面写栏名（data-l），空格子（.tc-e）不占位 */
@media(max-width:700px){table.tcard,table.tcard tbody,table.tcard tr,table.tcard td{display:block;width:100%}
table.tcard{background:none}table.tcard tr.thr{display:none}
table.tcard tr{background:var(--card);border:1px solid var(--border);padding:12px 14px;margin-bottom:10px}
table.tcard td{border:none;padding:3px 0}table.tcard td.tc-h{font-weight:500;font-size:15px;padding-bottom:6px}table.tcard td.tc-e{display:none}
table.tcard td[data-l]::before{content:attr(data-l);display:block;font-size:12px;color:var(--text3)}}
/* ===== 10-17 Tony 手机版七条 =====
   ② 中文不下载网页字体：上面 body 的中文用系统字体（iPhone PingFang SC、安卓思源黑体 / Noto、电脑微软雅黑），fonts.css 里只剩英文字体
   ③ 字间距只留给英文大写：中文模式、只有中文的后台（body.zh）一律 0；英文模式下没做大写变换的、可能是中文的（品牌名、语言按钮）也是 0 */
body.cn *,body.zh *{letter-spacing:0!important}
th,.chip,.pill,.plogo em,.prog span i,.howto h1,.howto h1 small,.hother small,.hhole small,#langbtn,.lang,.bname,.tag,.tier,.pkinds,.cf-key,.todo .tt,#ent_staff,#staffline{letter-spacing:0!important}
/* 图片先占位（⑥）：教程截图 780×1200，在 howto.js 里带了宽高 */
.hstep img{aspect-ratio:780/1200;height:auto}
@media(max-width:700px),(pointer:coarse){
/* ① 输入框、下拉框、文本框 ≥ 16px：iPhone 小于 16px 一点就放大页面（[style] 那一组压过页面里写死的字号） */
input,select,textarea,input[style],select[style],textarea[style],.q input,.q select,.q textarea,.cf-edit input,.cf-edit select,.cf-edit textarea,.cf-box input[type=text]{font-size:16px!important}
}
@media(max-width:700px){
/* ④ 正文 ≥ 15px：页面和脚本里写死的小字号一律抬到 15（小标签在下面单独回到 12–13） */
[style*="font-size:9.5px"],[style*="font-size:10px"],[style*="font-size:10.5px"],[style*="font-size:11px"],[style*="font-size:11.5px"],[style*="font-size:12px"],[style*="font-size:12.5px"],
[style*="font-size:13px"],[style*="font-size:13.5px"],[style*="font-size:14px"],[style*="font-size:14.5px"],
[style*="font-size: 9.5px"],[style*="font-size: 10px"],[style*="font-size: 10.5px"],[style*="font-size: 11px"],[style*="font-size: 11.5px"],[style*="font-size: 12px"],[style*="font-size: 12.5px"],
[style*="font-size: 13px"],[style*="font-size: 13.5px"],[style*="font-size: 14px"],[style*="font-size: 14.5px"]{font-size:15px!important}
small{font-size:1em}
.q label,.msg,table,.chk,.note,.hint,.next,.todo,.empty,.hother,.hhole,.hen,.hentry,.hlinks,.howto h1 small,.hother small,.hhole small,.bmeta b,
.pvbar,.ubar,.bline,.layer,footer,.inv .co,.inv .meta,.inv table,.inv .foot,.cf-t,.cf-box,.prow .pnote,.prow .prole,.fixed,.lead,.toc,
section p,section li,.doc .row,.doc .sha,.doc .err,.more,.ck dl,.state p,.callout,.fine,.lgent small,.pvwhy,
.gsec p,.gsec li,.checks div,.states p,.ptab,.help,.toc ol{font-size:15px!important}   /* !important：页面自己的 <style> 在 app.css 后面，同级选择器会压过这里 */
/* 小标签 ≥ 12px（按钮、状态、表头、类别、标签）：选择器带 body 前缀，压过上面写死字号那一组 */
body .btn{font-size:13px!important}body .btn-sm{font-size:12px!important}
body .st,body th,body .pill,body .tag,body .bcat,body .tier,body .cf-key,body .todo .tt,body .prog span i,body .plogo em,body .kv span,body .bhero .cat,
body .layer b,body .inv .meta span,body .inv th,body .prow .tag,body .ck dt,body .bmeta,body #langbtn,body .lang,body nav .links a,body .checks .tier,body .ptab th,
body #staffline,body #ent_staff{font-size:12px!important}   /* 登录页底部小字 Staff（Tony 10-17 第 4 点：一行小字） */
body .chip,body .steps,body .dots,body .prog span,body .plogo,body .prow .pkinds{font-size:13px!important}
/* ⑤ 表格一律变卡片：每一行一张卡片，表头那一行藏起来，每格前面写栏名（app.js 按表头自动补 data-l） */
table,table tbody,table thead,table tr,table td,table th{display:block;width:auto!important}
table{background:none;border:none}
table tr:has(> th):not(:has(> td)){display:none}
table tr{background:var(--card);border:1px solid var(--border);padding:10px 14px;margin-bottom:10px}
table td,table th{border:none;padding:3px 0;text-align:left!important;white-space:normal!important}
table th{background:none;color:var(--text3);font-weight:500}
table td[data-l]::before{content:attr(data-l);display:block;font-size:12px;color:var(--text3);letter-spacing:0}
table td:empty{display:none}
/* 页面和脚本里写死的多栏表单（后台合作伙伴、注册表等）：手机上一栏一个，不然每栏挤成一两个字宽 */
[style*="grid-template-columns"]{grid-template-columns:1fr!important}
/* 不许比手机宽（页面一宽，手机浏览器就整页缩小，字跟着变小）：长选项的下拉框、长串（JSON、网址、编号）、写死的最小宽度、不换行的按钮行 */
select,input,textarea,button,img,video,iframe{max-width:100%}
.wrap{overflow-wrap:anywhere}
footer a{display:inline-block}   /* 页脚链接各自 nowrap、之间没有空格：整排连成一串断不开（品牌页英文版宽到 447px） */
[style*="min-width"]{min-width:0!important}
[style*="display:flex"],[style*="display: flex"]{flex-wrap:wrap}
}
