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

.page-daoli .page h1{color:var(--dao-deep);font-family:var(--font-serif);font-size:23px;
  letter-spacing:.3em;text-indent:.3em;text-align:center;line-height:1.3}

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

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

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

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

.page-daoli .cal-query-flow > .form-row{
  background:none;border:0;border-radius:0;
  padding:0;margin:0;box-shadow:none;
  align-items:flex-end;justify-content:flex-start;
}

.page-daoli .cal-query-flow > .form-row .field{flex:0 0 auto;width:auto;max-width:none;
  flex-direction:column;align-items:flex-start;gap:var(--sp-1)}

.page-daoli .cal-query-flow > .form-row .field .dt-wrap{width:auto}

.page-daoli .cal-query-flow > .form-row .field label{color:var(--dao2);font-weight:400;margin:0;white-space:nowrap}

.page-daoli .cal-query-flow > .form-row .field input{border-color:var(--dao-line);border-radius:0;padding:4px 10px;
  transition:border-color .15s,box-shadow .15s}

.page-daoli .cal-query-flow > .form-row .field input:focus{border-color:var(--dao);outline:none}

.page-daoli .cal-query-flow > .form-row .btn.gold{background:var(--dao);border-radius:0;padding:5px 14px;box-shadow:none;margin-bottom:0}

.page-daoli .cal-query-flow > .form-row .btn.gold:hover{background:var(--dao2)}

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

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

.page-daoli .cal-nav{margin:var(--sp-3) 0 var(--sp-2)}

.page-daoli .cal-title{color:var(--dao-deep);font-family:var(--font-serif);font-weight:400;font-size:19px;letter-spacing:.2em;text-indent:.2em;padding:0 var(--sp-2)}

.page-daoli .nav-btn{background:transparent;border-color:transparent;color:var(--dao);border-radius:0}

.page-daoli .nav-btn:hover{background:var(--dao-tint);border-color:transparent;color:var(--dao2);box-shadow:none}

.page-daoli .nav-btn:focus-visible{border-color:var(--dao);outline:none}

.page-daoli .cal-grid .wd{color:var(--dao);font-family:var(--font-serif);font-weight:400;
  letter-spacing:.12em;border-bottom:1px solid var(--dao-line);padding-bottom:var(--sp-1)}

.page-daoli .cal-cell.today{background:var(--dao);box-shadow:none}

.page-daoli .cal-cell.today.zhai{background:var(--dao)}

.page-daoli .cal-cell.zhai{background:transparent}

.page-daoli .cal-cell .festival{color:var(--red);font-weight:400}

.page-daoli .cal-cell.selected:not(.today){background:var(--dao-tint);border-color:var(--dao)}

.page-daoli .cal-cell:hover:not(.today){background:#e9e9ef}

.page-daoli .cal-cell.today:hover{background:var(--dao2)}

.page-daoli .cal-cell .festival+.ld{display:block}

.page-daoli .cal-cell .ld{color:var(--dao-ink2)}

.page-daoli .cal-cell.weekend .sd-num{color:var(--red)}

.page-daoli .cal-cell .mk-z{left:var(--sp-1);color:var(--red)}

.page-daoli .cal-cell .mk-d{right:var(--sp-1);color:var(--dao)}

.page-daoli .today-card{
  position:relative;overflow:hidden;
  background:transparent;
  border:0;border-top:1px solid var(--dao-line);border-bottom:1px solid var(--dao-line);
  border-radius:0;
  box-shadow:none;
  padding:var(--sp-4) 0;
}

.page-daoli .today-top{flex-direction:column;gap:var(--sp-3)}

.page-daoli .big-date{display:flex;flex-direction:column-reverse;align-items:center}

.page-daoli .big-date .d{color:var(--dao);font-family:var(--font-serif);font-weight:400;font-size:42px}

.page-daoli .big-date .ym{font-size:12.5px;letter-spacing:.2em;text-indent:.2em;color:var(--dao-ink2)}

.page-daoli .lunar-info .ln{color:var(--dao-deep);font-family:var(--font-serif);font-weight:400;
  font-size:22px;letter-spacing:.14em;text-indent:.14em}

.page-daoli .lunar-info .zodiac{font-size:12px;letter-spacing:.06em;color:var(--dao-ink2);margin-top:var(--sp-2)}

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

.page-daoli .dao-info{margin-top:var(--sp-3);columns:2;column-gap:var(--sp-5);
  font-size:14px;border-top:1px solid var(--dao-line)}

.page-daoli .dao-i{display:flex;gap:var(--sp-3);padding:var(--sp-2) 0;border-bottom:1px solid var(--dao-line);
  break-inside:avoid;page-break-inside:avoid}

.page-daoli .dao-i.wide{column-span:all}

.page-daoli .dao-i>.k{flex:0 0 88px;color:var(--dao2);letter-spacing:.5px}

.page-daoli .dao-i>.v{flex:1;min-width:0;color:var(--dao-ink);line-height:1.7}

.page-daoli .dao-i>.v.yi{color:var(--green)}

.page-daoli .dao-i>.v.yi .tip{color:var(--green)}

.page-daoli .dao-i>.v.yi .tip:hover{color:var(--green);background:rgba(31,122,61,.12)}

.page-daoli .dao-i>.v.ji,.page-daoli .dao-i .ji{color:var(--red)}

.page-daoli .dao-info .dao-br{display:inline-block;width:.9em}

.page-daoli .ngw{white-space:nowrap}

.page-daoli .fold-block>summary.rel-title{margin-top:0}

.page-daoli .fold-block>summary.rel-title::before{color:var(--dao-purple)}

.page-daoli .fei-block{background:transparent;border:none;box-shadow:none}

.page-daoli .fei-cell{background:transparent;border-color:var(--dao-line);border-radius:0}

.page-daoli .fei-cap{color:var(--dao2);font-family:var(--font-serif);font-weight:400}

.page-daoli .rel-title{color:var(--dao-deep)}

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

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

.page-daoli .ai-head h3{color:var(--dao2);font-family:var(--font-serif);font-weight:400}

.page-daoli .ai-head .ai-status{color:var(--dao-ink2)}

.page-daoli .ai-block .btn{background:var(--dao);border-radius:0}

.page-daoli .ai-block .btn:hover{background:var(--dao2)}

.page-daoli .ai-block .btn.gold,.page-daoli .ai-block .btn.soft{background:var(--dao-tint);border-color:var(--dao-line);color:var(--dao-ink)}

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

.page-daoli .ai-tab{border-radius:0}

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

.page-daoli .ai-block input,.page-daoli .ai-block select{color:var(--dao-ink)}

.page-daoli .ai-tab:hover{border-color:var(--dao);color:var(--dao2)}

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

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

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

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

.page-daoli .ai-model-row:hover{background:var(--dao-tint)}

.page-daoli .ai-tip{color:var(--dao-ink2)}

@media(max-width:640px){
  .page-daoli .big-date .d{font-size:36px}
  .page-daoli .lunar-info .ln{font-size:19px}
  .page-daoli .dao-info{columns:1}
  /* 值按标点整段换行，末字不再独占一行（吉神宜趋一类的顿号列举最容易掉一个单字到下一行） */
  .page-daoli .dao-i>.v{word-break:keep-all}
  /* 窄屏单栏，标签栏收到 72px（最长标签四字约 58px），值栏多出 16px */
  .page-daoli .dao-i>.k{flex:0 0 72px}
  .page-daoli .dao-info .dao-br{display:block;height:0;width:0}
  /* -oneline 字段按段装箱：分段符作行内间隙，段按可用宽度入行。
     段（.dao-s）自成不可断行的行内盒，折行只落在段与段之间。 */
  .page-daoli .dao-info .dao-i.dao-oneline .dao-br{display:inline-block;width:.5em}
  .page-daoli .dao-info .dao-i.dao-oneline .dao-s{display:inline-block}
  /* 手机端隐去节日行（同佛历口径）：格宽 43px 放不下汉字，本页节日名更长
     （如"财帛星君文财神增福相公李诡祖圣诞"十四字），一律被截成带省略号的残句，比不显示更难看。
     隐去后每格只剩日期、道历日与吉诞两角标。全名改由点开取：点该格即选中，圣诞圆盘详情条逐日给
     "逢<神仙圣诞全名>；道教吉日：…"，比格内一行首名更全；道教吉日另由左角标"吉"先点出。
     注意 .festival+.ld 是相邻选择器，按 DOM 次序匹配，与本行是否显示无关，道历日不受影响。 */
  .page-daoli .cal-cell .festival{display:none}
}

@media print{
  .page-daoli .today-card,.page-daoli .ai-block,.page-daoli .fold-block{background:var(--card) !important;box-shadow:none !important;border-color:var(--line) !important}
  .page-daoli .cal-grid .wd{border-bottom-color:var(--line)}
}

@media (prefers-color-scheme: dark){
  html .page-daoli {
    --dao:#5c6482;
    --dao2:#a8b2d8;
    --dao-deep:#d9dade;
    --dao-ink:#ced0d4;
    --dao-ink2:#9fa1a8;
    --dao-purple:#9476b3;
    --dao-line:#44454b;
    --dao-tint:#22242a;
    --paper:#17171a;
    --card:#1d1d20;
    --ink2:#aea698;
    --cal-hover:#2a2a2e;
    --cal-selected:#333338;
  }
  body:has(.page-daoli){background:#17171a;color:#d6d2cd}
  .page-daoli .cal-cell:hover:not(.today){background:var(--dao-tint)}
}

/*
   与前三页同构的高级卡片语言，配色独立换为 玄青（玄门尚玄）主色 + 紫炁点缀（紫炁东来）；
   宜绿、忌红、节气绿等语义色保留 */

.page-daoli{
  --dao:#3a3f52;           /* 玄青主色 */
  --dao2:#2c3040;          /* 深玄青：hover/强调 */
  --dao-deep:#232734;      /* 玄墨：大标题字色 */
  --dao-ink:#363b47;       /* 玄墨灰：正文字色（比纯黑柔和、与主题同族） */
  --dao-ink2:#555a68;      /* 玄青次级字：卷首说明、农历日、副注、AI 状态字 */
  --dao-serif:var(--font-serif);   /* 卷首宋体：随全站主字体 */
  --dao-purple:#6b4d8a;    /* 紫炁：本页第二点缀色，只留九宫飞星折叠三角一处 */
  --dao-line:#d4d6dd;      /* 玄青浅线 */
  --dao-tint:#f3f4f7;      /* 玄青淡底 */
  --foot-ink:var(--dao2);  /* 页脚注记：本页主色深档 */
  /* 全站强调令牌族在本页一律落到玄青族：表格加粗、年月导航钮、折叠框标题、右侧直达箭头等
     共享规则由此一次对齐，不会漏出全站鎏金 */
  --gold:var(--dao);
  --gold2:var(--dao2);
  --gold-brown:var(--dao2);
  --gold-bg:var(--dao-tint);

  /* 圆盘令牌（双圆盘区：十二时辰吉凶盘 + 圣诞圆盘）：骨架与尺寸走通用件 .wheel，此处只绑本页色；
     吉凶两色供时辰盘外圈时辰名与盘心吉凶字的 fill:var(--wheel-good) 与 fill:var(--wheel-bad) 取用 */
  --wheel-serif:var(--dao-serif);
  --wheel-line:var(--dao-line);
  --wheel-arc:var(--dao);
  --wheel-ink:var(--dao-ink);
  --wheel-deep:var(--dao-deep);
  --wheel-ink2:var(--dao-ink2);
  --wheel-cur:var(--dao);
  --wheel-core:var(--dao-tint);
  --wheel-h4:var(--dao2);
  --wheel-good:var(--green);
  --wheel-bad:var(--red);
  --line:var(--dao-line);--ink:var(--dao-ink)
}

.dtm-daoli{--tk:#3a3f52;--tk2:#2c3040;--tk-ink:#363b47;--tk-line:#d4d6dd;--tk-tint:#f3f4f7}

/* page-font:begin */
@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/pages/daoli-0.woff2) format("woff2");unicode-range:U+4e01, U+4e0a, U+4e11, U+4e13-4e14, U+4e19-4e1a, U+4e1c, U+4e22, U+4e24, U+4e27, U+4e2a, U+4e2d, U+4e30, U+4e32, U+4e34, U+4e43, U+4e49, U+4e5d, U+4e66, U+4e7e, U+4e86, U+4e8b, U+4e8e, U+4e92, U+4e95, U+4ea1, U+4ea4-4ea5, U+4ea8, U+4eab-4eac, U+4eae, U+4eba, U+4eca, U+4ecd-4ece, U+4ed9, U+4ee4, U+4ef2, U+4ef6, U+4efd, U+4f0f-4f10, U+4f18, U+4f20, U+4f46, U+4f4d, U+4f55, U+4f5c, U+4f8b, U+4f9d, U+4fa7, U+4fdd, U+4fee, U+5012, U+5019, U+503c, U+504f, U+505c, U+50cf, U+5143, U+5149, U+514b, U+514d, U+5151, U+5154, U+515c, U+5168, U+5173, U+5176, U+517c-517d, U+5185, U+518d, U+5192, U+5199, U+519b-519c, U+51a0, U+51ac, U+51b2, U+51cf, U+51e0-51e1, U+51f6, U+51fb, U+51fd, U+5207, U+5211, U+5217, U+5219, U+521d, U+5224, U+5229, U+522b, U+5236-5237, U+523b, U+5251, U+5265, U+529f-52a0, U+52a8-52a9, U+5305, U+5317, U+533a, U+5347-5348, U+534a, U+534f, U+5357, U+5366, U+536f, U+5371, U+5373, U+538b, U+53bb, U+53c8, U+53cb-53cd, U+53d1, U+53d8, U+53e0, U+53e3, U+53e5-53e6, U+53ea, U+53ef, U+53f2-53f3, U+53f7-53f8, U+5403-5404, U+5409, U+5411, U+541b, U+541e, U+5426, U+542b, U+5448, U+54b8, U+54f2, U+552f, U+5582, U+559c, U+55d1, U+5668, U+566c, U+56f0, U+56f4, U+56fa, U+56fe, U+5706, U+5708, U+571f, U+5723, U+5730, U+574e-574f, U+5757, U+5764, U+578b, U+57df, U+57fa, U+589e, U+58ee, U+5904, U+5907, U+590d, U+590f, U+5916, U+591c, U+5929, U+592c, U+5934, U+5937, U+5957, U+597d, U+5982, U+5984, U+5999, U+59b9, U+59e4, U+5b50, U+5b58, U+5b5a, U+5b5f, U+5b63, U+5b83, U+5b88-5b89, U+5b9e, U+5ba4, U+5bab, U+5bb3, U+5bb6, U+5bb9, U+5bbd, U+5bc5, U+5bd2, U+5c04, U+5c06, U+5c0a, U+5c31, U+5c42, U+5c45, U+5c4b, U+5c5e, U+5c65, U+5c6f, U+5c71, U+5de6, U+5dee, U+5df1-5df3, U+5dfd, U+5e03, U+5e08, U+5e1d, U+5e26, U+5e38, U+5e72-5e73, U+5e76, U+5e86, U+5e8a, U+5e8f, U+5e94, U+5e9a, U+5e9c, U+5ea6-5ea7, U+5efa, U+5eff, U+5f15, U+5f20, U+5f27, U+5f39-5f3a, U+5f52-5f53, U+5f62, U+5f6d, U+5f84-5f85, U+5f8b, U+5f97, U+5faa, U+5fb7, U+5fc3, U+5fc5-5fc6, U+5fcc, U+5fcf, U+6001, U+602a, U+6052, U+606f, U+60ac, U+60c5, U+620a, U+620c, U+6212, U+623f-6240, U+6247, U+624d, U+6253, U+6267, U+6269, U+627f, U+6284, U+628a, U+6298, U+62c5, U+62fc, U+6301, U+6307, U+635f, U+6362, U+6389, U+63cf-63d0, U+642c, U+6447, U+6491, U+64ce, U+652f, U+6536, U+6539, U+653e, U+6545, U+6559, U+6563, U+6574, U+658b, U+65b0, U+65b9, U+65c5, U+65e0, U+65e2, U+65e7, U+65e9, U+65ec, U+6620, U+662f, U+664b, U+666e, U+6682, U+6697, U+66dc, U+66f4, U+6700, U+6708, U+6714, U+671b, U+671d, U+671f, U+6728, U+672b-672c, U+6743, U+6761, U+6765, U+6784, U+67a2, U+67b6, U+67d3, U+67e5, U+67f1, U+6807, U+680f, U+6816, U+683c-683d, U+6846, U+6881, U+68c0, U+690d, U+69fd, U+6a2a, U+6b21, U+6b4c, U+6b62-6b64, U+6bb5, U+6bcd, U+6bcf, U+6bd4, U+6c42, U+6cbf, U+6ce8, U+6cf0, U+6cfd, U+6d1e, U+6d3e, U+6d41, U+6d4e, U+6d88, U+6da3, U+6de1, U+6df7, U+6e05, U+6e10, U+6e20, U+6e38, U+6ee1, U+706b, U+7081, U+70c2, U+70ed, U+711a, U+7126, U+715e, U+7167, U+725b, U+7269, U+7279, U+72ac, U+72af, U+72d7, U+72ec, U+732a, U+7389, U+7391, U+73af-73b0, U+7487, U+7533, U+753b, U+754c, U+7559, U+755c, U+7678, U+767d-767e, U+7684, U+7686, U+76ca, U+76d2, U+76d6, U+76ee, U+76f4, U+76fe, U+770b, U+771f, U+773c, U+7740, U+777d, U+77db, U+7801, U+7834, U+7840, U+78a7, U+793c, U+7940, U+7956, U+796d, U+7981, U+7984, U+798f, U+79bb, U+79bd, U+79c1, U+79cb, U+79cd, U+79d1, U+79f0, U+79fb, U+7a20, U+7a97, U+7acb, U+7ad9, U+7aef, U+7b2c, U+7b49, U+7b5b, U+7c7b, U+7c97, U+7cfb, U+7d20, U+7d22, U+7ea6-7ea7, U+7eaa, U+7eaf, U+7eb3, U+7ebf, U+7ec4, U+7ec6, U+7ec8, U+7ed9, U+7edd, U+7eff, U+7f3a, U+7fb2, U+7fc1, U+7ffb, U+8005, U+800c, U+8017, U+805a, U+80ce, U+80fd, U+814a, U+81f3-81f4, U+820d, U+826e, U+8272, U+8282, U+8339, U+8403, U+8428, U+843d, U+846c, U+8499, U+864e, U+86ca, U+874e, U+8861, U+8865, U+8868, U+88ab, U+88c5, U+897f, U+8981, U+89c1-89c2, U+89c4, U+89c6, U+89c8, U+89d2, U+89e6}
@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/pages/daoli-1.woff2) format("woff2");unicode-range:U+8ba1, U+8ba4, U+8ba9, U+8bb0, U+8bbc, U+8bbe, U+8bc0, U+8bcd, U+8bd7, U+8bdd-8bde, U+8be2, U+8be5-8be6, U+8bed, U+8bef, U+8bf5, U+8bf8, U+8bfb, U+8c03, U+8c26, U+8c61, U+8c6b, U+8c7a, U+8c8c, U+8d1e, U+8d22, U+8d27, U+8d32, U+8d35, U+8d4b, U+8d64, U+8d66, U+8d70, U+8d74, U+8d77, U+8d8b, U+8ddd, U+8de8, U+8def, U+8e47, U+8f66, U+8f6c, U+8f6e, U+8f7d, U+8f85, U+8f93, U+8f9b, U+8f9e-8f9f, U+8fa8, U+8fb0, U+8fb9, U+8fc7, U+8fd1, U+8fd9, U+8fdb, U+8fde, U+8ff0, U+9000, U+9006, U+9009, U+9010, U+901a, U+9020, U+9022, U+90a3, U+90fd, U+9149, U+91ae, U+91c7, U+91ca, U+91cc-91cd, U+91cf, U+91d1, U+9488, U+949f, U+94a9, U+94fa, U+94fe, U+950b, U+951a, U+952e, U+957f, U+95ed, U+95f0, U+95f4, U+964d, U+9650, U+9664, U+968f-9690, U+9694, U+96ea, U+9700, U+9707, U+971c, U+9732, U+9752, U+975e, U+9769, U+97f3, U+9879-987a, U+9884, U+9890, U+9898, U+98de-98df, U+996e, U+9999, U+9a6c, U+9aa8, U+9ad8, U+9b42, U+9e21, U+9ed1, U+9f0e, U+9f20, U+9f99}
/* page-font:end */
