/* 页级样式：lenormand
   本页专属的页级规则写在此处，不写进 assets/css/style.css 的页级段（那一段是存量，只减不增）。
   引用在本页 HTML 内，排在按页样式之后；版本串由内容派生，不必手改。
   本档内 @media 块须排在顶层声明之后，否则窄屏终值被源序压掉。 */

.page-ln .btn:not(.soft):not(.btn-ghost),.page-ln .btn.gold{background:var(--ln);border-color:var(--ln);color:#fff;box-shadow:none}

.page-ln .leno-card{border-color:var(--ln-line);cursor:pointer;transition:background .15s}

.page-ln .leno-card:hover{background:var(--cal-hover)}

.page-ln .leno-k2{font-size:12px;color:var(--ln-ink);margin-top:var(--sp-1);line-height:1.5}

.page-ln .leno-hint{font-size:12px;color:var(--ln2);margin-top:var(--sp-1);word-break:keep-all}

.page-ln .leno-9{grid-auto-rows:1fr}

.page-ln .leno-box{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-2);max-width:640px;margin:0 auto var(--sp-4)}

.page-ln .leno-box .leno-card{max-width:none}

.page-ln .leno-gt{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:1fr;gap:var(--sp-2);max-width:1000px;margin:0 auto var(--sp-3)}

.page-ln .gt-tile{border:1px solid var(--ln-line);border-radius:0;background:var(--paper2);text-align:center;padding:var(--sp-2) var(--sp-1);cursor:pointer;transition:background .15s}

.page-ln .gt-tile:hover{background:var(--cal-hover)}

.page-ln .gt-h{font-size:11px;color:var(--ln2);line-height:1.5}

.page-ln .gt-em{font-size:30px;line-height:1.45}

.page-ln .gt-n{font-size:12.5px;font-weight:700;color:var(--ln-deep);line-height:1.5}

.page-ln .gt-k2{font-size:11px;color:var(--ln-ink);line-height:1.5;margin-top:var(--sp-1)}

.page-ln .gt-tile.sig{border-color:var(--ln);background:var(--ln-tint)}

.page-ln .gt-badge{display:inline-block;font-size:9.5px;background:var(--ln);color:#fff;border-radius:0;padding:0 4px;line-height:1.5;margin-top:var(--sp-1)}

.page-ln .leno-combo{font-size:12px;color:var(--ln2);line-height:1.6;margin-bottom:var(--sp-1)}

.page-ln .leno-struct{margin-top:var(--sp-2);font-size:12.5px;color:var(--ln-ink);line-height:1.8}

.page-ln .leno-struct b{color:var(--ln2);font-weight:400}

.page-ln .ln-table{width:100%;border-collapse:collapse;margin-top:var(--sp-2);font-size:13px;border-top:1px solid var(--ln-line)}

.page-ln .ln-table th,.page-ln .ln-table td{border:0;border-bottom:1px solid var(--ln-line);padding:7px 9px;text-align:left;line-height:1.75;vertical-align:top}

.page-ln .ln-table thead th{background:transparent;color:var(--ln2);font-weight:400;white-space:nowrap}

.page-ln .ln-table td.k{width:110px;color:var(--ln2)}

#lnMask{position:fixed;inset:0;background:rgba(32,38,12,.55);display:none;align-items:center;justify-content:center;z-index:99;padding:var(--sp-3)}

#lnMask.on{display:flex}

.ln-modal{position:relative;background:var(--paper2);max-width:640px;width:100%;max-height:86vh;overflow:auto;border:1px solid var(--ln-line);border-radius:0;padding:var(--sp-4);box-shadow:none}

.page-ln .lm-close{position:absolute;top:8px;right:12px;font-size:26px;line-height:1;color:var(--ink2);cursor:pointer;padding:4px}

.page-ln .lm-close:hover{color:var(--ln2)}

.page-ln .lm-head{display:flex;gap:var(--sp-3);align-items:flex-start}

.page-ln .lm-em{width:96px;height:96px;flex:0 0 96px;display:flex;align-items:center;justify-content:center;font-size:52px;border-radius:0;background:var(--ln-tint);border:1px solid var(--ln-line);box-shadow:none}

.page-ln .lm-b h3{margin:0 0 var(--sp-1);color:var(--ln-deep);font-size:20px}

.page-ln .lm-en{font-size:12px;color:var(--ink2);font-style:italic;font-weight:400}

.page-ln .lm-tags{display:flex;flex-wrap:wrap;gap:var(--sp-1);margin-bottom:var(--sp-2)}

.page-ln .lm-tags span{font-size:11px;border:1px solid var(--ln-line);border-radius:0;padding:1px 8px;color:var(--ln-ink);background:var(--ln-tint)}

.page-ln .lm-b p{margin:0 0 var(--sp-1);font-size:13px;line-height:1.7}

.page-ln .lm-kw b,.page-ln .lm-core b,.page-ln .lm-time b,.page-ln .lm-person b{color:var(--ln2);font-weight:400}

.page-ln .lm-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--sp-2);margin-top:var(--sp-3)}

.page-ln .lm-dom{border:1px solid var(--ln-line);border-radius:0;padding:var(--sp-2) var(--sp-3);background:var(--paper)}

.page-ln .lm-dom h4{margin:0 0 var(--sp-1);font-size:13px;color:var(--ln2);font-weight:700}

.page-ln .lm-dom p{margin:0;font-size:12.5px;line-height:1.7}

.page-ln .lm-pos{margin-top:var(--sp-3);font-size:12.5px;color:var(--ln-ink);line-height:1.7}

.page-ln .lm-pos b{color:var(--ln2);font-weight:400}

@media(max-width:760px){
  /* 表单竖排：牌阵、指标牌、所问之事、抽牌各占一行，随页宽自适应（容器 .wrap 限宽，不超过桌面版宽） */
  .page-ln .page > .form-row{flex-direction:column;align-items:stretch}
  .page-ln .page > .form-row .field{flex:1 1 100%;width:100%;min-width:0;max-width:none}
  .page-ln .page > .form-row .field input,.page-ln .page > .form-row .field select{width:100%;max-width:none}
  /* 牌阵与指标牌两下拉按选项文字取宽：铺满一行则框宽数倍于文字，右侧空出大半。
     随内容定宽，视口不足时由 max-width 收窄；竖排容器里 align-self 让字段不跟着拉伸。
     所问之事为长文本输入框，整行铺满系其本分，不在此列。 */
  .page-ln .page > .form-row .field:has(#spread),.page-ln .page > .form-row .field:has(#sig){flex:0 0 auto;width:auto;align-self:flex-start}
  .page-ln .page > .form-row .field:has(#spread) select,.page-ln .page > .form-row .field:has(#sig) select{width:auto;max-width:100%}
  /* 抽牌钮占满一行：列向容器里 flex-basis 即主轴（高），写百分比会盖掉 .btn 的 30px 定高，故取 auto */
  .page-ln .page > .form-row .btn{flex:0 0 auto;width:100%}
  .page-ln .leno-box{grid-template-columns:repeat(2,1fr)}
  /* 大全景移动端：3 列放大砖块 */
  .page-ln .leno-gt{grid-template-columns:repeat(3,1fr)}
  .page-ln .gt-tile{padding:var(--sp-1) 2px}
  .page-ln .gt-h{font-size:9.5px}
  .page-ln .gt-em{font-size:26px}
  .page-ln .gt-n{font-size:11px}
  .page-ln .gt-k2{font-size:10px}
  .page-ln .lm-head{flex-direction:column}
  .page-ln .lm-em{width:72px;height:72px;flex-basis:72px;font-size:40px}
  .page-ln .lm-grid{grid-template-columns:1fr}
  .page-ln .ln-table th,.page-ln .ln-table td{padding:5px 6px}
  .page-ln .ln-table td.k{width:72px}
  /* 统计行的断行落在分号与顿号处，末字不再独占一行 */
  .page-ln .ln-table td{word-break:keep-all}
}

@media print{
  #lnMask{display:none!important}
  .page-ln .leno-card,.page-ln .gt-tile{page-break-inside:avoid}
}

.page-ln .page h1{color:var(--ln-deep);font-family:var(--ln-serif);font-size:23px;letter-spacing:.3em;text-indent:.3em;text-align:center;line-height:1.3}/* 页头细线：上下各一条 88px 夹题，卷首说明末尾 26px 竖线收束 */

.page-ln .page h1::before{content:'';display:block;width:88px;height:1px;background:var(--ln-line);margin:0 auto var(--sp-3)}

.page-ln .page h1::after{content:'';display:block;width:88px;height:1px;background:var(--ln-line);margin:var(--sp-3) auto 0}

.page-ln .page .lead::after{background:var(--ln-line)}

.page-ln .page .lead{color:var(--ln-ink2);text-align:center;font-size:12.5px;letter-spacing:.22em;text-indent:.22em;margin-top:var(--sp-3)}

.page-ln .rel-title{color:var(--ln2)}

.page-ln .ly-zh-p{color:var(--ln-ink)}

.page-ln .sub-note{color:var(--ln-ink2)}

.page-ln .tr-stats{color:var(--ln-ink)}

.page-ln .page > .form-row .field label{color:var(--ln2);font-weight:400}

.page-ln .page > .form-row .field input,.page-ln .page > .form-row .field select{border-color:var(--ln-line);transition:border-color .15s}

.page-ln .page > .form-row .field input:focus,.page-ln .page > .form-row .field select:focus{border-color:var(--ln);outline:none}

.page-ln .page > .form-row .btn.gold{background:var(--ln);border-color:var(--ln);box-shadow:none}

.page-ln .page > .form-row .btn.gold:hover{background:var(--ln2);border-color:var(--ln2);box-shadow:none}

.page-ln .leno-name{color:var(--ln-deep)}

.page-ln .leno-pos{color:var(--ln2)}

.page-ln .leno-k{color:var(--ln-ink)}

.page-ln .info-box{background:transparent;border:0;border-top:1px solid var(--ln-line);border-radius:0;box-shadow:none}

.page-ln .info-box h4{color:var(--ln2);letter-spacing:.5px}

.page-ln .info-box p{color:var(--ln-ink)}

.page-ln .ai-block{
  border:0;border-top:1px solid var(--ln-line);border-bottom:1px solid var(--ln-line);border-radius:0;
  background:transparent;color:var(--ln-ink);box-shadow:none;
}

.page-ln .ai-head{background:transparent;border-bottom-color:var(--ln-line)}

.page-ln .ai-head h3{color:var(--ln2)}

.page-ln .ai-block .btn{background:var(--ln);color:#fff}

.page-ln .ai-block .btn:hover{background:var(--ln2)}

.page-ln .ai-block .btn.gold,.page-ln .ai-block .btn.soft{background:var(--ln-tint);border-color:var(--ln-line);color:var(--ln-ink);box-shadow:none}

.page-ln .ai-block .btn.gold:hover,.page-ln .ai-block .btn.soft:hover{background:var(--card);border-color:var(--ln-line);color:var(--ln2)}

.page-ln .ai-block .ai-out,.page-ln .ai-block .ai-bubble.user,.page-ln .ai-block .ai-bubble.assistant,.page-ln .ai-block .ai-model-name,.page-ln .ai-block input,.page-ln .ai-block select{color:var(--ln-ink)}

.page-ln .ai-tab.active{background:var(--ln);border-color:var(--ln);color:#fff}

.page-ln .ai-bubble.user{background:var(--ln-tint);border-color:var(--ln)}

.page-ln .ai-bubble.assistant{border-color:var(--ln-line)}

@media print{
  .page-ln .leno-card,.page-ln .info-box,.page-ln .page > .form-row{background:var(--card) !important;box-shadow:none !important;border-color:var(--line) !important}
}

@media (prefers-color-scheme: dark){
  html .page-ln {
    --ln:#a0b642;
    --ln2:#9eba3a;
    --ln-deep:#e0e3d3;
    --ln-ink:#d2d5ce;
    --ln-accent:#c1cc77;
    --ln-line:#4f523c;
    --ln-tint:#2e2f1e;
    --ln-ink2:#a8ab9c;
  }
}

/*
   雷诺曼以 36 张直白预言卡、四叶草苜蓿小幸运为记，主题取苔青（四叶草绿）主色，
   与站内其他页面主题色区分（八字松青、姓名玉青、小六壬苍青均不同族）；
   牌名编号按古典牌面墨印改深墨（传统法系牌名黑体铅印，非红），牌面 emoji 图保留 */

.page-ln{
  --ln:#6b7a2c;          /* 苔青主色（四叶草绿） */
  --ln2:#55641f;         /* 深苔青：hover与强调 */
  --ln-deep:#353f12;     /* 苔墨：大标题字色 */
  --ln-ink:#3d4330;      /* 苔灰墨：正文字色 */
  --ln-accent:#9aa83f;   /* 嫩芽亮绿（装饰用） */
  --ln-line:#e0e4c8;     /* 苔青浅线 */
  --ln-tint:#f6f7ea;     /* 苔纸淡底 */
  --ln-ink2:#676d4f;  /* 次级字色：卷首说明、副注、标注 */
  --ln-serif:var(--font-serif);  /* 卷首宋体：页头与题名 */
  --gold2:var(--ln2); --gold:var(--ln); --gold-brown:var(--ln2); --gold-bg:var(--ln-tint);
  --line:var(--ln-line);--ink:var(--ln-ink)
}

/* 日期弹框主题（字面量，本页无日期输入，按全站口径一并提供） */
.dtm-ln{--tk:#6b7a2c;--tk2:#55641f;--tk-ink:#3d4330;--tk-line:#e0e4c8;--tk-tint:#f6f7ea}

/* ===== lenormand 页专属：.leno- 族 ===== */
/* 雷诺曼 */
.leno-row{display:flex;gap:var(--sp-2);flex-wrap:wrap;justify-content:center;margin-bottom:var(--sp-4)}
.leno-9{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-2);max-width:420px;margin:0 auto var(--sp-4)}
.leno-card{border:1px solid var(--line);border-radius:0;padding:var(--sp-3) var(--sp-2);text-align:center;background:var(--paper2);flex:1 1 110px;max-width:150px}
.leno-9 .leno-card{max-width:none}
.leno-pos{font-size:11px;color:var(--ink2)}
.leno-em{font-size:34px;line-height:1.3}
.leno-name{font-size:15px;font-weight:800;color:var(--red2)}
.leno-k{font-size:12px;color:var(--ink2);margin-top:var(--sp-1);line-height:1.5}
.leno-lead{color:var(--gold2);font-weight:400}
  .leno-9{gap:var(--sp-1)}
  .leno-9 .leno-card{padding:var(--sp-2) var(--sp-1)}
  .leno-9 .leno-em{font-size:26px}
  .leno-9 .leno-name{font-size:13px}
  .leno-9 .leno-k{font-size:11px}

/* page-font:begin */
@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/pages/lenormand-0.woff2) format("woff2");unicode-range:U+4e0a, U+4e24, U+4e2d, U+4e32, U+4e49, U+4e5d, U+4e86, U+4e8b, U+4e8e, U+4e92, U+4ea4, U+4eab, U+4eae, U+4eba, U+4ecd-4ece, U+4ed6, U+4ee3, U+4f30, U+4f4d, U+4f5c, U+4f60, U+4f73, U+4fdd, U+4fef, U+500d, U+501f, U+504f, U+505a, U+505c, U+50cf, U+514b, U+5168, U+5173, U+5176, U+518d, U+51b3, U+51b5, U+51cf, U+51f6, U+51fb, U+5207, U+5217, U+5224, U+5236-5237, U+529b, U+529f-52a0, U+52a8-52a9, U+52bf, U+533a, U+534f, U+5357, U+5361, U+5373, U+538b, U+53bb, U+53ca, U+53cc-53cd, U+53d1, U+53d8-53d9, U+53e0, U+53e5, U+53ef, U+53f2-53f3, U+5404, U+5409, U+5411, U+5426, U+542b, U+547c, U+54cd, U+5546, U+56e0, U+56f4, U+56fe, U+573a, U+5747, U+5782, U+578b, U+57ab, U+57df, U+57fa, U+5883, U+5904, U+590d, U+5916, U+591a, U+592e, U+5934, U+5973, U+5979, U+597d, U+5982, U+59ff, U+5b58, U+5b89, U+5b8c, U+5b98, U+5b9e, U+5bab, U+5bb9, U+5bdf, U+5c06, U+5c11, U+5c31, U+5c3e, U+5c40, U+5c42, U+5c45, U+5c55, U+5c5e, U+5de6, U+5df1-5df2, U+5e03, U+5e73, U+5e76, U+5e8f, U+5e94, U+5ea6, U+5f15, U+5f20, U+5f39-5f3a, U+5f52-5f53, U+5f62, U+5f71, U+5f80, U+5f84, U+5f97, U+5fc3, U+6001, U+6025, U+6027, U+603b, U+606f, U+60c5, U+60f3, U+610f, U+614e, U+6211, U+6240, U+6251, U+6253, U+6263, U+6267, U+626f, U+6279, U+627f, U+628a, U+62bd, U+6301, U+6307, U+63a8, U+63d0, U+6469, U+64e6, U+6536, U+653e, U+655b, U+6574, U+65ad, U+65b0, U+65b9, U+65e0, U+65e7, U+6620, U+662f, U+663e, U+666f, U+6687, U+66f4, U+6700, U+671b, U+671f, U+672b-672c, U+675f, U+6761, U+6765, U+6784, U+679d, U+6807, U+6838-6839, U+683c, U+6848, U+6853, U+68d8, U+6b21, U+6b62-6b65, U+6bb5, U+6c1b, U+6c9f, U+6cbf, U+6ce2, U+6ce8, U+6d17, U+6d3b, U+6d41, U+6d88, U+6da9, U+6de1, U+6e05, U+6e10, U+6ede, U+7126, U+7136, U+7167, U+7248, U+7269, U+7275, U+72b6, U+73af-73b0, U+7537, U+7559, U+75c7, U+767d, U+7684, U+7686, U+76ee, U+76f4, U+770b, U+773c, U+7740, U+77b0, U+7816, U+786c, U+786e, U+788d, U+793a, U+79ef-79f0, U+7a0b, U+7a33, U+7a7f, U+7a97, U+7b2c, U+7b54, U+7bb1, U+7bc7, U+7cfb, U+7d2f, U+7eb2, U+7eb5, U+7ebf, U+7ec4, U+7ec6, U+7ec8, U+7ed5, U+7ed9, U+7edc, U+7edf, U+7ef4, U+7efc, U+7f18, U+8005, U+800c, U+8017, U+8054, U+80af, U+80cc, U+80fd, U+8109, U+81f3, U+8272, U+82e5, U+8303, U+843d, U+84c4, U+8513, U+8861, U+8868, U+8981, U+89c1-89c2, U+89c4, U+89d2, U+8a00, U+8ba1, U+8ba4, U+8baf, U+8bbe, U+8bc1, U+8bc4, U+8bcd, U+8bdd, U+8be5-8be6, U+8bed, U+8bfb, U+8bfe, U+8c03, U+8c28, U+8c61, U+8d2f, U+8d34, U+8d5e, U+8d70, U+8d77, U+8d8b, U+8def, U+8eab, U+8f6c, U+8f6e, U+8f74, U+8f83, U+8fc7, U+8fd1, U+8fd9, U+8fdb-8fdc, U+8fde, U+9000, U+9009, U+9010, U+9012, U+901a, U+907f, U+90bb, U+9192, U+91cc-91cd, U+91cf, U+94b1, U+94fa, U+94fe, U+9501, U+9519, U+952e, U+955c, U+957f, U+95ee, U+95f4, U+9635, U+963b, U+9664, U+968f, U+96be, U+9700, U+975e, U+9879-987a, U+987e-987f, U+9884, U+9886, U+9898, U+9a6c, U+9a8c, U+9aa8, U+9ed8}
/* page-font:end */

@media (prefers-color-scheme: dark){
  .page-ln .btn.gold{color:#1a1a1a}
}
