:root{--red:#bb2d43;--red-deep:#8f1f32;--red-soft:#f4d9d7;--ink:#161616;--muted:#705f58;--paper:#fbf8f2;--line:#dfc7bd;--orange:#cc7a3e;--orange-soft:#f7e9dc;--green:#268c45;--green-soft:#dff2df;--shadow:0 22px 50px rgba(111,38,27,.11)}
*{box-sizing:border-box}html{background:#f0ebe4}body{margin:0;color:var(--ink);background:radial-gradient(circle at 15% 0%,#fffaf1 0,transparent 35%),#f0ebe4;font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.5}button,select,input{font:inherit}.page-shell{max-width:1280px;margin:auto;padding:0 20px 20px}.topbar{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid #d8c8bd}.topbar>p{margin:0;color:#796b64;font-size:13px}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}.brand-mark{display:grid;place-items:center;width:42px;height:42px;background:var(--red);color:#fff;border-radius:4px;font-family:serif;font-size:24px;box-shadow:4px 4px 0 #e5c7bb}.brand b{display:block;font-family:serif;font-size:25px;line-height:1}.brand small{display:block;margin-top:4px;color:#88766d;font-size:9px;letter-spacing:.18em}.today-button{padding:9px 15px;border:1px solid var(--red);color:var(--red);background:transparent;cursor:pointer}.poster-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(400px,.96fr);gap:16px;padding-top:18px;align-items:stretch}.daily-poster{height:100%;overflow:hidden;background:#fffaf3;border:2px solid var(--orange);box-shadow:var(--shadow)}.poster-head{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 24px 9px;background:var(--orange);color:#fffaf2}.poster-kicker{font-size:12px;letter-spacing:.16em;opacity:.9}.poster-head h1{margin:8px 0 0;font-family:serif;font-size:clamp(24px,3.1vw,42px);line-height:1.2;font-weight:700}.workday-badge{padding:5px 11px;border:1px solid rgba(255,255,255,.55);font-size:12px}.workday-badge.off{background:#fff4e8;color:var(--red);border-color:#fff4e8}.poster-subline{display:flex;gap:28px;padding:0 24px 14px;background:var(--orange);color:#fff7ed;font-family:serif;font-size:18px}.poster-core{display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:10px;padding:16px 24px 9px;background:#fffaf3}.signal-badge{display:flex;flex-direction:column;align-items:center;gap:7px}.signal-badge b{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;font-family:serif;font-size:44px}.signal-badge span{font-size:14px;color:var(--muted)}.signal-badge.good b{background:var(--red);color:#fff}.signal-badge.avoid b{background:var(--green);color:#fff}.date-stamp{text-align:center}.date-stamp strong{display:block;font-family:serif;font-size:clamp(78px,9vw,116px);font-weight:500;line-height:.9;letter-spacing:-.07em}.date-stamp span{display:block;margin-top:7px;font-family:serif;font-size:28px}.date-stamp small{display:block;margin-top:3px;color:var(--muted);font-size:14px}.poster-focus{padding:3px 24px 13px;text-align:center}.focus-label{color:var(--red);font-weight:700;font-size:13px}.poster-focus h2{margin:5px 0;font-family:serif;font-size:31px}.poster-focus p{max-width:600px;margin:0 auto;color:#51443f;font-size:14px}.tag-row{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-top:12px}.tag{padding:3px 10px;border:1px solid #dca68f;color:var(--red);font-size:11px}.poster-advice{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.advice-block{padding:14px 20px 11px}.advice-block+ .advice-block{border-left:1px solid var(--line)}.advice-block h3{margin:0 0 11px;font-size:16px}.advice-block h3 span{display:inline-grid;place-items:center;width:27px;height:27px;margin-right:8px;background:var(--red);color:#fff;font-family:serif}.avoid-block h3 span{background:var(--green)}.advice-block ul{margin:0;padding:0;list-style:none}.advice-block li{position:relative;margin:6px 0;padding-left:14px;color:#554741;font-size:13px;line-height:1.45}.advice-block li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;background:var(--red);border-radius:50%}.avoid-block li::before{background:var(--green)}.poster-footer-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff7ed}.poster-footer-grid>div{padding:13px 15px;border-right:1px solid var(--line)}.poster-footer-grid>div:last-child{border-right:0}.poster-footer-grid small,.poster-footer-grid b{display:block}.poster-footer-grid small{color:#947d72;font-size:11px}.poster-footer-grid b{margin-top:3px;font-family:serif;font-size:16px;font-weight:500}.poster-note{margin:0;padding:11px 25px;color:#987f76;background:#fffaf3;font-size:10px;text-align:center}.calendar-card{height:100%;overflow:hidden;background:#fffaf8;border:2px solid var(--red);box-shadow:var(--shadow)}.calendar-top{display:grid;grid-template-columns:42px 36px 1fr 1fr 36px 42px;align-items:center;gap:4px;padding:16px 16px 14px;background:var(--red)}.calendar-top button{height:45px;border:0;background:transparent;color:#fff;font-size:38px;line-height:1;cursor:pointer}.calendar-top select{width:100%;height:45px;padding:0 11px;border:0;background:#fff;color:#111;font-size:18px}.week-row,.month-grid{display:grid;grid-template-columns:repeat(7,1fr)}.week-row{padding:6px 14px;background:#f4dedd;color:#261616;font-size:20px;text-align:center}.month-grid{padding:7px 14px 10px;gap:3px 2px}.day-cell{min-height:58px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px solid transparent;color:#111;cursor:pointer}.day-cell.empty{cursor:default}.day-cell .solar{font-size:28px;line-height:1}.day-cell .lunar{margin-top:7px;color:#4b3d39;font-size:12px}.day-cell.weekend .solar{color:#111}.day-cell.holiday .solar,.day-cell.holiday .lunar{color:#d22828}.day-cell.selected{border:3px solid var(--red);background:#fffdfb;color:var(--red)}.day-cell.selected .solar{font-size:31px;color:var(--red)}.day-cell:hover:not(.empty){background:#fbeceb}.calendar-legend{display:flex;gap:22px;padding:10px 27px;border-top:1px solid #edd6d0;color:#7e6b64;font-size:11px}.calendar-legend i{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:var(--red)}.calendar-legend .holiday-dot{background:#e05b50}.calendar-cta{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 27px;background:#fdf1ee;color:#7a5e57;font-size:12px}.calendar-cta button{padding:6px 9px;border:1px solid var(--red);color:var(--red);background:#fff;cursor:pointer;font-size:11px}.calendar-cta input{position:absolute;opacity:0;pointer-events:none}.detail-strip{display:grid;grid-template-columns:repeat(4,1fr);margin-top:14px;background:#fffaf3;border:1px solid #dfcfc4}.detail-strip article{min-height:100px;padding:18px 22px;border-right:1px solid #e4d5cb}.detail-strip article:last-child{border-right:0}.detail-strip small,.detail-strip b,.detail-strip span{display:block}.detail-strip small{color:#977e72;font-size:11px}.detail-strip b{margin-top:5px;font-family:serif;font-size:19px;font-weight:500}.detail-strip span{margin-top:4px;color:#74635b;font-size:12px}.site-footer{padding-top:20px;color:#927f77;font-size:11px;text-align:center}.status{position:fixed;right:18px;bottom:15px;color:#8a7268;font-size:11px}.status.error{color:#b52b3e}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
+@media(max-width:1000px){.page-shell{padding:0 20px 28px}.poster-layout{grid-template-columns:1fr}.calendar-card{max-width:680px;width:100%;justify-self:center}.date-stamp strong{font-size:130px}}
+@media(max-width:620px){.topbar{height:auto;padding:18px 0;flex-wrap:wrap}.topbar>p{display:none}.poster-layout{padding-top:20px}.poster-head{padding:22px 18px 12px}.poster-head h1{font-size:22px}.poster-subline{padding:0 18px 18px;gap:12px;flex-wrap:wrap;font-size:14px}.poster-core{padding:22px 14px 14px}.signal-badge b{width:55px;height:55px;font-size:33px}.signal-badge span{font-size:11px}.date-stamp strong{font-size:92px}.date-stamp span{font-size:22px}.poster-focus{padding:6px 18px 19px}.poster-focus h2{font-size:27px}.poster-advice{grid-template-columns:1fr}.advice-block{padding:18px}.advice-block+.advice-block{border-left:0;border-top:1px solid var(--line)}.poster-footer-grid{grid-template-columns:repeat(2,1fr)}.poster-footer-grid>div:nth-child(2){border-right:0}.poster-footer-grid>div:nth-child(3),.poster-footer-grid>div:nth-child(4){border-top:1px solid var(--line)}.week-row{padding-left:8px;padding-right:8px}.month-grid{padding-left:8px;padding-right:8px}.day-cell{min-height:57px}.day-cell .solar{font-size:21px}.day-cell .lunar{margin-top:4px;font-size:10px}.calendar-top{grid-template-columns:32px 32px 1fr 1fr 32px 32px;padding:18px 8px}.calendar-top button{font-size:30px}.calendar-top select{font-size:15px}.detail-strip{grid-template-columns:repeat(2,1fr)}.detail-strip article:nth-child(2){border-right:0}.detail-strip article:nth-child(3),.detail-strip article:nth-child(4){border-top:1px solid #e4d5cb}}
/* 传统黄历式宜忌排版 */
.traditional-core{grid-template-columns:1fr 1.18fr 1fr;padding-top:22px;padding-bottom:15px}.traditional-advice{align-self:stretch;padding:8px 12px}.traditional-advice h3{margin:0 0 12px;text-align:center;font-size:16px}.traditional-advice h3 span{display:inline-grid;place-items:center;width:34px;height:34px;margin-right:7px;border-radius:50%;background:var(--red);color:#fff;font-family:serif;font-size:25px;vertical-align:middle}.traditional-advice.avoid-block h3 span{background:var(--green)}.advice-words{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;align-content:start;text-align:left;color:#413632;font-family:serif;font-size:13px;line-height:1.45}.advice-words span{min-width:0;white-space:normal;overflow-wrap:anywhere}.traditional-core .date-stamp{padding:0 6px}.traditional-core .date-stamp strong{font-size:clamp(76px,8.5vw,112px)}.traditional-core .date-stamp span{font-size:26px}.research-advice{border-top:1px solid var(--line)}.research-advice .advice-block{padding-top:12px;padding-bottom:11px}.poster-footer-grid b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:620px){.traditional-core{grid-template-columns:1fr 1.1fr 1fr;padding:15px 8px 10px}.traditional-advice{padding:5px 3px}.traditional-advice h3{font-size:12px}.traditional-advice h3 span{width:29px;height:29px;font-size:21px}.advice-words{gap:5px 6px;font-size:11px}.traditional-core .date-stamp strong{font-size:74px}.traditional-core .date-stamp span{font-size:21px}.research-advice .advice-block{padding:14px 18px}}
.research-facts-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);background:#fff7ed}.research-facts-grid>div{min-height:58px;padding:9px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center}.research-facts-grid>div:nth-child(3n){border-right:0}.research-facts-grid>div:nth-child(n+4){border-bottom:0}.research-facts-grid small,.research-facts-grid b{display:block}.research-facts-grid small{color:#947d72;font-size:10px}.research-facts-grid b{margin-top:2px;font-family:serif;font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:620px){.research-facts-grid>div{min-height:52px;padding:8px 5px}.research-facts-grid b{font-size:13px}}
.time-almanac{margin-top:18px;padding:20px;background:#fffaf3;border:1px solid #e2d6ca}.time-almanac-head{display:flex;align-items:baseline;justify-content:space-between;border-bottom:1px solid #eadfd5;padding-bottom:10px}.time-almanac-head h2{margin:0;font-family:serif;font-size:23px}.time-almanac-head p{margin:0;color:#937e73;font-size:11px}.time-tabs{display:grid;grid-template-columns:repeat(12,1fr);gap:6px;margin:14px 0}.time-tab{padding:8px 4px;border:0;background:#f1efeb;color:#5e5752;cursor:pointer;font-family:serif;font-size:15px}.time-tab.active{background:var(--red);color:#fff}.time-detail{display:grid;grid-template-columns:220px 1fr;gap:20px}.time-seal{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:220px;background:linear-gradient(135deg,#8b8067,#c7b99b);color:#fff}.time-seal span{font-family:serif;font-size:76px;line-height:1}.time-seal small{margin-top:13px;font-size:12px}.time-content{min-width:0}.time-harmony{margin:2px 0 12px;font-size:14px}.time-meta-grid{display:flex;flex-wrap:wrap;gap:8px 23px;color:#675951;font-size:12px}.time-meta-grid b{color:var(--red);font-weight:500}.element-bars{display:grid;grid-template-columns:1fr 1fr;gap:8px 28px;margin:19px 0}.element-bars>div{display:grid;grid-template-columns:22px 1fr;align-items:center;gap:8px;color:#665850;font-size:12px}.element-bars i{display:block;height:19px;overflow:hidden;border-radius:10px;background:#eee5d6}.element-bars b{display:block;height:100%;padding-right:7px;border-radius:10px;color:#fff;text-align:right;font-size:11px;font-style:normal;line-height:19px;background:#bea96c}.element-bars>div:nth-child(2) b{background:#877563}.element-bars>div:nth-child(3) b{background:#98bddf}.element-bars>div:nth-child(4) b{background:#f04a4e}.element-bars>div:nth-child(5) b{background:#efa95f}.time-advice{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-top:12px;border-top:1px solid #eadfd5}.time-advice>div{display:flex;align-items:flex-start;gap:9px}.time-advice em{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:var(--red);color:#fff;font-family:serif;font-size:17px;font-style:normal}.time-advice em.avoid{background:var(--green)}.time-advice p{margin:3px 0 0;color:#4f433d;font-size:12px;line-height:1.55}@media(max-width:700px){.time-almanac{padding:15px}.time-tabs{grid-template-columns:repeat(6,1fr)}.time-detail{grid-template-columns:1fr}.time-seal{min-height:120px}.time-seal span{font-size:54px}.element-bars{gap:7px 12px}.time-meta-grid{gap:7px 12px}}
.time-advice p b{display:block;margin-bottom:3px;color:#8a6657;font-size:11px;font-weight:600}.time-advice p span{display:block}.time-harmony{padding:8px 10px;background:#fff3ec;border-left:3px solid var(--red);color:#51443d}
/* 参考黄历的居中日期与宜忌流布局 */
.daily-poster{background:#fffdf9}.poster-head{justify-content:center;position:relative;padding:22px 24px 5px;background:#fffdf9;color:var(--ink);text-align:center}.poster-head h1{margin:0;font-family:serif;font-size:clamp(27px,3vw,40px);font-weight:500}.poster-kicker{display:block;margin-bottom:5px;color:#95776b;font-size:10px}.poster-head .workday-badge{position:absolute;right:20px;top:20px;color:var(--red);border-color:#e3b1a7;background:#fff7f1}.poster-subline{justify-content:center;gap:24px;padding:0 24px 10px;background:#fffdf9;color:#76625a;font-size:16px}.poster-core{grid-template-columns:1fr 1.15fr 1fr;padding:16px 28px 6px;background:#fffdf9}.traditional-advice{padding:4px 8px}.traditional-advice h3{margin-bottom:8px;color:#3d302c;font-size:15px}.traditional-advice h3 span{width:28px;height:28px;font-size:20px}.advice-words{font-size:13px;line-height:1.55}.traditional-core .date-stamp strong{font-size:clamp(78px,9vw,116px)}.traditional-core .date-stamp span{font-size:25px}.poster-action{display:flex;justify-content:center;margin:2px 0 9px}.poster-action button{padding:5px 20px;border:2px solid var(--red);color:#fff;background:var(--red);font-family:serif;font-size:17px;cursor:pointer}.poster-focus{padding-top:10px;border-top:1px solid var(--line)}
@media(max-width:620px){.poster-head{padding:18px 14px 4px}.poster-head .workday-badge{right:10px;top:13px;padding:3px 6px;font-size:10px}.poster-subline{gap:9px;padding:0 12px 7px;font-size:13px}.poster-core{padding:12px 7px 4px}.traditional-advice{padding:2px}.traditional-advice h3{font-size:12px}.advice-words{font-size:11px}.poster-action{margin:2px 0 7px}}
/* 宜忌改为上下横向信息流，提升长文案可读性 */
.traditional-core{display:flex;flex-direction:column;gap:0;padding:13px 24px 8px}.traditional-core .date-stamp{order:1;padding:0;text-align:center}.traditional-core .date-stamp strong{font-size:clamp(76px,8.5vw,112px)}.traditional-core .date-stamp span{margin-top:3px}.traditional-core .traditional-advice{order:2;display:flex;align-items:flex-start;gap:14px;width:100%;padding:10px 4px;border-top:1px solid #eadfd5}.traditional-core .traditional-advice.avoid-block{order:3}.traditional-core .traditional-advice h3{display:flex;align-items:center;gap:7px;flex:0 0 94px;margin:0;text-align:left;white-space:nowrap}.traditional-core .traditional-advice h3 span{margin:0}.traditional-core .advice-words{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:4px 14px;text-align:left;font-family:serif;font-size:14px;line-height:1.55}.traditional-core .advice-words span{white-space:normal;overflow-wrap:anywhere}.traditional-core .avoid-block h3{color:#3d302c}
@media(max-width:620px){.traditional-core{padding:10px 10px 5px}.traditional-core .traditional-advice{gap:8px;padding:8px 0}.traditional-core .traditional-advice h3{flex-basis:78px;font-size:12px}.traditional-core .traditional-advice h3 span{width:27px;height:27px;font-size:19px}.traditional-core .advice-words{gap:3px 9px;font-size:11px;line-height:1.45}}

/* 日期数字不再使用红色边框，保持参考图的留白感 */
.traditional-core .date-stamp{border:0 !important}

/* 移动端日期抽屉与底部操作栏 */
.mobile-calendar-heading,.mobile-actions,.calendar-backdrop{display:none}
@media(max-width:620px){
  body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
  body.calendar-open{overflow:hidden}
  .page-shell{padding-left:12px;padding-right:12px}
  .poster-layout{display:block}
  .calendar-card{display:none;position:fixed;z-index:21;left:0;right:0;bottom:0;width:100%;max-width:none;max-height:min(83dvh,720px);height:auto;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:18px 18px 0 0;box-shadow:0 -12px 50px rgba(58,30,25,.2);padding-bottom:env(safe-area-inset-bottom)}
  body.calendar-open .calendar-card{display:block}
  .mobile-calendar-heading{display:flex;align-items:center;justify-content:space-between;padding:12px 20px 4px;background:#fffaf8;color:var(--red-deep);font-family:serif;font-size:20px}
  .mobile-calendar-heading button{display:grid;place-items:center;width:40px;height:40px;border:0;background:transparent;color:var(--red-deep);font-size:30px;line-height:1;cursor:pointer}
  .calendar-backdrop{position:fixed;z-index:20;inset:0;background:rgba(27,18,16,.48)}
  body.calendar-open .calendar-backdrop{display:block}
  .mobile-actions{position:fixed;z-index:15;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:#fffaf3;border-top:1px solid var(--line);box-shadow:0 -8px 28px rgba(74,33,25,.1)}
  .mobile-actions button{min-height:46px;border:1px solid var(--red);border-radius:4px;background:#fffaf3;color:var(--red-deep);font-weight:700;font-size:15px;cursor:pointer;touch-action:manipulation}
  .mobile-actions button:last-child{background:var(--red);color:#fff}
  .mobile-actions button:active{transform:translateY(1px)}
  .poster-action{display:none}
  .status{z-index:25;right:12px;bottom:calc(77px + env(safe-area-inset-bottom));max-width:calc(100vw - 24px);padding:3px 7px;background:#fffaf3}
}

.site-nav{display:flex;align-items:center;gap:5px}.site-nav a{padding:8px 14px;color:#806e65;text-decoration:none;font-size:14px}.site-nav a.active{background:var(--red);color:#fff}

.mobile-share-label{display:none}@media(max-width:620px){.desktop-share-label{display:none}.mobile-share-label{display:inline}.topbar .today-button{white-space:nowrap}}
/* 日期由月历和年月选择器控制，隐藏原生日期输入控件 */
#date-picker{display:none}
.site-footer p{margin:14px 0 0}.partner-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 20px}.partner-links span{color:#705f58;font-weight:600}.partner-links a{color:var(--red-deep);text-decoration:none;border-bottom:1px solid currentColor}.partner-links a:hover,.partner-links a:focus-visible{color:var(--red)}
