
*{margin:0;padding:0;box-sizing:border-box}
body{font:16px/1.6 "Microsoft YaHei",Arial,sans-serif;background:var(--cf-cyan-19, #eef0f4);color:#333;-webkit-tap-highlight-color:transparent}
/* 电脑端预览：整体限制为手机宽度，居中显示（手机上不受影响，全宽） */
.page{max-width:480px;margin:0 auto;box-shadow:0 0 28px rgba(0,0,0,.09);display:flex;flex-direction:column;min-height:100vh}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
/* 欢迎页 */
#adPage{position:fixed;inset:0;z-index:60;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}
#adPage img{max-height:70vh;object-fit:contain;margin-bottom:20px}
#adPage .ad-btn{display:inline-block;padding:10px 34px;border-radius:22px;color:#fff;font-size:17px;letter-spacing:1px}
#adPage .ad-skip{margin-top:12px;color:#999;font-size:15px}
/* 首页 */
.page{min-height:100vh;background:var(--pbg,#fff);padding-bottom:22px}
.banner{position:relative}
.banner .slides{position:relative;overflow:hidden}
.banner .slide{display:none}
.banner .slide.on{display:block}
/* banner 图整张显示：按图自身比例铺满宽度，不做固定高度裁切（各模板不得再写 height/object-fit:cover 覆盖） */
.banner .slide img{width:100%;height:auto;display:block}
.countdown{margin:14px auto 0;width:82%;max-width:380px;border-radius:10px;padding:14px 12px;text-align:center;color:#fff;background:linear-gradient(180deg,rgba(9,46,127,.78),rgba(9,46,127,.55));backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);box-shadow:0 4px 14px rgba(0,0,0,.10)}
.live-bar{padding:10px 14px;font-size:15px;text-align:center}
/* 模板族头部（顶部标题栏已彻底移除） */
.m-title{background:var(--fb-fill,var(--tc,var(--fb-theme, var(--cf-cyan-13, #5181f1))));color:var(--fb-on-fill,var(--fb-on-theme,#fff));text-align:center;padding:14px 12px;font-size:18px;font-weight:bold;outline:var(--fb-fill-outline,revert)}
.grid-card .gi{background:#fff;margin:6px;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.05)}
.grid-card .gi .gi-ico{border-radius:14px;box-shadow:0 4px 10px rgba(0,0,0,.08)}
.grid-circle .gi .gi-ico{border-radius:50%}
.countdown .cd-num{font-size:32px;font-weight:bold;letter-spacing:2px}
.countdown .cd-lab{font-size:14px;opacity:.85;margin-top:4px}
.grid-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:16px 6px}
.gi{display:flex;flex-direction:column;align-items:center;padding:12px 4px;cursor:pointer}
.gi .gi-ico{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--on-one,#fff);background:var(--m-one-bg,var(--tc,var(--fb-theme, var(--cf-cyan-13, #5181f1))));margin-bottom:6px}
.gi .gi-name{font-size:14px;color:#444;text-align:center}
.gi .sub{font-size:13px;color:#999}
/* 选中色：后台未配 color_nav_current 时退化为 theme_color 加深（与 t2/t3 行为一致） */
:root{--m-cur:color-mix(in srgb,var(--tc,var(--fb-theme, var(--cf-cyan-13, #5181f1))) 70%,#000)}
.gi .gi-name.on,.gi.on .gi-name{color:var(--m-cur);font-weight:600}
.entry-list .gi-row.on,.entry-list .gi-row.on .gi-name{color:var(--m-cur)}
.grid-circle .gi.on .gi-ico{box-shadow:0 0 0 2px var(--m-cur)}
/* 会议一（模版1）：大图块宫格 */
.grid-block{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 12px 0}
.grid-block .gi{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:84px;border-radius:12px;background:linear-gradient(135deg,var(--tc),color-mix(in srgb,var(--tc) 78%,#000));padding:12px;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.16)}
.grid-block .gi .gi-ico{width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.2)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:6px}
.grid-block .gi .gi-name{color:#fff;font-weight:600;font-size:15px}
.grid-block .gi .sub{color:rgba(255,255,255,.75);font-size:13px}
/* 会议二（模板2）：图片方块宫格 */
.grid-tile{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px 12px 0}
.grid-tile .gi{display:flex;flex-direction:column;align-items:center;justify-content:center;height:clamp(96px,24vw,120px);padding:8px;cursor:pointer;border-radius:0;background:linear-gradient(160deg,rgba(255,255,255,.55),rgba(255,255,255,.25));backdrop-filter:blur(10px) saturate(1.3);-webkit-backdrop-filter:blur(10px) saturate(1.3);box-shadow:0 6px 16px rgba(0,0,0,.16)}
.grid-tile .gi .gi-ico{width:auto;height:auto;border-radius:0;background:transparent!important;color:var(--fb-theme-ink,var(--fb-theme, var(--cf-cyan-13, #5181f1)))!important;font-size:clamp(30px,7.5vw,38px);margin-bottom:8px}
.grid-tile .gi .gi-name{font-size:clamp(13px,3.4vw,16px);color:#444;text-align:center;font-weight:500}
.grid-tile .gi .sub{font-size:clamp(11px,2.8vw,13px);color:#999}
/* 会议三（模板3）：横条入口 */
.entry-list{display:flex;flex-direction:column;gap:10px;padding:12px 12px 0}
.entry-list .gi-row{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:12px 14px;box-shadow:0 2px 8px rgba(0,0,0,.05);cursor:pointer}
.entry-list .gi-row .gi-ico{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:21px;color:#fff;flex:none;filter:drop-shadow(0 3px 7px rgba(0,0,0,.30))!important;-webkit-filter:drop-shadow(0 3px 7px rgba(0,0,0,.30))!important}
.entry-list .gi-row .gi-name{flex:1;font-size:16px;color:#333;font-weight:600}
.entry-list .gi-row .sub{color:#999;font-size:14px}
.entry-list .gi-row .gi-arrow{color:#bbb;font-size:20px}
/* 会议二（模板2）：盒式倒计时 */
.countdown.cd-box .cd-title{font-size:14px;opacity:.85;margin-bottom:6px}
.countdown.cd-box .cd-nums{display:flex;align-items:center;justify-content:center;gap:6px}
.countdown.cd-box .cdn{display:flex;flex-direction:column;align-items:center;min-width:44px;background:var(--cd-box,rgba(255,255,255,.16));border-radius:8px;padding:6px 4px}
.countdown.cd-box .cdn b{font-size:22px;font-weight:700}
.countdown.cd-box .cdn i{font-size:13px;font-style:normal;opacity:.9}
.countdown.cd-box em{font-style:normal;opacity:.8;font-size:14px}
/* 浅色倒计时卡（后台配了白/浅底 + 白字时自动切深字）：数字格与描边改成深色系，
   否则白底白字 + 白色数字格会让整块倒计时看着「不显示内容」 */
.countdown.cd-on-light{border:1px solid rgba(15,30,60,.08);box-shadow:0 6px 16px rgba(15,30,60,.12)}
.countdown.cd-on-light .cdn{background:var(--cd-box,rgba(15,30,60,.06));box-shadow:inset 0 0 0 1px rgba(15,30,60,.06)}
.countdown.cd-on-light .cd-num,.countdown.cd-on-light .cd-lab,.countdown.cd-on-light .cd-title{text-shadow:none}
.text-mod{margin:12px;border-radius:10px;background:#fff;padding:14px 16px}
.text-mod h3{font-size:17px;margin-bottom:8px;padding-left:8px;border-left:3px solid var(--tc,var(--fb-theme, var(--cf-cyan-13, #5181f1)))}
.text-mod .body{font-size:15px;color:#555;white-space:pre-line}
.ad-strip{margin:12px;border-radius:8px;overflow:hidden}
.ad-strip img{height:80px;object-fit:cover;width:100%}
.ad-text{margin:12px;border-radius:8px;background:#fff;border:1px dashed var(--cf-orange-13, #e0a060);color:var(--cf-orange-08, #b06a20);padding:10px 14px;font-size:15px;text-align:center}
/* ---- 广告位（后台「微站→广告配置」4 个座位：0 文字轮播 / 1 日程横幅 / 2 全屏弹层 / 3 底部轮播） ---- */
.mh-ad-tick{margin:10px 12px 2px;border-radius:8px;background:linear-gradient(90deg,var(--cf-amber-19, #fff8ec),#fff);border:1px solid var(--cf-amber-17, #f3dcb2);color:var(--cf-orange-08, #a06a20);overflow:hidden;white-space:nowrap}
.mh-ad-tick .tk{display:inline-flex;align-items:center;padding:8px 0;animation:mhAdTk 22s linear infinite;will-change:transform}
.mh-ad-tick .tk a{color:var(--cf-orange-08, #a06a20);text-decoration:none;font-size:15px;padding:0 8px;display:inline-block}
.mh-ad-tick .tk i{font-style:normal;color:var(--cf-orange-14, #e0b27a);padding:0 2px}
.mh-ad-tick:hover .tk{animation-play-state:paused}
@keyframes mhAdTk{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.mh-ad-bottom{margin:10px 12px 4px}
.mh-ad-bottom .ab-scroll{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:2px 1px 6px}
.mh-ad-bottom .ab-it{flex:0 0 auto;width:calc(100% - 60px);max-width:430px;scroll-snap-align:center;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.mh-ad-bottom .ab-it img{display:block;width:100%;height:100px;object-fit:cover}
.mh-ad-sched{margin:10px 12px 4px}
.mh-ad-sched .ab-it{display:block;border-radius:10px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.mh-ad-sched .ab-it img{display:block;width:100%;height:100px;object-fit:cover}
.mh-ad-pop{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:99997;display:flex;align-items:center;justify-content:center;padding:22px}
.mh-ad-pop .pop-box{position:relative;max-width:94vw}
.mh-ad-pop .pop-box img{display:block;width:auto;max-width:94vw;max-height:84vh;object-fit:contain;border-radius:6px}
.mh-ad-pop .pop-x{position:absolute;top:-16px;right:-12px;width:30px;height:30px;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;font-size:20px;line-height:30px;text-align:center;cursor:pointer;user-select:none}
body.tpl-dial .mh-ad-tick{background:rgba(255,255,255,.88);border-color:var(--cf-cyan-18, #cfe0f6);color:var(--cf-cyan-09, #2f5fae)}
body.tpl-dial .mh-ad-tick .tk a{color:var(--cf-cyan-09, #2f5fae)}
body.tpl-dial .mh-ad-bottom .ab-it{box-shadow:0 3px 10px rgba(60,110,180,.12)}
.footer{position:relative;left:0;right:0;bottom:0;max-width:480px;margin:16px auto 0;padding:5px 12px;font-size:13px;line-height:1.5;color:var(--on-mnav,var(--cf-cyan-19, #eaf0ff));text-align:center;z-index:40;background:color-mix(in srgb,var(--m-nav-bg,var(--cf-cyan-05, #092e7f)) 55%,transparent);backdrop-filter:blur(8px) saturate(1.2);-webkit-backdrop-filter:blur(8px) saturate(1.2);box-shadow:0 -3px 12px rgba(0,0,0,.10)}
.sub-reg-bar{display:block;margin:10px 12px;padding:10px 0;text-align:center;font-size:16px;font-weight:700;color:var(--fb-on-fill,var(--fb-on-theme,#fff));border-radius:10px;background:var(--fb-fill,linear-gradient(135deg,var(--fb-theme, var(--cf-blue-12, #4f46e5)),var(--fb-theme-dark, var(--cf-blue-12, #7c3aed))));box-shadow:0 4px 12px rgba(79,70,229,.28);outline:var(--fb-fill-outline,revert)}
footer .f-body{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ============ m47 圆盘导航·山水蓝（浅蓝山水头部 + 中心圆钮 + 环形菜单 + 溢出方块） ============ */
.d-hero{position:relative;overflow:hidden;text-align:center;padding:30px 16px 30px;background:linear-gradient(180deg,var(--cf-cyan-19, #dceeff) 0%,var(--cf-cyan-19, #f2f8ff) 62%,rgba(242,248,255,0) 100%)}
.d-hero .d-mtn{position:absolute;left:0;right:0;bottom:0;width:100%;height:126px;pointer-events:none}
.d-hero .d-wm{position:absolute;top:8px;left:0;right:0;line-height:2;font-size:21px;font-weight:700;color:var(--cf-cyan-09, #2f63b8);opacity:.06;letter-spacing:3px;pointer-events:none;user-select:none;white-space:nowrap;overflow:hidden}
.d-hero .d-title{position:relative;font-size:25px;font-weight:800;color:var(--cf-cyan-04, #0e2f63);letter-spacing:1px;line-height:1.45}
.d-hero .d-sub{position:relative;margin-top:8px;font-size:15px;color:var(--cf-cyan-10, #5678a6);letter-spacing:.5px}
.d-hero .d-sub b{color:var(--cf-red-12, #e2574c);font-weight:700}
body.tpl-dial .countdown{position:relative;background:linear-gradient(120deg,rgba(255,255,255,.94),rgba(224,239,253,.9));color:var(--cd-fg,var(--cf-cyan-07, #1c4b8f));border:1px solid rgba(70,130,200,.3);border-radius:16px;box-shadow:0 6px 16px rgba(60,120,200,.12)}
body.tpl-dial .countdown .cd-num,body.tpl-dial .countdown .cd-lab{color:var(--cd-fg,var(--cf-cyan-07, #1c4b8f))}
.dial-zone{position:relative;width:min(368px,92vw);margin:4px auto 0}
.dial-zone .d-plate{position:relative;width:100%;aspect-ratio:1/1;border-radius:50%}
.dial-zone .d-plate .d-wedge{position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from -90deg,rgba(255,255,255,.98) 0deg calc(var(--dg,45deg)/2),rgba(231,244,255,.94) calc(var(--dg,45deg)/2) var(--dg,45deg));box-shadow:inset 0 0 0 1.5px rgba(148,190,232,.6),0 14px 32px rgba(58,120,190,.16)}
.dial-zone .d-plate .d-dash{position:absolute;inset:20%;border:2px dashed rgba(104,156,216,.5);border-radius:50%}
.dial-zone .d-plate .d-dash2{position:absolute;inset:33%;border:1.5px dashed rgba(104,156,216,.22);border-radius:50%}
.dial-zone .d-c{position:absolute;left:50%;top:50%;width:130px;height:130px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 34% 24%,#fff,var(--cf-cyan-19, #e6f1ff) 84%);border:2px solid rgba(47,123,214,.8);box-shadow:0 8px 22px rgba(40,105,200,.28),inset 0 0 0 6px rgba(255,255,255,.7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;z-index:3;cursor:pointer;transition:transform .15s}
.dial-zone .d-c .d-ico{width:62px;height:62px;border-radius:20px;background:var(--fb-fill,linear-gradient(145deg,color-mix(in srgb,var(--tc,var(--cf-cyan-10, #2f7bd6)) 90%,#fff),color-mix(in srgb,var(--tc,var(--cf-cyan-10, #2f7bd6)) 60%,var(--cf-cyan-06, #0b3f8f))));color:var(--fb-on-fill,var(--fb-on-theme,#fff));display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 6px 14px rgba(40,105,200,.4);outline:var(--fb-fill-outline,revert)}
.dial-zone .d-c .d-txt{font-size:15.5px;font-weight:700;color:var(--cf-cyan-04, #0e2f63);line-height:1.3;max-width:118px;text-align:center}
.dial-zone .d-ring-i{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;z-index:2;transition:transform .15s}
.dial-zone .d-ring-i .d-ico{width:64px;height:64px;border-radius:50%;background:linear-gradient(160deg,var(--cf-n-20, #ffffff),var(--cf-cyan-19, #eef6ff));border:1.5px solid rgba(122,176,236,.6);box-shadow:0 6px 14px rgba(50,110,195,.18);color:color-mix(in srgb,var(--tc,var(--cf-cyan-10, #2f7bd6)) 90%,var(--cf-cyan-06, #0b3f8f));display:flex;align-items:center;justify-content:center;font-size:32px}
.dial-zone .d-ring-i .d-txt{font-size:15px;font-weight:600;color:var(--cf-cyan-04, #14325c);line-height:1.25;text-align:center;max-width:108px;text-shadow:0 1px 2px rgba(255,255,255,.6)}
.dial-extra{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;padding:18px 14px 2px}
.dial-extra .d-x{flex:1 1 calc((100% - 24px)/3);min-width:104px;max-width:none;background:linear-gradient(160deg,rgba(255,255,255,.99),rgba(228,242,254,.96));border:1px solid rgba(120,172,232,.5);border-radius:20px;padding:16px 8px 13px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;box-shadow:0 8px 18px rgba(60,120,200,.12);transition:transform .15s}
.dial-extra .d-x .d-ico{width:56px;height:56px;border-radius:18px;background:var(--fb-fill,linear-gradient(145deg,color-mix(in srgb,var(--tc,var(--cf-cyan-10, #2f7bd6)) 90%,#fff),color-mix(in srgb,var(--tc,var(--cf-cyan-10, #2f7bd6)) 60%,var(--cf-cyan-06, #0b3f8f))));color:var(--fb-on-fill,var(--fb-on-theme,#fff));display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 6px 14px rgba(40,105,200,.32);outline:var(--fb-fill-outline,revert)}
.dial-extra .d-x .d-txt{font-size:16px;font-weight:700;color:var(--cf-cyan-04, #14325c);text-align:center;line-height:1.3}
body.tpl-dial .banner{margin:8px 14px 0;border-radius:18px;overflow:hidden;box-shadow:0 6px 18px rgba(60,120,200,.16)}
body.tpl-dial .ad-strip{border-radius:14px}
body.tpl-dial .ad-text{background:rgba(255,255,255,.85);color:var(--cf-cyan-09, #2f5fae);border-color:var(--cf-cyan-17, #bcd6f2)}
body.tpl-dial .footer{background:linear-gradient(180deg,rgba(255,255,255,.78),rgba(226,240,253,.9));color:var(--cf-cyan-08, #38609c);border-top:1px solid rgba(90,140,205,.3);box-shadow:0 -4px 14px rgba(70,130,200,.1)}
/* ============ 圆盘族变体 ============ */
/* m48 国风水墨·宣纸圆盘：米白宣纸底 + 墨色环 + 朱砂点缀 */
body.tpl-dial-cn{background:var(--cf-amber-18, #f5efe2);color:var(--cf-orange-04, #4a3b28)}
body.tpl-dial-cn .d-hero{background:linear-gradient(180deg,var(--cf-amber-18, #f2e7d0) 0%,var(--cf-amber-19, #faf4e6) 62%,rgba(250,244,230,0) 100%)}
body.tpl-dial-cn .d-hero .d-wm{color:var(--cf-orange-10, #a68a5c);opacity:.12}
body.tpl-dial-cn .d-hero .d-title{color:var(--cf-orange-03, #3f2f1a)}
body.tpl-dial-cn .d-hero .d-sub{color:var(--cf-orange-08, #7a6a50)}
body.tpl-dial-cn .d-hero .d-sub b{color:var(--cf-orange-09, #b0482f)}
body.tpl-dial-cn .dial-zone .d-plate .d-wedge{background:repeating-conic-gradient(from -90deg,rgba(252,247,235,.95) 0deg calc(var(--dg,45deg)/2),rgba(230,216,186,.88) calc(var(--dg,45deg)/2) var(--dg,45deg));box-shadow:inset 0 0 0 1px rgba(190,160,105,.5),0 12px 28px rgba(120,95,50,.16)}
body.tpl-dial-cn .dial-zone .d-plate .d-dash{border-color:rgba(150,120,70,.6)}
body.tpl-dial-cn .dial-zone .d-plate .d-dash2{border-color:rgba(150,120,70,.35)}
body.tpl-dial-cn .dial-zone .d-c{background:radial-gradient(circle at 34% 26%,var(--cf-amber-19, #fffdf2),var(--cf-amber-17, #f0e3c8) 84%);border-color:rgba(160,130,75,.75);box-shadow:0 6px 18px rgba(120,90,40,.22)}
body.tpl-dial-cn .dial-zone .d-c .d-txt,body.tpl-dial-cn .dial-zone .d-ring-i .d-txt{color:var(--cf-amber-04, #463a22)}
body.tpl-dial-cn .dial-zone .d-ring-i .d-txt{background:transparent;text-shadow:none}
body.tpl-dial-cn .dial-zone .d-ring-i .d-ico{background:linear-gradient(145deg,var(--cf-amber-19, #fffaf0),var(--cf-amber-17, #f2e3c0));border-color:rgba(190,155,90,.8);color:var(--cf-orange-08, #9c3f26)}
body.tpl-dial-cn .dial-extra .d-x{background:linear-gradient(160deg,rgba(255,253,244,.98),rgba(244,235,214,.95));border-color:rgba(180,145,85,.5)}
body.tpl-dial-cn .dial-extra .d-x .d-txt{color:var(--cf-orange-04, #4a3a20)}
body.tpl-dial-cn .countdown{background:linear-gradient(120deg,rgba(255,253,243,.95),rgba(238,228,202,.92));color:var(--cd-fg,var(--cf-orange-05, #5c4526));border-color:rgba(170,135,75,.4);box-shadow:0 6px 16px rgba(120,95,50,.14)}
body.tpl-dial-cn .countdown .cd-num,body.tpl-dial-cn .countdown .cd-lab{color:var(--cd-fg,var(--cf-orange-05, #5c4526))}
body.tpl-dial-cn .banner{margin:8px 14px 0;border-radius:16px;overflow:hidden;box-shadow:0 6px 18px rgba(120,95,50,.18)}
body.tpl-dial-cn .ad-text{background:rgba(255,252,240,.9);color:var(--cf-orange-07, #7a5a2e);border-color:var(--cf-amber-14, #dcc694)}
body.tpl-dial-cn .footer{background:linear-gradient(180deg,rgba(250,244,230,.92),rgba(236,224,198,.96));color:var(--cf-orange-06, #6b5330);border-top:1px solid rgba(160,130,75,.35)}
/* 圆标宫格族：圆形图标（含上传图整圆展示） */
.grid-circle .gi .gi-ico{position:relative;overflow:hidden}
.grid-circle .gi .gi-ico .gi-pic{position:absolute;left:0;top:0;width:100%;height:100%;border-radius:50%;background-size:cover;background-position:center;background-repeat:no-repeat}
/* ============ m51 圆标宫格·古城蓝韵（照片banner + 深蓝渐变 + 圆形图标宫格，对齐后台蓝白风格） ============ */
/* 页面底色消费后台「首页背景颜色」(--pbg)，渐变由该色派生；页脚消费「导航背景色」 */
body.tpl-bluegrid{background:var(--pbg,var(--cf-cyan-04, #0b2a5e));color:#fff}
body.tpl-bluegrid .page{background:linear-gradient(180deg,color-mix(in srgb,var(--pbg,var(--cf-cyan-04, #0b2a5e)) 58%,var(--fb-theme, var(--cf-cyan-13, #5181f1))) 0%,var(--pbg,var(--cf-cyan-04, #0b2a5e)) 45%,color-mix(in srgb,var(--pbg,var(--cf-cyan-04, #0b2a5e)) 80%,#000) 100%)}
body.tpl-bluegrid .banner{margin:0}
body.tpl-bluegrid .countdown{background:linear-gradient(120deg,rgba(255,255,255,.16),rgba(255,255,255,.07));color:var(--cd-fg,#fff);border:1px solid rgba(255,255,255,.35);border-radius:16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(0,15,45,.35)}
body.tpl-bluegrid .countdown .cd-num,body.tpl-bluegrid .countdown .cd-lab{color:var(--cd-fg,#fff);text-shadow:0 1px 8px rgba(0,10,40,.5)}
body.tpl-bluegrid .grid-nav{grid-template-columns:repeat(3,1fr);padding:20px 10px 6px}
body.tpl-bluegrid .grid-circle .gi .gi-ico{width:88px;height:88px;border-radius:50%;background:linear-gradient(145deg,color-mix(in srgb,var(--m-one-bg,var(--cf-cyan-11, #3b8fe8)) 86%,#fff),color-mix(in srgb,var(--m-one-bg,var(--cf-cyan-11, #3b8fe8)) 58%,#000))!important;color:var(--on-one,#fff)!important;border:3px solid rgba(255,255,255,.92);box-shadow:0 12px 26px rgba(0,15,45,.55),inset 0 0 0 5px rgba(255,255,255,.15);font-size:36px}
body.tpl-bluegrid .grid-circle .gi .gi-name{color:#fff;font-weight:600;font-size:16px;text-shadow:0 1px 6px rgba(0,10,40,.55)}
body.tpl-bluegrid .grid-circle .gi .sub{color:rgba(255,255,255,.72)}
body.tpl-bluegrid .text-mod{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.tpl-bluegrid .text-mod h3{color:#fff;border-left:3px solid var(--m-cur,var(--tc,var(--cf-cyan-13, #4da3ff)))}
body.tpl-bluegrid .text-mod .body{color:rgba(255,255,255,.85)}
body.tpl-bluegrid .ad-strip{border-radius:14px;margin:12px}
body.tpl-bluegrid .ad-text{background:rgba(255,255,255,.08);color:var(--cf-cyan-18, #cfe4ff);border-color:rgba(120,180,255,.45)}
body.tpl-bluegrid .footer{background:linear-gradient(180deg,color-mix(in srgb,var(--m-nav-bg,var(--cf-cyan-05, #0d3570)) 55%,transparent),color-mix(in srgb,var(--m-nav-bg,var(--cf-cyan-05, #0d3570)) 85%,#000));color:var(--cf-cyan-18, #cfe0f7);border-top:1px solid rgba(120,180,255,.25);box-shadow:0 -4px 16px rgba(0,10,40,.3)}
/* ============ m52 富文本整页（全页富文本内容，无导航按钮） ============ */
.rich-page{padding:18px 16px 46px;line-height:1.9;font-size:17px;color:#333;word-break:break-word;background:var(--pbg,#fff)}
.rich-page img{max-width:100%;height:auto;border-radius:8px;margin:6px 0}
.rich-page table{width:100%;border-collapse:collapse;margin:8px 0}
.rich-page td,.rich-page th{border:1px solid var(--cf-cyan-18, #dfe4ec);padding:6px 8px;font-size:15px}
.rich-page h1,.rich-page h2,.rich-page h3{margin:12px 0 6px;color:var(--fb-theme-ink,var(--cf-cyan-05, #17345c))}
.rich-page a{color:var(--fb-theme-ink,var(--fb-theme, var(--cf-cyan-11, #2563eb)))}
.rich-page blockquote{margin:8px 0;padding:8px 12px;border-left:3px solid var(--cf-cyan-16, #93c5fd);background:var(--cf-cyan-20, #f3f8ff);border-radius:0 8px 8px 0}
.rich-page pre{background:var(--cf-cyan-19, #f5f6f8);padding:10px;border-radius:8px;overflow:auto;font-size:15px}
/* ============ m_custom 自定义H5模板（750×1700 整图 + 后台配置热区） ============ */
/* 自定义H5整图：图片自适应手机屏幕 cover 铺满整页（无空白、不露底色），热区为图片百分比叠层 */
body.tpl-custom .page{min-height:0;padding-bottom:0}
.ch5-fill{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;background:#fff}
.ch5-fill .ch5-fill-img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;display:block}
.ch5-fill .ch5-zone{position:absolute;display:block;background:transparent;z-index:2;cursor:pointer}
.ch5-fill .ch5-zones{position:absolute;inset:0;z-index:2}
.ch5-empty{padding:46px 26px;text-align:center;color:var(--cf-cyan-12, #8a94a6);font-size:16px;line-height:2.1}
/* 二级页 */
.subpage{position:fixed;inset:0;z-index:50;background:var(--pbg,var(--cf-n-20, #f9f9f9));display:none;flex-direction:column;max-width:480px;margin:0 auto;box-shadow:0 0 28px rgba(0,0,0,.09)}
.subpage .sp-head{display:flex;align-items:center;padding:12px;background:var(--m-nav-bg,var(--tc,var(--fb-theme, var(--cf-cyan-13, #5181f1))));color:var(--on-mnav,#fff)}
.subpage .sp-head .back{padding:4px 10px;font-size:18px}
.subpage .sp-body{flex:1;overflow:auto;padding:16px}
/* ---- 新模板族样式 ---- */
/* 极简深色族 (m35) */
body.tpl-minimal-dark{background:var(--cf-blue-03, #1a1a2e);color:var(--cf-n-18, #e0e0e0)}
body.tpl-minimal-dark .m-title{background:var(--cf-blue-03, #1a1a2e);color:var(--cf-n-18, #e0e0e0);font-weight:300;letter-spacing:2px;font-size:20px}
body.tpl-minimal-dark .grid-card .gi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08)}
body.tpl-minimal-dark .grid-card .gi .gi-name{color:var(--cf-n-18, #e0e0e0)}
body.tpl-minimal-dark footer{background:var(--cf-blue-02, #0f0f1e);color:#666}
/* 学术典范族 (m36) */
body.tpl-academic .m-title{background:var(--fb-theme, var(--cf-cyan-07, #0d47a1));font-weight:600;letter-spacing:1px;border-bottom:3px solid var(--fb-theme-dark, var(--cf-cyan-08, #1565c0))}
body.tpl-academic .grid-card .gi{border-left:3px solid var(--tc)}
body.tpl-academic footer{background:var(--cf-blue-06, #1a237e)}
/* 深邃科技族 (m37) */
body.tpl-tech-dark{background:var(--cf-blue-01, #0a0a1a);color:var(--cf-n-18, #e0e0e0)}
body.tpl-tech-dark .m-title{background:transparent;color:var(--fb-theme-ink, var(--tc));font-size:22px;font-weight:700;border-bottom:1px solid rgba(0,212,255,.2);padding:20px 16px}
body.tpl-tech-dark .grid-card .gi{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
body.tpl-tech-dark .grid-card .gi .gi-name{color:var(--cf-cyan-15, #b0b8c8)}
body.tpl-tech-dark .grid-card .gi .gi-ico{box-shadow:0 0 12px rgba(0,212,255,.2)}
body.tpl-tech-dark footer{background:var(--cf-blue-02, #0f0f23);color:#555}
/* 清新活力族 (m38) */
body.tpl-fresh .m-title{background:linear-gradient(135deg,var(--tc),color-mix(in srgb,var(--tc) 74%,#000));color:var(--on-tc,#fff);border-radius:0 0 20px 20px;padding:20px 16px 28px}
body.tpl-fresh .grid-card .gi{border-radius:16px;box-shadow:0 4px 16px rgba(0,180,216,.1);border:1px solid rgba(0,180,216,.08)}
body.tpl-fresh .grid-card .gi .gi-ico{border-radius:14px}
body.tpl-fresh footer{background:var(--tc);border-radius:20px 20px 0 0;margin-top:20px}
/* 典雅国际族 (m39) */
body.tpl-elegant .m-title{background:var(--cf-cyan-05, #2c3e50);font-weight:600;letter-spacing:3px;text-transform:uppercase;font-size:17px;border-bottom:2px solid var(--tc)}
body.tpl-elegant .grid-card .gi{border-left:3px solid var(--tc);border-radius:0}
body.tpl-elegant footer{background:var(--cf-n-02, #1a1a1a);letter-spacing:1px}
/* 会议一 (m40): 图块宫格族 — 大图块按钮 + 深色头部字 */
body.tpl-conf-a .grid-card .gi{background:linear-gradient(135deg,var(--tc),color-mix(in srgb,var(--tc) 75%,#000));border-radius:10px;margin:5px}
body.tpl-conf-a .grid-card .gi .gi-ico{background:rgba(255,255,255,.18)!important;color:#fff!important;border-radius:8px}
body.tpl-conf-a .grid-card .gi .gi-name{color:#fff;font-weight:600}
body.tpl-conf-a .grid-card .gi .sub{color:rgba(255,255,255,.7)}
body.tpl-conf-a .countdown{border-radius:10px;box-shadow:0 3px 10px rgba(0,0,0,.2)}
/* 会议二 (m41): 横幅+宫格族 — 渐变头部 + 圆角图标宫格 */
body.tpl-conf-b .grid-card .gi{background:#fff;border-radius:14px;box-shadow:0 4px 14px rgba(0,0,0,.08);border:1px solid rgba(0,0,0,.04)}
body.tpl-conf-b .grid-card .gi .gi-ico{border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.12)}
body.tpl-conf-b .countdown{border-radius:12px}
/* 会议三 (m42): 学术页签族 — 主题色头 + 圆形图标 + 左边框卡片 */
body.tpl-conf-c .grid-circle .gi .gi-ico{border:2px solid var(--tc)}
body.tpl-conf-c .text-mod{border-left:4px solid var(--tc);border-radius:0 10px 10px 0}
body.tpl-conf-c .countdown{border-radius:0}
body.tpl-conf-c footer{background:var(--tc)}
/* ============ 新模板族（m43–m46，主流学术会议微站风格） ============ */
/* m43 深海蓝金·国际峰会：夜空蓝底 + 鎏金点缀 + 通栏条目导航 */
body.tpl-ocean{background:var(--cf-cyan-03, #0d1b36);color:var(--cf-cyan-18, #dfe7f7)}
body.tpl-ocean .countdown{background:linear-gradient(120deg,rgba(23,51,110,.94),rgba(8,20,48,.92));border:1px solid rgba(205,177,110,.55);box-shadow:0 10px 26px rgba(0,0,0,.38)}
body.tpl-ocean .countdown .cd-num,body.tpl-ocean .countdown .cd-lab{color:var(--cd-fg,var(--cf-amber-17, #f3e7c3));text-shadow:0 1px 8px rgba(0,0,0,.35)}
body.tpl-ocean .entry-list .gi-row{background:rgba(255,255,255,.055);border:1px solid rgba(205,177,110,.28);border-radius:16px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
body.tpl-ocean .entry-list .gi-row .gi-ico{background:linear-gradient(135deg,color-mix(in srgb,var(--m-one-bg,var(--cf-amber-13, #d6b46a)) 86%,#fff),color-mix(in srgb,var(--m-one-bg,var(--cf-amber-13, #d6b46a)) 60%,#000))!important;color:var(--on-one,var(--cf-cyan-03, #141f3c))!important;box-shadow:0 4px 12px rgba(0,0,0,.25)}
body.tpl-ocean .entry-list .gi-row .gi-name{color:var(--cf-amber-18, #f2efe4);font-weight:600}
body.tpl-ocean .entry-list .gi-row .sub,body.tpl-ocean .entry-list .gi-row .gi-arrow{color:var(--cf-cyan-15, #a9b6d6)}
body.tpl-ocean .text-mod{background:rgba(255,255,255,.06);border:1px solid rgba(205,177,110,.25);border-radius:16px}
body.tpl-ocean .text-mod h3{color:var(--cf-amber-17, #f3e7c3);border-left:3px solid var(--cf-amber-13, #d6b46a)}
body.tpl-ocean .text-mod .body{color:var(--cf-cyan-18, #dbe3f5)}
body.tpl-ocean footer{background:linear-gradient(90deg,var(--cf-cyan-02, #0a1530),var(--cf-cyan-04, #12295a));color:var(--cf-cyan-18, #cdd8f2);border-top:1px solid rgba(205,177,110,.4)}
body.tpl-ocean .ad-text{background:rgba(214,180,106,.12);color:var(--cf-amber-16, #e9d9a8);border-color:var(--cf-amber-13, #d6b46a)}
/* m45 医疗清新·薄荷：浅薄荷底 + 白卡 + 圆润青绿图标（医疗/护理会议清爽风） */
body.tpl-mint{background:var(--cf-teal-19, #eef9f5);color:var(--cf-teal-04, #1f3d36)}
body.tpl-mint .countdown{background:linear-gradient(135deg,var(--cf-teal-07, #0e9d8a),var(--cf-teal-08, #17c0a5));border-radius:16px;box-shadow:0 10px 22px rgba(14,157,138,.24)}
body.tpl-mint .countdown .cd-num,body.tpl-mint .countdown .cd-lab{color:var(--cd-fg,#fff)}
body.tpl-mint .grid-card .gi{background:#fff;border-radius:18px;border:1px solid var(--cf-teal-18, #e2f2ec);box-shadow:0 6px 16px rgba(14,157,138,.08)}
body.tpl-mint .grid-card .gi .gi-ico{border-radius:15px;background:linear-gradient(135deg,color-mix(in srgb,var(--m-one-bg,var(--cf-teal-08, #12b39a)) 86%,#fff),color-mix(in srgb,var(--m-one-bg,var(--cf-teal-08, #12b39a)) 60%,#000))!important;color:var(--on-one,#fff)!important;box-shadow:0 6px 14px rgba(14,157,138,.28)}
body.tpl-mint .grid-card .gi .gi-name{color:var(--cf-teal-04, #105f52);font-weight:600}
body.tpl-mint .grid-card .gi .sub{color:var(--cf-teal-13, #8fb3aa)}
body.tpl-mint .text-mod{background:#fff;border-radius:18px;border:1px solid var(--cf-teal-18, #e0f1eb)}
body.tpl-mint .text-mod h3{color:var(--cf-teal-06, #0d8a78);border-left:4px solid var(--cf-teal-08, #12b39a)}
body.tpl-mint .text-mod .body{color:var(--cf-teal-07, #4a6a62)}
body.tpl-mint footer{background:linear-gradient(90deg,var(--cf-teal-05, #0b7a6b),var(--cf-teal-07, #0e9d8a));color:var(--cf-teal-19, #e6fff8);border-radius:18px 18px 0 0}
body.tpl-mint .ad-text{background:var(--cf-teal-19, #e8f7f2);color:var(--cf-teal-06, #0d8a78);border-color:var(--cf-teal-15, #9fdccd)}
/* m46 活力橙光·渐变会议：暖白底 + 大块橙粉渐变宫格 + 明亮倒计时 */
body.tpl-sunrise{background:var(--cf-orange-19, #fff5ec);color:var(--cf-orange-04, #4a2f1b)}
body.tpl-sunrise .countdown{background:linear-gradient(135deg,var(--cf-orange-12, #ff9a3d),var(--cf-orange-11, #f0641f) 65%,var(--cf-orange-10, #e84b0e));border-radius:16px;box-shadow:0 12px 26px rgba(240,100,31,.30)}
body.tpl-sunrise .countdown .cd-num,body.tpl-sunrise .countdown .cd-lab{color:var(--cd-fg,#fff);text-shadow:0 1px 8px rgba(160,40,0,.35)}
body.tpl-sunrise .grid-block .gi{background:linear-gradient(135deg,var(--cf-orange-12, #ffb03d),var(--cf-orange-11, #ff7a18) 60%,var(--cf-orange-10, #f2550e))!important;border-radius:18px;box-shadow:0 10px 22px rgba(240,100,31,.25)}
body.tpl-sunrise .grid-block .gi .gi-ico{background:rgba(255,255,255,.22)!important;color:#fff!important}
body.tpl-sunrise .grid-block .gi .gi-name{color:#fff;font-weight:700}
body.tpl-sunrise .grid-block .gi .sub{color:rgba(255,255,255,.85)}
body.tpl-sunrise .text-mod{background:#fff;border-radius:18px;border:1px solid var(--cf-orange-18, #ffe0c4)}
body.tpl-sunrise .text-mod h3{color:var(--cf-orange-09, #e4630d);border-left:4px solid var(--cf-orange-12, #ff9a3d)}
body.tpl-sunrise .text-mod .body{color:var(--cf-orange-06, #6b5138)}
body.tpl-sunrise footer{background:linear-gradient(90deg,var(--cf-orange-09, #e4630d),var(--cf-orange-11, #ff8a26));color:var(--cf-orange-19, #fff7ec);border-radius:18px 18px 0 0}
body.tpl-sunrise .ad-text{background:var(--cf-orange-19, #fff0dd);color:var(--cf-orange-09, #e4630d);border-color:var(--cf-orange-14, #f7b26a)}
.subpage .sp-body .content{background:#fff;border-radius:10px;padding:16px;font-size:16px;white-space:pre-line}
/* 留言 */
.msg-form{margin-top:12px}
.msg-form textarea{width:100%;min-height:70px;border:1px solid var(--cf-n-18, #e2e2e2);border-radius:8px;padding:10px;font-size:15px}
.msg-form button{margin-top:8px;width:100%;border:none;background:var(--fb-fill,var(--tc,var(--fb-theme, var(--cf-cyan-13, #5181f1))));color:var(--fb-on-fill,var(--fb-on-theme,#fff));padding:10px;border-radius:8px;font-size:16px;outline:var(--fb-fill-outline,revert)}
.msg-btn{border:1px solid var(--tc,var(--fb-theme, var(--cf-cyan-13, #5181f1)));background:#fff;color:var(--fb-theme-ink,var(--fb-theme, var(--cf-cyan-13, #5181f1)));padding:8px 22px;border-radius:20px;font-size:16px}
/* toast */
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:rgba(0,0,0,.75);color:#fff;padding:8px 18px;border-radius:20px;font-size:15px;display:none;z-index:99}
