*{margin:0;padding:0;box-sizing:border-box}
body{background:#0a0a0f;color:#e8d5b7;font-family:-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;min-height:100vh;padding-bottom:70px}
.tb{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:rgba(10,10,15,0.95);border-bottom:1px solid #2a2a35;position:sticky;top:0;z-index:100}
.logo{display:flex;align-items:center;gap:8px;cursor:pointer}
.logo-img{width:32px;height:32px;border-radius:6px;object-fit:cover;flex-shrink:0;box-shadow:0 0 8px rgba(201,168,76,0.3)}
.logo-icon{display:none}
.logo-text{font-size:20px;font-weight:bold;color:#c9a84c;letter-spacing:2px}
.nav{display:flex;gap:16px;margin-left:auto;align-items:center}
.nav a{color:#9a8b7a;font-size:14px;cursor:pointer}
.nav a:hover{color:#c9a84c}
.ct{padding:16px;max-width:800px;margin:0 auto}
.card{background:#16161f;border:1px solid #2a2a35;border-radius:12px;padding:20px;margin-bottom:16px}
.st{font-size:18px;color:#c9a84c;margin-bottom:16px;padding-left:12px;border-left:3px solid #c9a84c}
.art{font-size:56px;text-align:center;margin-bottom:16px}
.intro{text-align:center;color:#9a8b7a;font-size:15px;line-height:1.8;margin-bottom:20px}
.fg{margin-bottom:12px}
.fld,.sel{width:100%;background:#111118;border:1px solid #2a2a35;border-radius:8px;padding:12px 16px;color:#e8d5b7;font-size:15px;outline:none;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sel{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%239a8b7a'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:20px;padding-right:36px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.half{flex:1}.inter{white-space:pre-wrap;line-height:1.8;font-size:15px;color:#e8d5b7}
.fld:focus{border-color:#c9a84c}
.fld::placeholder{color:#9a8b7a}
textarea.fld{resize:vertical;min-height:100px}
.btn{width:100%;height:48px;background:linear-gradient(135deg,#8b2323,#c0392b);border:none;border-radius:8px;color:#fff;font-size:16px;cursor:pointer;position:relative;overflow:hidden}
.btn:disabled{opacity:0.5;cursor:not-allowed}
.btn-gold{background:linear-gradient(135deg,#c9a84c,#e8c96a);color:#1a1a1a;font-weight:bold}
@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.spin-yin-yang{animation:spin 2s linear infinite;display:inline-block}
@keyframes baziSpin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.spinner{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;font-size:18px;line-height:1;animation:spin 1s linear infinite;vertical-align:middle;margin-right:6px;flex-shrink:0}
.btn-loading{display:flex;align-items:center;justify-content:center;gap:0}
@keyframes nameBreath {
  0%, 100% { box-shadow: 0 0 0 0 rgba(201,168,76,0); border-color: rgba(201,168,76,0.4); }
  50% { box-shadow: 0 0 14px 3px rgba(201,168,76,0.3); border-color: rgba(201,168,76,0.8); }
}
.hero{position:relative;padding:60px 20px 40px;text-align:center;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 30%,rgba(201,168,76,0.15) 0%,transparent 70%)}
.hero-content{position:relative;z-index:1}
.hero-icon{font-size:56px;color:#c9a84c;margin-bottom:8px}
.hero-title{font-size:36px;color:#c9a84c;letter-spacing:8px;margin-bottom:8px}
.hero-sub{font-size:16px;color:#9a8b7a;letter-spacing:4px;margin-bottom:12px}
.hero-desc{font-size:14px;color:#9a8b7a}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.grid-item{background:#16161f;border:1px solid #2a2a35;border-radius:12px;padding:20px 16px;text-align:center;cursor:pointer}
.grid-label{font-size:14px;color:#9a8b7a;margin-top:8px}
.grid-icon{font-size:32px;margin-bottom:8px}
.grid-name{font-size:15px;font-weight:600;margin-bottom:4px}
.grid-desc{font-size:12px;color:#9a8b7a}
.poem{background:#111118;border-radius:12px;padding:20px;margin-bottom:16px}
.plabel{font-size:12px;color:#c9a84c;margin-bottom:8px}
.ptext{font-size:16px;line-height:1.8;letter-spacing:2px}
.face-report-root{color:#d8c8a8;font-family:-apple-system,"PingFang SC","Microsoft YaHei",serif;word-wrap:break-word}
.shdr{text-align:center;margin-bottom:12px}
.sicon{font-size:48px;margin-bottom:8px}
.stitle{font-size:20px;color:#c9a84c;font-weight:bold}
.snum{font-size:14px;color:#9a8b7a;margin-bottom:20px}
.div{text-align:center;color:#c9a84c;margin:16px 0;font-size:18px}
/* 八字结果页 */
.bazi-hero{background:linear-gradient(180deg,rgba(201,168,76,0.08) 0%,transparent 100%);border-radius:12px 12px 0 0;margin:-16px -16px 0}
.bazi-avatar-ring{width:80px;height:80px;border-radius:50%;border:2px solid rgba(201,168,76,0.4);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;background:rgba(201,168,76,0.06)}
.bazi-avatar-inner{font-size:36px}
.bazi-name{font-size:20px;color:#c9a84c;font-weight:bold;margin-bottom:4px}
.bazi-birth{font-size:13px;color:#9a8b7a;margin-bottom:12px}
.bazi-tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.bazi-tag-pill{padding:3px 10px;background:rgba(201,168,76,0.1);border:1px solid rgba(201,168,76,0.25);border-radius:12px;font-size:11px;color:#c9a84c}
.bazi-card{background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04);border-radius:12px;padding:16px;margin-bottom:12px}
.bazi-card-title{font-size:11px;color:#6a5a4a;letter-spacing:2px;margin-bottom:14px}
.bazi-wuxing-row{display:flex;align-items:center;margin-bottom:10px}
.bazi-wuxing-label{width:20px;font-size:16px;margin-right:8px;flex-shrink:0}
.bazi-wuxing-name{width:36px;font-size:13px;color:#9a8b7a;flex-shrink:0}
.bazi-wuxing-track{flex:1;height:8px;background:#1a1a24;border-radius:4px;overflow:hidden;margin-right:10px}
.bazi-wuxing-fill{height:100%;border-radius:4px;transition:width 1.5s ease-out}
.bazi-wuxing-val{width:32px;font-size:13px;font-weight:bold;color:#e8d5b7;text-align:right;flex-shrink:0}
.bazi-badges{display:flex;flex-wrap:wrap;gap:8px}
.bazi-badge{padding:6px 12px;border-radius:16px;font-size:12px;font-weight:bold;display:inline-flex;align-items:center;gap:4px}
.bazi-badge-gold{background:rgba(201,168,76,0.12);color:#c9a84c;border:1px solid rgba(201,168,76,0.3)}
.bazi-badge-red{background:rgba(233,30,99,0.12);color:#e91e63;border:1px solid rgba(233,30,99,0.3)}
.bazi-badge-green{background:rgba(76,175,80,0.12);color:#81c784;border:1px solid rgba(76,175,80,0.3)}
.bazi-badge-blue{background:rgba(33,150,243,0.12);color:#64b5f6;border:1px solid rgba(33,150,243,0.3)}
.bazi-liotext{font-size:13px;color:#e8d5b7;line-height:1.9;padding:4px 0}
/* 八字表单 */
.bazi-form-card{position:relative;overflow:hidden}
/* 背景罗盘动效 */
.bazi-compass-bg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:320px;height:320px;pointer-events:none;z-index:0;opacity:0.08}
.compass-outer{position:absolute;width:320px;height:320px;border-radius:50%;border:1px solid #c9a84c;top:0;left:0;animation:baziSpin 30s linear infinite}
.compass-inner{position:absolute;width:240px;height:240px;border-radius:50%;border:1px dashed #c9a84c;top:40px;left:40px;animation:baziSpin 20s linear infinite reverse}
.compass-symbol{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:80px;color:#c9a84c;animation:baziSpin 60s linear infinite}
#bazi-form{position:relative;z-index:1}
/* 公历农历切换 */
.bazi-cal-toggle{position:relative;z-index:1}
.bazi-toggle-row{display:flex;gap:0;background:#1a1a24;border-radius:8px;padding:3px;border:1px solid #2a2a35}
.bazi-toggle-btn{flex:1;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:13px;color:#6a5a4a;cursor:pointer;transition:all 0.3s}
.bazi-toggle-btn.active{background:linear-gradient(135deg,#c9a84c,#e8c96a);color:#1a1a1a;font-weight:bold}
/* 输入框呼吸灯 */
.bazi-input-wrap{position:relative;z-index:1}
.bazi-input{width:100%;background:rgba(255,255,255,0.03);border:1px solid rgba(201,168,76,0.2);border-radius:10px;padding:14px 16px;color:#e8d5b7;font-size:15px;outline:none;box-sizing:border-box;transition:border-color 0.3s,box-shadow 0.3s}
.bazi-input:focus{border-color:rgba(201,168,76,0.6);box-shadow:0 0 0 3px rgba(201,168,76,0.08),0 0 20px rgba(201,168,76,0.1);animation:glow-pulse 2s ease-in-out infinite}
.bazi-input::placeholder{color:#4a3f35}
.bazi-picker-trigger{cursor:pointer;display:flex;align-items:center;min-height:50px}
.bazi-picker-trigger:active{background:rgba(201,168,76,0.04)}
/* 提交按钮 */
.btn-bazi{background:linear-gradient(135deg,#8b2323,#c0392b);border:none;border-radius:10px;color:#fff;font-size:16px;cursor:pointer;height:52px;width:100%;font-weight:bold;letter-spacing:1px;transition:all 0.3s;position:relative;overflow:hidden}
.btn-bazi:active{transform:scale(0.98);background:linear-gradient(135deg,#6b1a1a,#a02a22)}
.btn-bazi.loading{background:#3a2a2a;color:#8a7a7a;cursor:not-allowed}
/* Picker弹窗 */
.picker-col{flex:1;height:180px;position:relative;overflow:hidden}
.picker-indicator{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);height:36px;pointer-events:none;background:rgba(201,168,76,0.06);border-top:1px solid rgba(201,168,76,0.15);border-bottom:1px solid rgba(201,168,76,0.15);z-index:0}
.picker-scroll{height:100%;overflow-y:scroll;padding:72px 0}
.picker-scroll::-webkit-scrollbar{display:none}
.picker-item{text-align:center;font-size:15px;color:#6a5a4a;padding:9px 0;cursor:pointer;transition:color 0.2s,font-size 0.2s}
.picker-item.selected{color:#c9a84c;font-size:17px;font-weight:bold}
@keyframes glow-pulse{0%,100%{box-shadow:0 0 0 3px rgba(201,168,76,0.08),0 0 20px rgba(201,168,76,0.1)}50%{box-shadow:0 0 0 3px rgba(201,168,76,0.15),0 0 30px rgba(201,168,76,0.2)}}
/* Loading dots */
.loading-dots{display:flex;gap:6px;justify-content:center}
.loading-dots span{width:8px;height:8px;border-radius:50%;background:#c9a84c;animation:dot-bounce 1.4s ease-in-out infinite}
.loading-dots span:nth-child(2){animation-delay:.2s}
.loading-dots span:nth-child(3){animation-delay:.4s}
/* 起名偏好标签 */
.name-tags-grid{display:flex;flex-wrap:wrap;gap:6px}
.name-tag-chip{padding:6px 10px;background:rgba(255,255,255,0.03);border:1px solid rgba(201,168,76,0.2);border-radius:16px;font-size:12px;color:#9a8b7a;cursor:pointer;transition:all 0.2s}
.name-tag-chip.active{background:rgba(201,168,76,0.12);color:#c9a84c;border-color:rgba(201,168,76,0.5)}
.name-tag-chip:active{transform:scale(0.96)}
.bn{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:rgba(10,10,15,0.98);border-top:1px solid #2a2a35;padding:8px 0;z-index:100}
.navbar{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:rgba(10,10,15,0.98);border-top:1px solid #2a2a35;padding:8px 0;z-index:100}
/* 4-Tab Bottom Navigation (foot.html v2) */
.tab4{display:flex;justify-content:space-around;align-items:center}
.tab4-item{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;padding:4px 12px;border-radius:10px;transition:all 0.2s;color:#6a5a4a;font-size:10px;letter-spacing:0.5px;-webkit-tap-highlight-color:transparent}
.tab4-item.active{color:#c9a84c}
.tab4-item:active{transform:scale(0.94)}
.tab4-ico{width:26px;height:26px;display:flex;align-items:center;justify-content:center;margin-bottom:1px}
.tab4-label{font-size:10px;font-weight:500}
.tab4-item.active .tab4-ico svg{filter:drop-shadow(0 0 5px rgba(201,168,76,0.7))}

/* 面相 · 分数卡片（4格） */
.face-score-card{transition:all 0.25s}
.face-score-card:hover{border-color:#c9a84c !important;transform:translateY(-1px)}
.face-score-card .face-score-label{white-space:nowrap !important}
/* 卡内所有标题文字禁止换行 */
.face-score-card .face-score-title,
.face-score-card .face-score-name,
.face-score-card [class*="title"],
.face-score-card [class*="label"]{white-space:nowrap}

/* 面相 · 命格标签 (内联玄学化 chip) */
.face-tag{display:inline-block;padding:5px 12px;background:linear-gradient(135deg,rgba(201,168,76,0.12),rgba(201,168,76,0.04));border:1px solid rgba(201,168,76,0.35);border-radius:20px;font-size:13px;color:#e8d5b7;line-height:1.5;letter-spacing:1px;cursor:default;transition:all 0.2s}
.face-tag:hover{background:linear-gradient(135deg,rgba(201,168,76,0.22),rgba(201,168,76,0.08));border-color:rgba(201,168,76,0.6);transform:translateY(-1px)}

/* 面相 · 神谕金句 */
.face-master-quote{animation:faceQuoteFadeIn 1.6s ease both}
.face-master-quote.face-quote-loaded{animation:faceQuoteFadeIn 1.6s ease both}
@keyframes faceQuoteFadeIn{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}

/* 面相 · 法卷使用说明书 */
.face-usage-note{margin:8px 0 14px;padding:12px 14px;background:rgba(100,80,40,0.08);border:1px dashed rgba(201,168,76,0.35);border-radius:8px}
.face-usage-title{font-size:13px;color:#c9a84c;font-weight:bold;margin-bottom:4px;font-family:serif}
.face-usage-body{font-size:13px;color:#b8a888;line-height:1.7}
.face-usage-body b{color:#e8d5b7}

/* 面相 · 解读卡片（最高/最低维度对比） */
.face-insight-card{margin:10px 0;padding:12px 14px;border-radius:10px;line-height:1.7}
.face-insight-card.insight-top{background:linear-gradient(135deg,rgba(255,215,0,0.10),rgba(201,168,76,0.06));border:1px solid rgba(255,215,0,0.25)}
.face-insight-card.insight-bot{background:linear-gradient(135deg,rgba(174,194,224,0.08),rgba(110,128,160,0.05));border:1px solid rgba(174,194,224,0.3)}
.insight-label{font-size:14px;color:#c9a84c;font-weight:bold;margin-bottom:6px;font-family:serif}
.insight-top .insight-label{color:#ffd700}
.insight-bot .insight-label{color:#b0c4de}
.insight-body{font-size:13.5px;color:#d8c8a8;line-height:1.85}

/* 面相 · 第三章报告 · 古风天书样式 */
.face-report-h2{font-family:serif;font-size:18px;color:#ffd700;text-align:center;margin:14px 0 8px;letter-spacing:3px;text-shadow:0 0 8px rgba(255,215,0,0.3)}
.face-report-h3{display:flex;align-items:center;gap:10px;margin:24px 0 14px;padding:10px 14px;background:linear-gradient(90deg,rgba(201,168,76,0.18),rgba(201,168,76,0.04));border-left:3px solid #c9a84c;border-radius:4px;font-family:serif;font-size:15px;color:#e8d5b7;letter-spacing:2px}
.face-h3-icon{color:#ffd700;font-size:18px}
.face-h3-num{font-size:13px;color:#c9a84c;font-weight:bold}
.face-h3-title{flex:1}
.face-report-p{font-size:14px;color:#d8c8a8;line-height:1.85;letter-spacing:0.5px;margin:0 0 14px;text-indent:2em;text-align:justify}
.face-report-ul,.face-report-ol{padding-left:24px;margin:8px 0 14px;color:#d8c8a8;line-height:1.85}
.face-report-ul li,.face-report-ol li{margin-bottom:6px}
.face-report-p strong{color:#ffd700;font-weight:bold}

/* 金色分割线（替代 --- 减号符号） */
.gold-divider{border:0;height:14px;margin:18px auto;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 14' preserveAspectRatio='none'><defs><linearGradient id='g' x1='0' x2='1'><stop offset='0' stop-color='%23c9a84c' stop-opacity='0'/><stop offset='0.5' stop-color='%23ffd700' stop-opacity='1'/><stop offset='1' stop-color='%23c9a84c' stop-opacity='0'/></linearGradient></defs><line x1='0' y1='7' x2='130' y2='7' stroke='url(%23g)' stroke-width='1'/><line x1='170' y1='7' x2='300' y2='7' stroke='url(%23g)' stroke-width='1'/><circle cx='150' cy='7' r='3.5' fill='none' stroke='%23ffd700' stroke-width='1'/><circle cx='150' cy='7' r='1.2' fill='%23ffd700'/></svg>") no-repeat center/100% 100%;opacity:0.85}

/* 面相 · 三项行动锦囊 */
.face-actions{margin:14px 0;padding:12px 14px;background:rgba(20,15,5,0.5);border:1px solid #2a2a35;border-radius:10px}
.face-actions-title{font-size:13px;color:#c9a84c;font-weight:bold;margin-bottom:10px;font-family:serif}
.face-action-item{display:flex;align-items:flex-start;gap:12px;margin-bottom:10px;padding:10px 0;border-bottom:1px dashed rgba(201,168,76,0.12)}
.face-action-item:last-child{border-bottom:none;margin-bottom:0}
.face-action-emoji{font-size:24px;line-height:1;flex-shrink:0}
.face-action-title{font-size:13.5px;color:#e8d5b7;font-weight:bold;margin-bottom:3px}
.face-action-desc{font-size:12.5px;color:#9a8b7a;line-height:1.7}
.ni{display:flex;flex-direction:column;align-items:center;gap:2px;color:#9a8b7a;font-size:10px;padding:4px 8px;cursor:pointer}
.ni.active{color:#c9a84c}
.niico{font-size:20px}
.page{display:block}
.page.active{display:block}
.row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;margin-bottom:12px}
.gsel{display:flex;gap:12px}
.gbtn{flex:1;height:44px;display:flex;align-items:center;justify-content:center;border:1px solid #2a2a35;border-radius:8px;color:#9a8b7a;font-size:15px;cursor:pointer}
.gbtn.active{border-color:#c9a84c;color:#c9a84c;background:rgba(201,168,76,0.1)}
.llist{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:380px){.llist{grid-template-columns:repeat(2,1fr)}}
.litem{display:flex;flex-direction:column;align-items:center;padding:16px 8px;background:#111118;border:2px solid #2a2a35;border-radius:12px;cursor:pointer;text-align:center;gap:6px;transition:border-color .2s,box-shadow .2s,background .2s;user-select:none;-webkit-user-select:none}
.litem:active{opacity:.8}
.litem.active{border-color:#c9a84c!important;background:rgba(201,168,76,0.1);box-shadow:0 0 12px rgba(201,168,76,0.2)}
.litem-icon{font-size:34px;line-height:1;margin-bottom:2px;pointer-events:none}
.li-info{display:flex;flex-direction:column;gap:2px;width:100%}
.lname{font-size:15px;font-weight:600;margin-bottom:4px}
.ldesc{font-size:12px;color:#9a8b7a}
.price{font-size:18px;color:#c9a84c;font-weight:bold}
.oinfo{background:#111118;border-radius:10px;padding:16px;margin-bottom:16px}
.iorow{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid #2a2a35}
.iorow:last-child{border-bottom:none}
.ilabel{color:#9a8b7a;font-size:14px}
.ival{font-size:14px}
.ival.gold{color:#c9a84c;font-weight:bold}
.ival.sm{font-size:11px;word-break:break-all}
.pbox{background:#111118;border-radius:10px;padding:16px;margin-bottom:16px;text-align:center}
.plabel2{font-size:14px;color:#9a8b7a;margin-bottom:8px}
.paddr{background:#16161f;border:1px dashed #c9a84c;border-radius:8px;padding:12px;font-size:12px;word-break:break-all;color:#c9a84c;margin:8px 0}
.pnote{font-size:12px;color:#9a8b7a;line-height:1.6}
.succ{text-align:center;padding:40px 20px}
.succ-icon{font-size:64px;margin-bottom:16px}
.succ-title{font-size:20px;color:#c9a84c;font-weight:bold;margin-bottom:12px}
.succ-msg{color:#9a8b7a;font-size:14px;line-height:1.8;margin-bottom:24px}
.btn-txt{width:100%;height:44px;background:transparent;border:1px solid #2a2a35;border-radius:8px;color:#9a8b7a;font-size:14px;cursor:pointer;margin-top:8px}
.upload-box{display:block;background:#111118;border:2px dashed #2a2a35;border-radius:12px;padding:24px 16px;text-align:center;cursor:pointer;transition:border-color .2s}
.upload-box:hover{border-color:#c9a84c}
.upload-tip{display:flex;flex-direction:column;align-items:center;gap:4px}
.alm-tag{display:background:#111118;border:1px solid #2a2a35;border-radius:8px;padding:6px 12px;font-size:13px;color:#9a8b7a;text-align:center}
.alm-tag-sm{background:#1a1a24;border:1px solid #2a2a35;border-radius:6px;padding:4px 10px;font-size:12px;color:#9a8b7a}
.alm-section-title{font-size:13px;color:#c9a84c;margin-bottom:8px;font-weight:bold}
.alm-tags{display:flex;flex-wrap:wrap;gap:6px}
.alm-tags.yi .alm-item{background:rgba(76,175,80,0.15);border:1px solid rgba(76,175,80,0.4);color:#81c784;padding:4px 10px;border-radius:6px;font-size:13px}
.alm-tags.ji .alm-item{background:rgba(244,67,54,0.12);border:1px solid rgba(244,67,54,0.35);color:#e57373;padding:4px 10px;border-radius:6px;font-size:13px}
.alm-shichen-item{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #1e1e28}
.alm-shichen-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.alm-shichen-time{font-size:13px;color:#c9a84c;margin-bottom:4px}
.alm-shichen-yi{color:#81c784;font-size:12px;margin-top:2px}
.alm-shichen-ji{color:#e57373;font-size:12px;margin-top:2px}
/* LANTERN */
.lan-stats{display:flex;justify-content:center;gap:20px;margin-bottom:16px;padding:12px 16px;background:#111118;border:1px solid #2a2a35;border-radius:10px}
.lan-stat-num{font-size:22px;color:#c9a84c;font-weight:bold}
.lan-stat-label{font-size:12px;color:#9a8b7a}
.lan-marquee-wrap{overflow:hidden;border-radius:10px;margin-bottom:16px;padding:8px 0;background:rgba(201,168,76,0.05);border:1px solid rgba(201,168,76,0.15)}
.lan-marquee{display:flex;gap:24px;white-space:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
.lan-marquee-item{font-size:12px;color:#9a8b7a;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}
.lan-marquee-item .dot{color:#c9a84c}
.lan-wall{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:540px){.lan-wall{grid-template-columns:repeat(3,1fr)}}
@media(min-width:768px){.lan-wall{grid-template-columns:repeat(4,1fr)}}
.lan-witem {
  background: #111118;
  border: 1px solid #2a2a35;
  border-radius: 12px;
  padding: 0;
  text-align: center;
  opacity: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  overflow: visible;
}
.lan-witem.visible { opacity: 1; }
.lan-witem:hover { border-color: rgba(201,168,76,0.4); }
.lan-flame-wrap{margin:0 auto 10px;width:52px;height:52px;position:relative;display:flex;align-items:center;justify-content:center}
.lan-flame-svg{width:40px;height:40px}
.hero-proof{font-size:13px;color:#9a8b7a;margin-top:8px}.proof-num{color:#c9a84c;font-weight:bold}

/* Feature grid (homepage) */
.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.feat-card{background:#16161f;border:1px solid #2a2a35;border-radius:14px;padding:16px 14px;cursor:pointer;position:relative;text-align:center;transition:border-color .2s,transform .15s}
.feat-card:active{transform:scale(.98)}
.feat-card.feat-new{border-color:rgba(201,168,76,0.5)}
.feat-icon{font-size:32px;margin-bottom:6px}
.feat-tag{position:absolute;top:-1px;right:12px;background:linear-gradient(135deg,#c9a84c,#e8c96a);color:#1a1a1a;font-size:10px;font-weight:bold;padding:2px 8px;border-radius:0 0 8px 8px;letter-spacing:1px}
.feat-name{font-size:15px;font-weight:bold;color:#e8d5b7;margin-bottom:4px}
.feat-question{font-size:13px;color:#c9a84c;font-weight:600;margin-bottom:4px;line-height:1.4}
.feat-desc{font-size:11px;color:#9a8b7a;line-height:1.4}

/* More section */
.more-section{margin-top:8px}
.more-divider{text-align:center;margin:20px 0 16px;position:relative}
.more-divider::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:#2a2a35}
.more-divider span{position:relative;background:#0a0a0f;padding:0 16px;color:#9a8b7a;font-size:12px;letter-spacing:2px}
.more-grid{display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.more-item{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#16161f;border:1px solid #2a2a35;border-radius:20px;color:#9a8b7a;font-size:13px;cursor:pointer;transition:border-color .2s,color .2s}
.more-item:hover{border-color:#c9a84c;color:#c9a84c}
.more-icon{font-size:16px}

/* Love tabs */
.love-tabs{display:flex;gap:8px;margin-bottom:16px}
.love-tab{flex:1;text-align:center;padding:8px 0;background:#16161f;border:1px solid #2a2a35;border-radius:8px;color:#9a8b7a;font-size:14px;cursor:pointer;transition:border-color .2s,color .2s}
.love-tab.active{border-color:#c9a84c;color:#c9a84c;background:rgba(201,168,76,0.08)}

/* Face scores */
.face-score-item{background:#111118;border:1px solid #2a2a35;border-radius:10px;padding:14px 12px;text-align:center}
.face-score-name{font-size:12px;color:#9a8b7a;margin-bottom:6px}
.face-score-val{font-size:28px;font-weight:bold;color:#c9a84c}
.face-score-bar{height:4px;background:#2a2a35;border-radius:2px;margin-top:6px;overflow:hidden}
.face-score-fill{height:100%;background:linear-gradient(90deg,#c9a84c,#e8c96a);border-radius:2px;transition:width 1s ease}

/* Face tags */
.face-tag{display:inline-block;padding:4px 12px;background:rgba(201,168,76,0.1);border:1px solid rgba(201,168,76,0.3);border-radius:20px;font-size:13px;color:#c9a84c;margin:4px 2px}

/* Face archetype badge */
.face-archetype-badge{display:inline-block;font-size:22px;font-weight:bold;color:#c9a84c;background:rgba(201,168,76,0.1);border:2px solid rgba(201,168,76,0.4);border-radius:12px;padding:10px 28px;letter-spacing:4px}

/* 四维命格仪表盘卡片悬浮 */
.face-score-card:hover{border-color:rgba(201,168,76,0.5) !important;background:#141420 !important}
.face-score-card:active{transform:scale(0.98)}
/* 面部几何测绘报告 */
.face-geo-header{background:linear-gradient(135deg,#1a1a28 0%,#1e2a1e 100%);border:1px solid rgba(201,168,76,0.3);border-radius:12px;padding:16px 20px;margin-bottom:14px;text-align:center}
.face-geo-badge{color:#c9a84c;font-size:15px;font-weight:bold;letter-spacing:1px;margin-bottom:6px}
.face-geo-sub{color:#7a8a7a;font-size:11px;letter-spacing:0.5px}
.face-geo-card{background:#111118;border:1px solid #2a2a35;border-radius:10px;padding:14px;margin-bottom:8px;transition:border-color 0.2s}
.face-geo-card:hover{border-color:rgba(201,168,76,0.4)}
.face-geo-card-row{display:flex;align-items:flex-start;gap:12px}
.face-geo-icon{font-size:22px;flex-shrink:0;width:36px;text-align:center;padding-top:2px}
.face-geo-body{flex:1;min-width:0}
.face-geo-name{font-size:12px;color:#9a8b7a;margin-bottom:6px;letter-spacing:0.5px}
.face-geo-name span{color:#c9a84c;font-weight:bold}
.face-geo-bar-wrap{background:#1e1e28;border-radius:4px;height:6px;margin-bottom:6px;overflow:hidden}
.face-geo-bar{height:100%;border-radius:4px;transition:width 1.2s ease}
.face-geo-meta{display:flex;align-items:center;justify-content:space-between}
.face-geo-value{font-size:13px;color:#e8d5b7;font-weight:bold}
.face-geo-tag{font-size:11px;padding:2px 8px;border-radius:8px;font-weight:bold}
.face-geo-desc{font-size:12px;color:#9a8b7a;line-height:1.6;margin-top:4px}
.face-master-analysis{background:#111118;border:1px solid rgba(201,168,76,0.25);border-radius:12px;padding:16px;margin:14px 0}
.face-master-label{color:#c9a84c;font-size:12px;letter-spacing:2px;margin-bottom:10px;opacity:0.8}
.face-master-text{color:#d4c4a8;font-size:13px;line-height:2;letter-spacing:0.3px}

/* Loading dots animation */
.loading-dots{display:flex;justify-content:center;gap:8px}
.loading-dots span{width:8px;height:8px;background:#c9a84c;border-radius:50%;animation:dot-bounce 1.4s ease-in-out infinite}
.loading-dots span:nth-child(2){animation-delay:.2s}
.loading-dots span:nth-child(3){animation-delay:.4s}
@keyframes dot-bounce{0%,80%,100%{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}

/* Trouble option buttons */
.trouble-opt{background:#16161f;border:1px solid #2a2a35;border-radius:8px;padding:10px;text-align:center;font-size:14px;color:#9a8b7a;cursor:pointer;transition:border-color .2s,color .2s,background .2s}
.trouble-opt:hover,.trouble-opt.active{border-color:#c9a84c;color:#c9a84c;background:rgba(201,168,76,0.08)}

/* Hot scroll cards */
.hot-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;-webkit-overflow-scrolling:touch;scroll-snap-type:x mandatory;scrollbar-width:none}
.hot-scroll::-webkit-scrollbar{display:none}
.hot-card{background:#16161f;border:1px solid #2a2a35;border-radius:12px;padding:14px 16px;min-width:160px;max-width:180px;flex-shrink:0;cursor:pointer;scroll-snap-align:start;transition:border-color .2s}
.hot-card:active{border-color:#c9a84c}
.hot-q{font-size:13px;color:#e8d5b7;font-weight:600;line-height:1.4;margin-bottom:8px}
.hot-tag{font-size:11px;color:#c9a84c;background:rgba(201,168,76,0.1);border-radius:10px;padding:2px 8px;display:inline-block}

/* Mine page */
.mine-func-item{background:#16161f;border:1px solid #2a2a35;border-radius:8px;padding:12px 16px;font-size:14px;color:#9a8b7a;cursor:pointer;transition:border-color .2s,color .2s}
.mine-func-item:hover{border-color:#c9a84c;color:#c9a84c}
.mine-record-item{background:#111118;border:1px solid #2a2a35;border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer}
.mine-record-item:last-child{margin-bottom:0}

/* Score bar */
.score-bar-row{margin-bottom:14px}
.score-bar-row:last-child{margin-bottom:0}
.score-bar-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.score-bar-name{font-size:13px;color:#9a8b7a}
.score-bar-val{font-size:13px;color:#c9a84c;font-weight:bold}
.score-bar-track{height:6px;background:#2a2a35;border-radius:3px;overflow:hidden}
.score-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,#8b6914,#c9a84c);transition:width 1.2s ease}

/* Lucky item */
.lucky-item{background:#111118;border:1px solid #2a2a35;border-radius:10px;padding:12px 8px;text-align:center}
.lucky-icon{font-size:22px;margin-bottom:4px}
.lucky-label{font-size:10px;color:#9a8b7a;margin-bottom:4px;letter-spacing:1px}
.lucky-val{font-size:14px;color:#c9a84c;font-weight:bold}

/* Score bar row */
.score-bar-row{margin-bottom:14px}
.score-bar-row:last-child{margin-bottom:0}
.score-bar-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:#e8d5b7}
.score-bar-track{height:8px;background:#1e1e28;border-radius:4px;overflow:hidden}
.score-bar-fill{height:100%;border-radius:4px;transition:width 1.2s ease}

/* Score bar */
.score-bar-row{margin-bottom:14px}
.score-bar-row:last-child{margin-bottom:0}
.score-bar-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:#e8d5b7}
.score-bar-track{height:8px;background:#1e1e28;border-radius:4px;overflow:hidden}
.score-bar-fill{height:100%;border-radius:4px;transition:width 1.2s ease}

/* Score bar row */
.score-bar-row{margin-bottom:14px}
.score-bar-row:last-child{margin-bottom:0}
.score-bar-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:#e8d5b7}
.score-bar-track{height:8px;background:#1e1e28;border-radius:4px;overflow:hidden}
.score-bar-fill{height:100%;border-radius:4px;transition:width 1.2s ease}

/* Yi/Ji tags */
.yi-tag{display:block;font-size:12px;color:#81c784;line-height:1.6}
.ji-tag{display:block;font-size:12px;color:#e57373;line-height:1.6}

/* Score bar */
.score-bar-item{margin-bottom:12px}
.score-bar-item:last-child{margin-bottom:0}
.score-bar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px}
.score-bar-label{font-size:13px;color:#e8d5b7}
.score-bar-val{font-size:13px;color:#c9a84c;font-weight:bold}
.score-bar-track{height:6px;background:#2a2a35;border-radius:3px;overflow:hidden}
.score-bar-fill{height:100%;border-radius:3px;transition:width 1.2s ease}

/* Lucky item */
.lucky-item{background:#111118;border:1px solid #2a2a35;border-radius:10px;padding:12px 8px;text-align:center}
.lucky-icon{font-size:22px;margin-bottom:4px}
.lucky-label{font-size:10px;color:#9a8b7a;margin-bottom:4px;letter-spacing:1px}
.lucky-val{font-size:14px;color:#c9a84c;font-weight:bold}

/* Score bar row */
.score-bar-row{margin-bottom:14px}
.score-bar-row:last-child{margin-bottom:0}
.score-bar-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:#e8d5b7}
.score-bar-track{height:8px;background:#1e1e28;border-radius:4px;overflow:hidden}
.score-bar-fill{height:100%;border-radius:4px;transition:width 1.2s ease}

/* Score bar */
.score-bar-row{margin-bottom:14px}
.score-bar-row:last-child{margin-bottom:0}
.score-bar-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:#e8d5b7}
.score-bar-track{height:8px;background:#1e1e28;border-radius:4px;overflow:hidden}
.score-bar-fill{height:100%;border-radius:4px;transition:width 1.2s ease}

/* Score bar row */
.score-bar-row{margin-bottom:14px}
.score-bar-row:last-child{margin-bottom:0}
.score-bar-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:13px;color:#e8d5b7}
.score-bar-track{height:8px;background:#1e1e28;border-radius:4px;overflow:hidden}
.score-bar-fill{height:100%;border-radius:4px;transition:width 1.2s ease}

/* Fortune score bars */
.fortune-bar-row{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.fortune-bar-row:last-child{margin-bottom:0}
.fortune-bar-label{font-size:13px;color:#9a8b7a;min-width:32px}
.fortune-bar-track{flex:1;height:8px;background:#1e1e28;border-radius:4px;overflow:hidden}
.fortune-bar-fill{height:100%;border-radius:4px;transition:width 1.2s ease}
.fortune-bar-val{font-size:13px;color:#c9a84c;font-weight:bold;min-width:36px;text-align:right}
.love-score{font-size:48px;font-weight:bold;color:#e91e63}
.love-metric-val{font-size:22px;font-weight:bold;color:#e8d5b7}
.love-metric-name{font-size:11px;color:#9a8b7a;margin-top:2px}

/* 缘分分析 - 命理锚点（星座选择） */
.zodiac-row{display:flex;gap:10px;margin-bottom:10px}
.zodiac-sel{flex:1;background:#1a1a24;border:1px solid #2a2a35;border-radius:8px;padding:8px 10px;color:#e8d5b7;font-size:13px;outline:none;appearance:none;-webkit-appearance:none}
.zodiac-sel:focus{border-color:#c9a84c}
.zodiac-sel option{background:#1a1a24;color:#e8d5b7}
.zodiac-label{font-size:12px;color:#9a8b7a;margin-bottom:4px;letter-spacing:1px}

/* 缘分分析 - 状态Chips（带动效） */
.love-chip-grid{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.love-chip{
  background:#1a1a24;border:1px solid #2a2a35;
  border-radius:20px;padding:6px 14px;font-size:13px;color:#9a8b7a;
  cursor:pointer;transition:all 0.25s;user-select:none;
  position:relative;overflow:hidden;
}
.love-chip::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,#c9a84c22,#e91e6322);
  opacity:0;transition:opacity 0.25s;
}
.love-chip:active{transform:scale(0.95)}
.love-chip.active{
  background:linear-gradient(135deg,#2a1a0a,#1a0a1a);
  border-color:#c9a84c;color:#e8d5b7;font-weight:bold;
  box-shadow:0 0 12px rgba(201,168,76,0.3),inset 0 0 8px rgba(201,168,76,0.1);
}
.love-chip.active::before{opacity:1}
@keyframes chip-pop{
  0%{transform:scale(1)}50%{transform:scale(1.08)}100%{transform:scale(1)}
}
.love-chip.pop{animation:chip-pop 0.3s ease}

/* 缘分分析 - 保存档案勾选 */
.love-save-row{
  display:flex;align-items:center;gap:8px;
  padding:10px 12px;margin-bottom:12px;
  background:rgba(201,168,76,0.05);
  border:1px solid rgba(201,168,76,0.15);
  border-radius:10px;cursor:pointer;
  transition:background 0.2s;
}
.love-save-row:hover{background:rgba(201,168,76,0.08)}
.love-save-check{width:18px;height:18px;border-radius:4px;border:1.5px solid #c9a84c;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.2s}
.love-save-check.checked{background:#c9a84c}
.love-save-check.checked::after{content:'✓';font-size:11px;color:#1a1a24;font-weight:bold}
.love-save-text{flex:1}
.love-save-title{font-size:13px;color:#e8d5b7;font-weight:bold}
.love-save-sub{font-size:11px;color:#9a8b7a;margin-top:2px}

/* 缘分分析 - Loading页 */
#love-loading{text-align:center;padding:40px 20px}
.love-loading-icon{font-size:56px;margin-bottom:20px;display:block;animation:love-pulse 1.5s ease infinite}
@keyframes love-pulse{0%,100%{transform:scale(1);opacity:0.8}50%{transform:scale(1.1);opacity:1}}
.love-loading-text{font-size:15px;color:#c9a84c;font-weight:bold;min-height:24px}
.love-loading-dots span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c9a84c;margin:0 3px;animation:love-dot-bounce 1.4s ease infinite}
.love-loading-dots span:nth-child(2){animation-delay:0.2s}
.love-loading-dots span:nth-child(3){animation-delay:0.4s}
@keyframes love-dot-bounce{0%,80%,100%{transform:translateY(0)}40%{transform:translateY(-8px)}}

/* 缘分海报 */
.love-poster-score-circle{position:relative;width:120px;height:120px;margin:0 auto 12px}
.love-poster-score-circle svg{transform:rotate(-90deg)}
.love-poster-score-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.love-poster-score-num .big{font-size:36px;font-weight:bold;color:#e91e63}
.love-poster-score-num .sub{font-size:11px;color:#9a8b7a}
.love-metric-bar{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.love-metric-bar .lbl{font-size:13px;color:#9a8b7a;width:60px;text-align:right;flex-shrink:0}
.love-metric-bar .track{flex:1;height:6px;background:#1e1e28;border-radius:3px;overflow:hidden}
.love-metric-bar .fill{height:100%;border-radius:3px;transition:width 1.2s ease}
.love-metric-bar .val{font-size:13px;color:#c9a84c;font-weight:bold;width:36px;text-align:right}
.love-lucky-date{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;background:rgba(201,168,76,0.08);
  border:1px solid rgba(201,168,76,0.2);border-radius:20px;
  font-size:12px;color:#c9a84c;margin:4px 4px 4px 0;
}

/* 判词Markdown渲染（去AI痕迹） */
.lm-section-title{font-size:16px;color:#c9a84c;font-weight:bold;margin:16px 0 8px;padding-bottom:6px;border-bottom:1px solid rgba(201,168,76,0.2)}
.lm-sub-title{font-size:13px;color:#e8d5b7;font-weight:bold;margin:12px 0 6px}
.lm-list-item{display:flex;align-items:flex-start;gap:8px;margin-bottom:6px;font-size:14px;color:#e8d5b7;line-height:1.7}
.lm-bullet{color:#c9a84c;flex-shrink:0;margin-top:2px}
.lm-highlight{color:#e91e63;font-weight:bold;background:rgba(233,30,99,0.1);padding:0 4px;border-radius:3px}
.lm-code{color:#c9a84c;background:rgba(201,168,76,0.08);padding:1px 5px;border-radius:3px;font-size:13px}
.lm-p{margin:0 0 10px;color:#e8d5b7;font-size:14px;line-height:2}

/* 运势快捷按钮 */
.hot-zodiac-btn {
  background: #1a1a24;
  border: 1px solid #2a2a35;
  border-radius: 20px;
  padding: 5px 12px;
  font-size: 12px;
  color: #c9a84c;
  cursor: pointer;
  transition: all 0.2s;
}
.hot-zodiac-btn:hover, .hot-zodiac-btn.active {
  background: #2a2a35;
  border-color: #c9a84c;
  color: #e8d5b7;
}
/* 选中态 */
.hot-zodiac-btn.selected {
  background: #c9a84c;
  border-color: #c9a84c;
  color: #1a1a24;
  font-weight: bold;
}


/* 面诊摄像头弹层 */
#face-camera-overlay video {
  box-shadow: 0 0 40px rgba(201,168,76,0.2);
}
/* 拍照按钮脉冲 */
@keyframes face-loading-spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
/* 动态计数动画 */
@keyframes count-pop {
  0% { opacity:0; transform: translateY(-10px); }
  20% { opacity:1; transform: translateY(0); }
  80% { opacity:1; transform: translateY(0); }
  100% { opacity:0; transform: translateY(10px); }
}
.count-pop { animation: count-pop 1.2s ease forwards; }
/* 照片流光 */
@keyframes face-glow {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}


/* ===== 关帝灵签·神殿沉浸 ===== */
.div-shrine{position:relative;text-align:center;padding:20px 0 10px}
.div-shrine::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:200px;height:200px;background:radial-gradient(circle,rgba(201,168,76,0.12) 0%,transparent 70%);pointer-events:none}
.div-qiantong-svg{width:120px;height:160px;margin:0 auto;filter:drop-shadow(0 0 20px rgba(201,168,76,0.3));transition:transform 0.3s}
.div-qiantong-svg.shaking{animation:qiantongShake 0.25s ease-in-out 32}
@keyframes qiantongShake{
0%,100%{transform:rotate(0deg)}
15%{transform:rotate(-8deg) translateX(-4px)}
30%{transform:rotate(7deg) translateX(4px)}
45%{transform:rotate(-6deg) translateX(-3px)}
60%{transform:rotate(5deg) translateX(3px)}
75%{transform:rotate(-3deg) translateX(-1px)}
90%{transform:rotate(2deg) translateX(1px)}
}
.div-lingshen-fly{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;opacity:0;pointer-events:none}
.div-lingshen-fly.active{animation:lingshenFly 1.2s ease-out forwards}
@keyframes lingshenFly{
0%{opacity:0;transform:translate(-50%,30%) scale(0.3) rotate(-20deg)}
30%{opacity:1;transform:translate(-50%,-60%) scale(1.1) rotate(5deg)}
50%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0deg)}
70%{opacity:1;transform:translate(-50%,-50%) scale(1.05) rotate(-2deg)}
100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0deg)}
}
.div-lingshen-card{width:140px;height:220px;background:linear-gradient(180deg,#2a1f0a,#1a1408);border:2px solid #c9a84c;border-radius:8px;position:relative;box-shadow:0 0 30px rgba(201,168,76,0.5),0 0 60px rgba(201,168,76,0.2);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}
.div-lingshen-card::before{content:'';position:absolute;inset:4px;border:1px solid rgba(201,168,76,0.3);border-radius:6px;pointer-events:none}
.div-lingshen-num{font-size:28px;color:#c9a84c;font-weight:bold;letter-spacing:2px;text-shadow:0 0 10px rgba(201,168,76,0.5)}
.div-lingshen-label{font-size:12px;color:#9a8b7a;margin-top:6px;letter-spacing:3px}
.div-lingshen-glow{position:absolute;top:-20px;left:50%;transform:translateX(-50%);width:60px;height:60px;background:radial-gradient(circle,rgba(255,215,0,0.6) 0%,transparent 70%);animation:lingshenGlow 1.5s ease-in-out infinite}
@keyframes lingshenGlow{0%,100%{opacity:0.6;transform:translateX(-50%) scale(1)}50%{opacity:1;transform:translateX(-50%) scale(1.3)}}
.div-zhijiao-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.85);z-index:10000;display:none;flex-direction:column;align-items:center;justify-content:center}
.div-zhijiao-overlay.active{display:flex}
.div-zhijiao-prompt{color:#c9a84c;font-size:16px;letter-spacing:3px;margin-bottom:30px;text-align:center;line-height:1.8;text-shadow:0 0 10px rgba(201,168,76,0.3)}
.div-zhijiao-cups{display:flex;gap:40px;margin-bottom:30px;perspective:600px}
.div-jiao-cup{width:50px;height:70px;position:relative;transform-style:preserve-3d;transition:transform 0.8s cubic-bezier(0.25,0.46,0.45,0.94)}
.div-jiao-cup.flipping{animation:jiaoFlip 1.2s ease-out forwards}
.div-jiao-cup:nth-child(1).flipping{animation-delay:0.1s}
.div-jiao-cup:nth-child(2).flipping{animation-delay:0.3s}
@keyframes jiaoFlip{
0%{transform:rotateX(0deg) translateY(0)}
20%{transform:rotateX(180deg) translateY(-80px)}
40%{transform:rotateX(360deg) translateY(-40px)}
60%{transform:rotateX(540deg) translateY(-20px)}
80%{transform:rotateX(680deg) translateY(0px)}
100%{transform:rotateX(720deg) translateY(0px)}
}
.div-jiao-cup-inner{width:100%;height:100%;position:relative}
.div-jiao-front,.div-jiao-back{position:absolute;inset:0;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;backface-visibility:hidden}
.div-jiao-front{background:linear-gradient(135deg,#8b1a1a,#c0392b);box-shadow:inset 0 -4px 8px rgba(0,0,0,0.3),0 2px 10px rgba(139,26,26,0.5)}
.div-jiao-front::after{content:'';position:absolute;top:30%;left:50%;transform:translateX(-50%);width:20px;height:3px;background:rgba(255,255,255,0.15);border-radius:2px}
.div-jiao-back{background:linear-gradient(135deg,#c9a84c,#e8c96a);transform:rotateX(180deg);box-shadow:inset 0 -4px 8px rgba(0,0,0,0.2),0 2px 10px rgba(201,168,76,0.5)}
.div-jiao-back::after{content:'关';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#8b1a1a;font-size:16px;font-weight:bold}
.div-zhijiao-result{font-size:20px;color:#c9a84c;font-weight:bold;letter-spacing:4px;opacity:0;transition:opacity 0.5s;margin-bottom:20px;text-shadow:0 0 15px rgba(201,168,76,0.5)}
.div-zhijiao-result.show{opacity:1}
.div-zhijiao-btn{background:linear-gradient(135deg,#8b2323,#c0392b);border:1px solid rgba(201,168,76,0.3);border-radius:8px;color:#c9a84c;font-size:16px;padding:14px 40px;cursor:pointer;letter-spacing:3px;transition:all 0.3s}
.div-zhijiao-btn:active{transform:scale(0.95)}
.div-zhijiao-btn:disabled{opacity:0.4;cursor:not-allowed}
.div-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}
.div-chip{background:rgba(201,168,76,0.08);border:1px solid rgba(201,168,76,0.25);border-radius:20px;padding:6px 14px;font-size:13px;color:#c9a84c;cursor:pointer;transition:all 0.25s;letter-spacing:1px}
.div-chip:active{transform:scale(0.95)}
.div-chip.selected{background:rgba(201,168,76,0.2);border-color:#c9a84c;box-shadow:0 0 8px rgba(201,168,76,0.3)}
.div-input-line{position:relative;margin:0 20px 20px}
.div-input-line input{width:100%;background:transparent;border:none;border-bottom:1px solid rgba(201,168,76,0.3);padding:10px 0;color:#c9a84c;font-size:15px;outline:none;letter-spacing:2px;text-align:center}
.div-input-line input::placeholder{color:rgba(154,139,122,0.5);letter-spacing:2px}
.div-input-line input:focus{border-bottom-color:#c9a84c}
.div-input-line::after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,0.6),transparent)}
.div-shrine-text{color:#9a8b7a;font-size:13px;letter-spacing:3px;line-height:2.2;text-align:center;margin-bottom:20px}
.div-shrine-text em{color:#c9a84c;font-style:normal}


/* ===== 签诗结果页·古风卷轴 ===== */
.div-result-wrap{display:none}
.div-result-wrap.active{display:block}
.div-sign-header{position:relative;text-align:center;padding:24px 0 16px}
.div-sign-wood{display:inline-block;background:linear-gradient(180deg,#3a2a10,#2a1a08);border:2px solid #8b6914;border-radius:6px;padding:8px 20px 6px;min-width:160px;position:relative}
.div-sign-wood::before,.div-sign-wood::after{content:'';position:absolute;top:3px;bottom:3px;width:2px;background:rgba(201,168,76,0.3)}
.div-sign-wood::before{left:6px}
.div-sign-wood::after{right:6px}
.div-sign-wood-num{font-size:20px;color:#c9a84c;font-weight:bold;letter-spacing:4px;font-family:serif}
.div-sign-seal{position:absolute;top:-8px;right:-12px;transform:rotate(15deg);border:3px solid #c0392b;color:#c0392b;font-size:16px;font-weight:bold;padding:4px 8px;letter-spacing:2px;font-family:serif;border-radius:3px;opacity:0.9;box-shadow:0 0 8px rgba(192,57,43,0.4)}
.div-sign-seal::before{content:'';position:absolute;inset:2px;border:1px solid rgba(192,57,43,0.4);border-radius:1px;pointer-events:none}
/* 宣纸卷轴 */
.div-scroll{position:relative;background:linear-gradient(180deg,rgba(201,168,76,0.06),rgba(201,168,76,0.03));border:1px solid rgba(201,168,76,0.2);border-radius:8px;margin:16px 0;padding:20px 16px;overflow:hidden}
.div-scroll::before,.div-scroll::after{content:'';position:absolute;left:0;right:0;height:4px;background:linear-gradient(90deg,transparent,rgba(201,168,76,0.4),transparent)}
.div-scroll::before{top:0}
.div-scroll::after{bottom:0}
.div-scroll-deco{position:absolute;top:0;bottom:0;width:3px;background:linear-gradient(180deg,transparent,rgba(201,168,76,0.2),transparent)}
.div-scroll-deco.left{left:8px}
.div-scroll-deco.right{right:8px}
.div-poem-title{font-size:12px;color:#c9a84c;letter-spacing:4px;margin-bottom:10px;text-align:center}
.div-poem-text{font-size:18px;color:#e8d5b7;line-height:2.2;text-align:center;letter-spacing:3px;font-family:serif;font-weight:bold}
.div-jiechan-label{font-size:13px;color:#c9a84c;letter-spacing:3px;margin:16px 0 8px;padding-left:12px;border-left:2px solid #c9a84c;display:flex;align-items:center;gap:8px}
.div-jiechan-label svg{width:16px;height:16px;fill:#c9a84c}
.div-jiechan-text{font-size:14px;color:#d4c4a0;line-height:1.9;white-space:pre-wrap;padding:0 4px}
/* 宜忌方位 */
.div-fortune-box{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:16px 0}
.div-fortune-item{background:rgba(201,168,76,0.06);border:1px solid rgba(201,168,76,0.15);border-radius:8px;padding:10px 8px;text-align:center}
.div-fortune-item-label{font-size:11px;color:#9a8b7a;margin-bottom:4px;letter-spacing:1px}
.div-fortune-item-value{font-size:14px;color:#c9a84c;font-weight:bold;letter-spacing:1px}
/* 化解锦囊 */
.div-remedy{background:linear-gradient(135deg,rgba(139,35,35,0.15),rgba(201,168,76,0.08));border:1px solid rgba(201,168,76,0.2);border-radius:8px;padding:14px 16px;margin:16px 0;text-align:center}
.div-remedy-title{font-size:13px;color:#c9a84c;letter-spacing:2px;margin-bottom:8px}
.div-remedy-text{font-size:14px;color:#e8d5b7;line-height:1.8}
.div-remedy-btn{display:inline-block;margin-top:10px;background:linear-gradient(135deg,#8b2323,#c0392b);color:#c9a84c;font-size:13px;padding:8px 20px;border-radius:20px;border:1px solid rgba(201,168,76,0.3);letter-spacing:2px;cursor:pointer}
.div-remedy-btn:active{transform:scale(0.95)}
/* 底部双按钮 */
.div-result-btns{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.div-btn-save{height:48px;background:linear-gradient(135deg,#c9a84c,#e8c96a);border:none;border-radius:8px;color:#1a1a1a;font-size:14px;font-weight:bold;cursor:pointer;letter-spacing:1px;position:relative;overflow:hidden}
.div-btn-save::after{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 40%,rgba(255,255,255,0.3) 50%,transparent 60%);animation:goldShimmer 2s infinite}
@keyframes goldShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
.div-btn-retry{height:48px;background:transparent;border:1px solid rgba(201,168,76,0.4);border-radius:8px;color:#c9a84c;font-size:14px;cursor:pointer;letter-spacing:1px}
.div-btn-retry:active{background:rgba(201,168,76,0.1)}
/* ─────────── 解签结果 天机卷宗卡片 ─────────── */

/* 解签文本区 */
.div-interpret-section { margin: 16px 0 0 }

/* 天机卷宗卡片 */
.div-tianji-card {
  position: relative;
  background: linear-gradient(160deg, #1a1610, #201a10);
  border: 1px solid rgba(201,168,76,0.22);
  border-radius: 12px;
  margin-bottom: 10px;
  overflow: hidden;
}
/* 古典回字纹左上角 */
.div-tianji-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0;
  width: 24px; height: 24px;
  background:
    linear-gradient(135deg, rgba(201,168,76,0.6) 0%, rgba(201,168,76,0.6) 40%, transparent 40%),
    linear-gradient(225deg, rgba(201,168,76,0.6) 0%, rgba(201,168,76,0.6) 40%, transparent 40%);
  border-radius: 0 0 8px 0;
}
/* 古典回字纹右下角 */
.div-tianji-card::after {
  content: '';
  position: absolute;
  bottom: 0; right: 0;
  width: 24px; height: 24px;
  background:
    linear-gradient(315deg, rgba(201,168,76,0.6) 0%, rgba(201,168,76,0.6) 40%, transparent 40%),
    linear-gradient(45deg, rgba(201,168,76,0.6) 0%, rgba(201,168,76,0.6) 40%, transparent 40%);
  border-radius: 8px 0 0 0;
}

.div-tianji-card-header {
  padding: 10px 16px 8px 20px;
  font-size: 12px;
  color: #c9a84c;
  letter-spacing: 3px;
  border-bottom: 1px solid rgba(201,168,76,0.1);
  position: relative;
  z-index: 1;
}
.div-tianji-card-header::before { content: '◈ '; font-size: 10px; }

.div-tianji-card-body { padding: 12px 16px 12px 20px }

.div-tianji-line {
  font-size: 13px;
  color: #9a8b7a;
  line-height: 1.9;
  letter-spacing: 0.5px;
  margin-bottom: 6px;
}
.div-tianji-line:last-child { margin-bottom: 0 }

.div-tianji-quote {
  color: #c9a84c;
  font-family: 'SimSun', serif;
  font-size: 14px;
  letter-spacing: 2px;
  padding: 6px 10px;
  background: rgba(201,168,76,0.05);
  border-left: 2px solid rgba(201,168,76,0.3);
  border-radius: 2px;
  margin-bottom: 8px;
}

/* ─────────── 趋吉避凶 2x2 网格 ─────────── */
.div-action-section { margin-top: 12px }
.div-section-header {
  font-size: 12px;
  color: #c9a84c;
  letter-spacing: 3px;
  text-align: center;
  margin-bottom: 10px;
}
.div-action-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.div-action-chip {
  background: linear-gradient(160deg, #1a1610, #1e1a12);
  border: 1px solid rgba(201,168,76,0.18);
  border-radius: 10px;
  padding: 10px 10px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.div-action-num {
  font-size: 14px;
  color: #c9a84c;
  letter-spacing: 1px;
}
.div-action-text {
  font-size: 12px;
  color: #8a7a6a;
  line-height: 1.7;
  letter-spacing: 0.3px;
}

/* 金色粒子 */
.div-particles{position:fixed;inset:0;pointer-events:none;z-index:9998;overflow:hidden}
.div-particle{position:absolute;width:6px;height:6px;background:radial-gradient(circle,#ffd700,#c9a84c);border-radius:50%;animation:particleFall linear forwards;opacity:0}
@keyframes particleFall{0%{opacity:1;transform:translateY(-20px) rotate(0deg)}80%{opacity:0.8}100%{opacity:0;transform:translateY(100vh) rotate(720deg)}}

/* 星座/生肖3x4网格卡片 */
.xz-grid-card {
  background: linear-gradient(135deg, rgba(201,168,76,0.06), rgba(201,168,76,0.02));
  border: 1px solid rgba(243,209,124,0.15);
  border-radius: 10px;
  padding: 10px 4px 8px;
  text-align: center;
  cursor: pointer;
  transition: all 0.25s ease;
  user-select: none;
}
.xz-grid-card:active {
  transform: scale(0.96);
}
.xz-grid-card:hover, .xz-grid-card.hovering {
  background: linear-gradient(135deg, rgba(201,168,76,0.12), rgba(201,168,76,0.06));
  border-color: rgba(243,209,124,0.4);
  box-shadow: 0 0 14px rgba(243,209,124,0.15);
}
.xz-grid-card.selected {
  background: linear-gradient(135deg, rgba(243,209,124,0.15), rgba(201,168,76,0.08));
  border: 1.5px solid rgba(243,209,124,0.7);
  box-shadow: 0 0 18px rgba(243,209,124,0.25);
}
.xz-icon {
  font-size: 22px;
  margin-bottom: 4px;
  line-height: 1;
  filter: drop-shadow(0 0 5px rgba(243,209,124,0.5));
}
.xz-name {
  font-size: 11px;
  color: #9a8b7a;
  letter-spacing: 1px;
}
.xz-grid-card:hover .xz-name, .xz-grid-card.selected .xz-name {
  color: #c9a84c;
  font-weight: 600;
}

/* 红黑榜卡片 */
.rb-card {
  flex: 1;
  padding: 10px 6px;
  border-radius: 12px;
  text-align: center;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.rb-card.visible {
  opacity: 1;
  transform: translateY(0);
}
.rb-red {
  background: linear-gradient(135deg, rgba(243,209,124,0.12), rgba(201,168,76,0.06));
  border: 1px solid rgba(243,209,124,0.3);
  box-shadow: 0 0 16px rgba(243,209,124,0.12), inset 0 0 8px rgba(243,209,124,0.05);
}
.rb-black {
  background: linear-gradient(135deg, rgba(100,100,180,0.1), rgba(80,80,140,0.05));
  border: 1px solid rgba(140,140,255,0.2);
  box-shadow: 0 0 16px rgba(100,100,255,0.08), inset 0 0 8px rgba(100,100,255,0.04);
}
.rb-icon {
  font-size: 20px;
  margin-bottom: 4px;
  line-height: 1;
}
.rb-name {
  font-size: 12px;
  font-weight: bold;
  color: #f3d17c;
  margin-bottom: 3px;
  letter-spacing: 0.5px;
}
.rb-black .rb-name { color: #b8a8d8; }
.rb-desc {
  font-size: 10px;
  color: #f3d17c;
  line-height: 1.4;
}
.rb-red .rb-desc { color: #f3d17c; font-weight: bold; }
.rb-black .rb-desc { color: #b8a8d8; }

.xz-grid-card:active {
  transform: scale(0.96);
}
.xz-grid-card:hover, .xz-grid-card.hovering {
  background: linear-gradient(135deg, rgba(201,168,76,0.12), rgba(201,168,76,0.06));
  border-color: rgba(201,168,76,0.5);
  box-shadow: 0 0 12px rgba(201,168,76,0.2);
}
.xz-grid-card.selected {
  background: linear-gradient(135deg, rgba(201,168,76,0.2), rgba(201,168,76,0.1));
  border: 2px solid #c9a84c;
  box-shadow: 0 0 16px rgba(201,168,76,0.35);
}
.xz-icon {
  font-size: 22px;
  margin-bottom: 4px;
  line-height: 1;
  filter: drop-shadow(0 0 4px rgba(201,168,76,0.4));
}
.xz-name {
  font-size: 11px;
  color: #9a8b7a;
  letter-spacing: 1px;
}
.xz-grid-card:hover .xz-name, .xz-grid-card.selected .xz-name {
  color: #c9a84c;
}


/* 计数器 +N 动画 */
@keyframes countPop {
  0%   { opacity:1; transform: translateY(0) scale(1); }
  50%  { opacity:1; transform: translateY(-12px) scale(1.15); color:#4ade80; }
  100% { opacity:0; transform: translateY(-24px) scale(0.9); }
}
.count-pop {
  animation: countPop 0.8s ease-out forwards;
}

/* 缘分页新样式 */
.love-advice-cell {
  background: #16161f;
  border: 1px solid #2a2a35;
  border-radius: 10px;
  padding: 14px 12px;
  font-size: 13px;
  color: #e8d5b7;
  line-height: 1.9;
  text-align: center;
  transition: border-color .2s;
}
.love-advice-cell:hover {
  border-color: rgba(201, 168, 76, 0.4);
}

/* ==================== 古风道家弹窗 ==================== */
.tao-modal-wrap {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  background: rgba(10, 8, 5, 0.82);
  backdrop-filter: blur(4px);
  animation: modalFadeIn .25s ease;
}
.tao-modal-wrap.active { display: flex; }

@keyframes modalFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

.tao-modal {
  position: relative;
  background: #0f0c08;
  border: 1px solid #c9a84c;
  border-radius: 6px;
  padding: 40px 36px 32px;
  max-width: 360px;
  width: 90%;
  text-align: center;
  box-shadow:
    0 0 0 1px rgba(201,168,76,.08),
    0 0 40px rgba(201,168,76,.12),
    0 20px 60px rgba(0,0,0,.8);
  animation: modalSlideIn .3s cubic-bezier(.22,.61,.36,1);
}

@keyframes modalSlideIn {
  from { transform: translateY(-16px) scale(.96); opacity: 0; }
  to   { transform: translateY(0) scale(1);    opacity: 1; }
}

/* 四角祥云装饰 */
.tao-modal::before,
.tao-modal::after {
  content: '☯';
  position: absolute;
  font-size: 18px;
  color: #c9a84c;
  opacity: .6;
  line-height: 1;
}
.tao-modal::before { top: -10px;    left: 16px;  }
.tao-modal::after  { bottom: -10px; right: 16px; }

/* 顶部横线装饰 */
.tao-modal-icon {
  font-size: 40px;
  color: #c9a84c;
  margin-bottom: 16px;
  filter: drop-shadow(0 0 8px rgba(201,168,76,.5));
}

.tao-modal-msg {
  color: #e8c96a;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 2px;
  margin-bottom: 28px;
  text-shadow: 0 0 12px rgba(201,168,76,.25);
  white-space: pre-line;
}

.tao-modal-btn {
  display: inline-block;
  padding: 10px 36px;
  background: linear-gradient(135deg, #c9a84c, #e8c96a);
  color: #0f0c08;
  font-size: 14px;
  font-weight: bold;
  letter-spacing: 4px;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  transition: all .2s;
  box-shadow: 0 2px 12px rgba(201,168,76,.35);
}
.tao-modal-btn:hover {
  background: linear-gradient(135deg, #e8c96a, #f0d88a);
  box-shadow: 0 4px 20px rgba(201,168,76,.5);
  transform: translateY(-1px);
}

/* ===== 汉堡菜单按钮 ===== */
.hamburger-btn {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  padding: 6px;
  border-radius: 8px;
  transition: background 0.2s;
  flex-shrink: 0;
}
.hamburger-btn:hover,
.hamburger-btn:active {
  background: rgba(201, 168, 76, 0.1);
}
.hamburger-btn span {
  display: block;
  width: 100%;
  height: 2px;
  background: #c9a84c;
  border-radius: 2px;
  transition: transform 0.2s, opacity 0.2s;
}

/* ═══ 功德灯壁 · 烛火呼吸动效 ═══ */
@keyframes lampGlowBreath {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(255,180,60,0.5)) drop-shadow(0 0 8px rgba(255,120,20,0.25)); opacity: 0.85; }
  50%       { filter: drop-shadow(0 0 8px rgba(255,200,80,0.7))  drop-shadow(0 0 16px rgba(255,140,30,0.4)); opacity: 1; }
}
@keyframes lampFloat {
  0%, 100% { transform: translateY(0px)   rotate(0deg); }
  25%       { transform: translateY(-1.5px) rotate(0.3deg); }
  75%       { transform: translateY(1px)   rotate(-0.3deg); }
}
@keyframes wickFlicker {
  0%, 100% { opacity: 0.9; }
  30%       { opacity: 1; }
  60%       { opacity: 0.75; }
  80%       { opacity: 0.95; }
}

.lan-witem.lit {
  animation: lampFloat 4s ease-in-out infinite;
}
.lan-witem.lit .lan-wal-svg svg {
  animation: lampGlowBreath 3s ease-in-out infinite;
}
.lan-witem.lit .lan-wal-svg svg ellipse,
.lan-witem.lit .lan-wal-svg svg circle {
  animation: wickFlicker 2.5s ease-in-out infinite;
}

/* 随机延迟，让每盏灯节奏不同 */
.lan-witem.lit:nth-child(2n)   { animation-delay: 0.4s; }
.lan-witem.lit:nth-child(3n)   { animation-delay: 0.9s; }
.lan-witem.lit:nth-child(5n)   { animation-delay: 1.5s; }
.lan-witem.lit:nth-child(7n)   { animation-delay: 2.1s; }

/* ═══ 垂挂式朱红功德签 ═══ */
.lan-wal-n {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: "STKaiti","KaiTi","STSong","SimSun",serif;
  font-size: 13px !important;
  color: #c9a84c !important;
  letter-spacing: 3px;
  min-height: 60px;
  max-height: 80px;
  overflow: hidden;
  margin: 0 auto 4px !important;
  line-height: 1.2;
}
.lan-wal-n::before {
  content: '';
  display: block;
  width: 1px;
  height: 10px;
  background: linear-gradient(to bottom, rgba(180,120,40,0.6), transparent);
  margin: 0 auto 3px;
}
.lan-wal-n::after {
  content: '';
  display: block;
  width: 1px;
  height: 10px;
  background: linear-gradient(to top, rgba(180,120,40,0.6), transparent);
  margin: 3px auto 0;
}

/* ═══ 灯壁背景金色粒子（已由 Canvas 驱动） ═══ */
/* 灯壁父容器加渐变底色，衬托烛光 */
.lan-wall-scroll {
  background: radial-gradient(ellipse at 50% 0%, rgba(40,20,5,0.6) 0%, rgba(15,8,3,0.9) 70%);
  border-radius: 12px;
  padding: 12px 8px;
}

/* 功德签 · 愿望文字 */
.lan-wal-w {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-family: "STKaiti","KaiTi",serif;
  font-size: 9px;
  color: rgba(180,155,100,0.7);
  letter-spacing: 1px;
  min-height: 40px;
  max-height: 70px;
  overflow: hidden;
  margin: 0 auto 2px;
  line-height: 1.5;
}

/* ═══ 功德灯壁 · 烛火呼吸动效 ═══ */
@keyframes lampGlowBreath {
  0%, 100% { filter: drop-shadow(0 0 4px rgba(255,180,60,0.5)) drop-shadow(0 0 8px rgba(255,120,20,0.25)); opacity: 0.85; }
  50%       { filter: drop-shadow(0 0 10px rgba(255,210,80,0.8)) drop-shadow(0 0 20px rgba(255,140,30,0.5)); opacity: 1; }
}
@keyframes lampFloat {
  0%, 100% { transform: translateY(0px)   rotate(0deg); }
  25%       { transform: translateY(-2px) rotate(0.4deg); }
  75%       { transform: translateY(1.5px) rotate(-0.4deg); }
}
@keyframes wickFlicker {
  0%, 100% { opacity: 0.9; }
  30%       { opacity: 1; }
  60%       { opacity: 0.7; }
  80%       { opacity: 0.95; }
}
.lan-witem.lit .lamp-main {
  animation: lampFloat 4s ease-in-out infinite;
}
/* 随机延迟让每盏灯节奏不同 */
.lan-witem.lit:nth-child(2n) .lamp-main { animation-delay: 0.5s; }
.lan-witem.lit:nth-child(3n) .lamp-main { animation-delay: 1.1s; }
.lan-witem.lit:nth-child(5n) .lamp-main { animation-delay: 1.7s; }
.lan-witem.lit:nth-child(7n) .lamp-main { animation-delay: 2.3s; }

/* ═══ 灯笼卡片结构 ═══ */
.lamp-main {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  margin-bottom: 0;
}

/* ──── 古典挂绳组件：极细红丝绳 + 黄金玉珠 ──── */
.classical-tassel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 30px;
  margin-top: -18px;
  position: relative;
  z-index: 2;
}

/* 极细红丝绳 */
.tassel-cord {
  width: 1px;
  background: #a92020;
  opacity: 0.85;
}
.tassel-cord.top-cord { height: 8px; }
.tassel-cord.bottom-cord { height: 12px; }

/* 黄金玛瑙玉珠 */
.tassel-bead {
  width: 4px;
  height: 4px;
  background: radial-gradient(circle at 33% 33%, #fff7d6 0%, #ffd700 50%, #b38600 100%);
  border-radius: 50%;
  box-shadow: 0 1px 3px rgba(0,0,0,0.5), 0 0 4px rgba(255,215,0,0.6);
  margin: 1px 0;
}

/* 垂挂式朱红功德签 */
.blessing-tag-wrapper {
  margin-top: -5px;
  margin-left: auto;
  margin-right: auto;
  width: 24px;
  max-height: 260px;
  height: max-content;
  background: linear-gradient(180deg, #9c1c1c 0%, #6e0e0e 100%);
  border: 0.5px solid rgba(212,175,55,0.5);
  border-radius: 2px 2px 0px 0px;
  clip-path: polygon(0% 0%, 100% 0%, 100% 92%, 50% 100%, 0% 92%);
  box-shadow: 0 4px 8px rgba(0,0,0,0.4);
  padding: 10px 0 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
  overflow: visible;
  position: relative;
}

/* 信士署名 */
.blessing-tag-name {
  color: #ffeaa7;
  font-size: 10px;
  font-weight: normal;
  letter-spacing: 2px;
  font-family: "Kaiti","STKaiti",serif;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  line-height: 1;
  margin-bottom: 6px;
}

/* 心愿内容 */
.blessing-tag-wish {
  color: #FFD700 !important;
  font-size: 12px;
  letter-spacing: 3px;
  font-family: "Kaiti","STKaiti","Songti SC",serif;
  text-shadow: 1px 1px 2px rgba(0,0,0,0.8);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  white-space: nowrap;
  overflow: hidden;
  line-height: 1.2;
}

/* ===== 功能区按钮 ===== */
.top-actions{display:flex;align-items:center;gap:4px}
.top-action-btn{
  display:flex;flex-direction:column;align-items:center;gap:3px;
  background:none;border:none;cursor:pointer;padding:4px 8px;
  border-radius:8px;color:#c9a84c;
  transition:background 0.2s,transform 0.15s}
.top-action-btn:active{background:rgba(201,168,76,0.1);transform:scale(0.93)}
.top-action-icon{width:22px;height:22px}
.top-action-label{font-size:10px;letter-spacing:0.5px;white-space:nowrap}

/* ===== 关于本阁弹窗 ===== */
.about-modal-overlay{position:fixed;inset:0;z-index:99999;
  background:rgba(0,0,0,0.88);backdrop-filter:blur(8px);
  display:flex;align-items:flex-start;justify-content:center;
  padding-top:env(safe-area-inset-top,40px);
  opacity:0;pointer-events:none;transition:opacity 0.35s}
.about-modal-overlay.show{opacity:1;pointer-events:all}
.about-modal-scroll{display:flex;align-items:flex-start;justify-content:center;
  width:100%;max-height:calc(92vh - env(safe-area-inset-top,40px));padding:16px;box-sizing:border-box;overflow-y:auto;-webkit-overflow-scrolling:touch}
.about-modal-paper{width:100%;max-width:400px;
  background:linear-gradient(160deg,#1e1b14 0%,#252118 50%,#1c1912 100%);
  border:1px solid rgba(201,168,76,0.25);border-radius:16px;
  padding:28px 20px 32px;position:relative;
  transform:scale(0.92) translateY(20px);transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:0 20px 60px rgba(0,0,0,0.6)}
.about-modal-overlay.show .about-modal-paper{transform:scale(1) translateY(0)}
.about-modal-paper::before{content:'';position:absolute;inset:0;border-radius:16px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none}
.about-modal-close{position:fixed;top:calc(env(safe-area-inset-top,16px) + 8px);right:calc(env(safe-area-inset-right,16px) + 8px);
  background:rgba(201,168,76,0.15);border:1px solid rgba(201,168,76,0.3);
  color:#c9a84c;width:32px;height:32px;border-radius:50%;
  font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;
  opacity:0;pointer-events:none;transition:opacity 0.35s,transform 0.2s;z-index:1}
.about-modal-overlay.show .about-modal-close{opacity:1;pointer-events:all}
.about-modal-close:active{transform:scale(0.9)}
.about-title{text-align:center;font-size:20px;color:#c9a84c;letter-spacing:5px;
  font-weight:bold;margin-bottom:4px;text-shadow:0 0 20px rgba(201,168,76,0.4)}
.about-subtitle{text-align:center;font-size:11px;color:#6a5a4a;letter-spacing:3px;margin-bottom:20px}
.about-section-title{font-size:13px;color:#c9a84c;letter-spacing:3px;margin:20px 0 4px;font-weight:bold}
.about-section-label{font-size:11px;color:#6a5a4a;letter-spacing:2px;margin-bottom:12px}
.about-block{margin-bottom:14px;padding:12px 14px;background:rgba(201,168,76,0.04);
  border:1px solid rgba(201,168,76,0.12);border-radius:10px}
.about-block-name{font-size:13px;color:#c9a84c;letter-spacing:1px;margin-bottom:6px;font-weight:bold}
.about-block-body{font-size:13px;color:#9a8b7a;line-height:1.9;letter-spacing:0.3px}
.about-warning-box{margin-bottom:12px;padding:14px;background:rgba(201,168,76,0.06);
  border:1px solid rgba(201,168,76,0.2);border-radius:10px}
.about-warning-box-red{background:rgba(139,35,35,0.12);border-color:rgba(201,76,76,0.25)}
.about-warning-title{font-size:13px;color:#c9a84c;letter-spacing:2px;margin-bottom:8px;font-weight:bold}
.about-warning-box-red .about-warning-title{color:#e8a0a0}
.about-warning-text{font-size:13px;color:#9a8b7a;line-height:2;letter-spacing:0.3px}
.about-warning-text strong{color:#e8d5b7;font-weight:bold}
.about-contact-box{margin-bottom:16px}
.about-contact-row{display:flex;gap:16px;padding:8px 0;border-bottom:1px solid rgba(201,168,76,0.08)}
.about-contact-row:last-child{border-bottom:none}
.about-contact-label{font-size:12px;color:#6a5a4a;letter-spacing:1px;min-width:70px}
.about-contact-value{font-size:13px;color:#c9a84c;letter-spacing:0.5px;flex:1}
.about-privacy-box{margin-bottom:14px;padding:16px;background:rgba(20,30,20,0.6);
  border:1px solid rgba(76,175,80,0.25);border-radius:12px}
.about-privacy-row{display:flex;gap:14px;margin-bottom:14px}
.about-privacy-row:last-child{margin-bottom:0}
.about-privacy-icon{font-size:16px;flex-shrink:0;padding-top:1px}
.about-privacy-content{flex:1}
.about-privacy-title{font-size:13px;color:#4caf50;letter-spacing:1px;margin-bottom:6px;font-weight:bold}
.about-privacy-text{font-size:13px;color:#9a8b7a;line-height:2;text-align:justify;letter-spacing:0.3px}
.about-privacy-highlight{color:#f5f5f5;font-weight:bold;background:rgba(255,255,255,0.08);padding:1px 4px;border-radius:3px}
.about-privacy-tag{color:#4caf50;font-weight:bold;background:rgba(76,175,80,0.12);padding:1px 5px;border-radius:3px}
.about-footer{text-align:center;font-size:11px;color:rgba(201,168,76,0.25);letter-spacing:3px;margin-top:16px}

/* ===== iOS添加桌面引导弹窗 ===== */
.ios-guide-overlay{position:fixed;inset:0;z-index:999999;
  background:rgba(0,0,0,0.85);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;opacity:0;pointer-events:none;transition:opacity 0.3s}
.ios-guide-overlay.show{opacity:1;pointer-events:all}
.ios-guide-card{
  background:linear-gradient(160deg,#1e1b14,#252118);
  border:1px solid rgba(201,168,76,0.3);border-radius:20px;
  padding:32px 24px;max-width:320px;width:100%;
  transform:scale(0.88) translateY(20px);transition:transform 0.35s cubic-bezier(0.34,1.56,0.64,1);
  box-shadow:0 24px 80px rgba(0,0,0,0.7)}
.ios-guide-overlay.show .ios-guide-card{transform:scale(1) translateY(0)}
.ios-guide-title{text-align:center;font-size:18px;color:#c9a84c;letter-spacing:4px;
  font-weight:bold;margin-bottom:8px}
.ios-guide-sub{text-align:center;font-size:12px;color:#6a5a4a;letter-spacing:2px;margin-bottom:24px}
.ios-guide-step{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.ios-guide-step-num{
  width:28px;height:28px;border-radius:50%;border:1.5px solid rgba(201,168,76,0.5);
  display:flex;align-items:center;justify-content:center;
  font-size:13px;color:#c9a84c;flex-shrink:0;font-weight:bold}
.ios-guide-step-arrow{text-align:center;color:#c9a84c;font-size:18px;margin:0 0 18px;animation:arrowBounce 1.5s ease-in-out infinite}
@keyframes arrowBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
.ios-guide-step-text{flex:1;padding-top:4px}
.ios-guide-step-title{font-size:14px;color:#e8d5b7;letter-spacing:1px;margin-bottom:4px;font-weight:bold}
.ios-guide-step-desc{font-size:12px;color:#9a8b7a;line-height:1.8;letter-spacing:0.3px}
.ios-guide-icon{text-align:center;margin-bottom:20px}
.ios-guide-icon svg{width:64px;height:64px}
.ios-guide-close{
  width:100%;margin-top:8px;padding:12px;background:rgba(201,168,76,0.1);
  border:1px solid rgba(201,168,76,0.3);border-radius:12px;
  color:#c9a84c;font-size:14px;letter-spacing:2px;cursor:pointer;
  transition:background 0.2s,transform 0.15s}
.ios-guide-close:active{background:rgba(201,168,76,0.2);transform:scale(0.97)}
