:root{color-scheme:light;--red:#b71915;--bright-red:#ce241c;--gold:#d7b364;--ink:#201d18;--muted:#796f60;--paper:#fffdf6;--rule:#d4c5a8;font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif;color:var(--ink);font-synthesis:none}.skip-link{position:fixed;top:-100px;left:15px;padding:12px 18px;background:var(--paper);color:var(--red);z-index:10}.skip-link:focus{top:10px}.calendar-paper:focus{outline:none}.wall-calendar a:focus-visible{outline:3px solid #156b9b;outline-offset:3px}.calendar-art img{display:block;width:100%;height:auto}*{box-sizing:border-box}body{margin:0;background:#ebe7df;padding:26px 18px 46px}button,select{font:inherit}button,select,summary{cursor:pointer}button{touch-action:manipulation}button:disabled{opacity:.35;cursor:default}button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #156b9b;outline-offset:3px}button{color:inherit}button,select{-webkit-tap-highlight-color:transparent}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.wall-calendar{max-width:1060px;margin:auto;border:9px solid var(--red);border-bottom-width:23px;background:var(--red);box-shadow:0 12px 35px #46352024;border-radius:3px;overflow:hidden}.calendar-art{background:#b71915}.calendar-art img{display:block;width:100%;height:auto;max-height:270px;object-fit:cover}.calendar-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:53px;padding:6px 15px;color:#ffedb9;border-top:1px solid #e5b94966}.month-navigation{display:flex;align-items:center;gap:6px}.calendar-controls button{border:1px solid #efd18d70;background:transparent;border-radius:2px;height:36px}.arrow-button{min-width:36px;font-size:26px;line-height:1}.calendar-controls select{height:36px;color:#fff1c8;background:var(--red);border:0;border-bottom:1px solid #efd18d70;padding:0 7px;font-size:15px}.calendar-controls option{color:var(--ink);background:var(--paper)}.calendar-controls button:hover{background:#ffffff16}.calendar-paper{background:var(--paper);padding:0 13px}.month-heading{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;min-height:156px;padding:12px 27px;gap:10px}.month-heading-center{text-align:center;color:var(--red)}#month-number{font:700 109px/.9 Georgia,Times New Roman,serif;display:block}.month-heading-center h2{font-size:14px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;margin:8px 0 0}.month-notes{text-align:right;font-size:14px;line-height:1.9}.weekday-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-block:1px solid var(--gold);background:#f7eace;gap:1px}.weekday-strip>div{display:flex;justify-content:center;gap:5px;align-items:center;min-height:32px;font-size:12px;white-space:nowrap}.weekend{color:var(--bright-red)}.calendar-grid{border-left:1px solid var(--rule)}.calendar-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-cell{min-width:0;position:relative;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule)}.day-button{appearance:none;display:flex;flex-direction:column;align-items:center;position:relative;width:100%;height:110px;padding:7px 19px 5px;background:transparent;border:0;isolation:isolate}.day-button:hover{background:#f4e6c961}.day-button.selected{box-shadow:inset 0 0 0 2px var(--red);background:#f8eed9}.day-button:focus-visible{outline-offset:-4px;z-index:1}.day-number{display:block;font-size:49px;line-height:1.04;font-weight:800;letter-spacing:-.06em;font-family:Arial,Helvetica,sans-serif}.lunar-day{font-family:Microsoft YaHei,PingFang SC,sans-serif;font-size:12px;line-height:1.6;white-space:nowrap;color:var(--ink)}.day-label{font-size:12px;line-height:1.35;color:var(--red);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-height:16px}.mini-yi,.mini-ji{position:absolute;top:13px;writing-mode:vertical-rl;font-size:12px;line-height:1.2;letter-spacing:1px;max-height:79px;overflow:hidden;white-space:nowrap;opacity:.82}.mini-yi{left:5px;color:var(--red)}.mini-ji{right:5px;color:#665e51}.outside .day-number{opacity:.7}.outside .lunar-day,.outside .mini-yi,.outside .mini-ji,.outside .day-label{opacity:.9}.outside{background:#f4f0e744}.error{color:var(--red);padding:16px}dialog{padding:0;border:2px solid var(--red);border-radius:3px;background:var(--paper);color:var(--ink);width:min(860px,calc(100% - 28px));max-height:90dvh;overflow:auto;box-shadow:0 20px 90px #1b0b0744}dialog::backdrop{background:#281b168a;backdrop-filter:blur(2px)}body:has(dialog[open]){overflow:hidden}.detail-heading{display:flex;gap:23px;align-items:center;border-bottom:1px solid var(--gold);padding-bottom:20px;margin-bottom:20px}.detail-number{font:700 100px/.9 Arial,sans-serif;letter-spacing:-.055em;color:var(--red)}.detail-heading h2{font:600 22px Georgia,serif;margin:0 0 9px}.detail-heading p{margin:5px 0;font-size:16px;line-height:1.6}.detail-heading .detail-festivals{color:var(--red);font-size:14px}.activity-pair{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);margin-bottom:20px}.activities{padding:18px}.activities+.activities{border-left:1px solid var(--rule)}.activities h3{font-size:15px;margin:0 0 12px;display:flex;gap:9px;align-items:center}.activity-items{display:flex;flex-wrap:wrap;gap:7px}.activity-item{border-bottom:1px solid #ded0b7;padding:3px 0;margin-right:7px;font-size:16px;line-height:1.5}.activity-item small{font-size:12px;color:var(--muted);display:block}.pengzu{border-block:1px solid var(--gold);padding:16px 0;margin-bottom:20px}.pengzu h3{font-size:15px;color:var(--red);margin:0 0 10px}.pengzu p{margin:6px 0;font:20px/1.6 KaiTi,STKaiti,serif;letter-spacing:.06em}.pengzu small{display:block;letter-spacing:0;font:13px/1.6 Arial,sans-serif;color:var(--muted)}.detail-section{border-bottom:1px solid var(--rule)}.detail-section>summary{font-size:16px;font-weight:600;padding:18px 0;color:#3a3023}.detail-section>summary span{font-size:14px;font-weight:400;margin-left:8px;color:var(--muted)}.detail-list{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:0 0 16px}.detail-list>div{padding:11px 0;border-bottom:1px solid #e8dfcb;min-width:0}.detail-list dt{color:var(--muted);font-size:13px;margin-bottom:5px}.detail-list dd{margin:0;font-size:16px;line-height:1.6;overflow-wrap:anywhere}.detail-list .wide{grid-column:1/-1}.method-note{color:var(--muted);font-size:12px;line-height:1.7;margin:22px 0 0}.method-note a{color:inherit}.calendar-art img{max-height:none}@media (min-width:1400px){.day-button{height:119px}}@media (max-width:700px){body{padding:12px 7px 24px}.wall-calendar{border-width:5px;border-bottom-width:15px}.calendar-art img{max-height:none}.calendar-controls{padding:7px;gap:5px}.calendar-controls select{font-size:14px;padding:0 3px}.month-navigation{gap:3px}.calendar-paper{padding:0 6px}.month-heading{min-height:126px;padding:14px 9px;grid-template-columns:1fr .7fr 1fr;gap:6px}#month-number{font-size:83px}.month-heading-center h2{font-size:12px;letter-spacing:.05em}.month-notes{font-size:12px;line-height:1.7}.weekday-strip>div{flex-direction:column;gap:0;font-size:12px;line-height:1.4;padding:4px 0}.weekday-strip>div>span:first-child{display:none}.day-button{height:87px;padding:9px 2px 5px}.day-number{font-size:36px;line-height:1.05}.mini-yi,.mini-ji{display:none}.lunar-day,.day-label{font-size:12px}.detail-number{font-size:78px}.detail-heading{gap:18px}.detail-heading h2{font-size:20px}.detail-heading p{font-size:14px}.activities{padding:13px}.activities h3{font-size:14px}.activity-pair{grid-template-columns:1fr}.activities+.activities{border-left:0;border-top:1px solid var(--rule)}.detail-list{gap:0 14px}.pengzu p{font-size:18px}.detail-list dd{font-size:15px}}@media (max-width:360px){.day-number{font-size:31px}.day-button{height:82px}.month-notes{display:none}.month-heading{grid-template-columns:1fr 1fr}.calendar-controls select{max-width:91px}}@media (prefers-reduced-motion:no-preference){.day-button{transition:background .12s}dialog[open]{animation:appear .15s ease-out}@keyframes appear{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}}@media print{body{padding:0;background:#fff}.wall-calendar{box-shadow:none;max-width:none}.calendar-controls,dialog{display:none}.calendar-art img{max-height:210px}.day-button{height:100px}.day-button.selected{box-shadow:none;background:transparent}.calendar-paper{break-inside:avoid}}html[lang=en] .calendar-grid .day-button{padding-inline:6px}.calendar-grid .day-label{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;min-width:0}.weekday-strip>div{font-size:13px}.selected-overview{line-height:1.5;min-width:0}.selected-overview p{margin:3px 0}.selected-overview .selected-date{font-size:16px;font-weight:700;color:var(--red)}.selected-activity{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-activity b{color:var(--red);margin-right:5px}.selected-overview #date-details{display:inline-block;color:var(--red);font-size:13px;margin-top:6px;text-decoration:underline;text-underline-offset:3px}.header-terms{font-size:12px;line-height:1.6;margin-top:7px}.header-terms b{color:var(--red);font-weight:500}@media (max-width:700px){.selected-overview .selected-date{font-size:13px}.selected-overview .selected-lunar{font-size:12px}.selected-overview #date-details{font-size:12px;line-height:1.4}.selected-activity,.header-terms{font-size:12px}.month-heading{padding-inline:8px;grid-template-columns:1fr .65fr 1.2fr;align-items:center}#month-number{font-size:74px}}@media (max-width:360px){.month-heading{grid-template-columns:1fr 1fr}.selected-overview{display:block;grid-column:1/-1;text-align:left;border-top:1px solid var(--rule);padding-top:9px}.selected-overview .selected-activity{display:inline-block;margin-right:12px}.selected-overview #date-details{display:block}.month-heading-center{grid-column:2;grid-row:1}.header-terms{font-size:12px}}.copy-date-link{display:block;margin:5px 0 0 auto;padding:0;border:0;background:none;color:var(--muted);font:12px/1.5 Arial,sans-serif;cursor:pointer;text-decoration:underline}.calendar-heading-tools{min-width:0}.calendar-heading-tools .calendar-controls{display:flex;flex-direction:column;align-items:flex-start;padding:0;border:0;gap:7px;min-height:0;color:var(--red)}.calendar-heading-tools .calendar-controls select{background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:0;font-size:14px;padding:0 6px;max-width:135px;height:32px}.calendar-heading-tools .month-navigation{gap:6px;max-width:100%}.calendar-heading-tools .calendar-step-controls{display:flex;gap:6px}.calendar-heading-tools .calendar-controls button{border:1px solid var(--rule);height:30px;background:transparent}.calendar-heading-tools .calendar-controls button:hover{background:#f7eace}.calendar-heading-tools .arrow-button{min-width:32px;font-size:23px}.selected-overview .selected-cycle{font-size:12px;color:var(--muted);line-height:1.5}.month-heading{grid-template-columns:minmax(0,1fr) minmax(100px,.7fr) minmax(0,1.3fr);padding-block:16px}@media (max-width:700px){.month-heading{grid-template-columns:minmax(0,1fr) minmax(70px,.55fr);gap:12px;padding:13px 8px}.month-heading-center{grid-column:2;grid-row:1}.selected-overview{display:block;grid-column:1/-1;text-align:left;border-top:1px solid var(--rule);padding-top:9px}.selected-overview .selected-date{font-size:14px}.selected-overview #date-details{display:inline-block}.selected-overview .copy-date-link{display:inline-block;margin-left:15px}.selected-overview .selected-activity{display:block;margin-right:0}.calendar-heading-tools .calendar-controls select{max-width:125px}}.month-heading{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);padding:12px 27px;min-height:156px;gap:10px}.calendar-heading-tools .calendar-controls{gap:3px}.calendar-heading-tools .calendar-controls #year-select{appearance:none;-webkit-appearance:none;font:700 49px/1 Georgia,serif;color:var(--red);height:54px;width:150px;max-width:none;padding:0 20px 0 0;border:0;background:transparent;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23b71915'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.calendar-heading-tools .calendar-controls #year-select option{font:16px Arial,sans-serif}.calendar-heading-tools .month-navigation{gap:4px}.calendar-heading-tools .calendar-controls #month-select{border:0;border-bottom:1px solid var(--rule);font-size:15px;height:30px;padding:0 4px;max-width:130px}.calendar-heading-tools .calendar-controls .arrow-button{border:0;min-width:25px;font-size:26px;height:30px;padding:0 3px}.selected-overview .selected-date{font-size:16px}.selected-overview .selected-lunar{font-size:14px}.selected-overview .selected-cycle{font-size:14px;color:var(--ink)}.selected-overview .selected-activity{font-size:14px;line-height:1.5}.selected-overview #date-details{font-size:14px;margin-top:7px}@media (max-width:700px){.month-heading{grid-template-columns:minmax(0,1fr) minmax(70px,.6fr);padding:14px 9px;gap:10px}.calendar-heading-tools .calendar-controls #year-select{font-size:36px;height:42px;width:116px}.selected-overview{grid-column:1/-1}.selected-overview .selected-date{font-size:16px}.selected-overview .selected-lunar,.selected-overview .selected-cycle,.selected-overview .selected-activity,.selected-overview #date-details{font-size:14px}}.calendar-grid .day-button{height:94px;padding-bottom:3px}@media (min-width:1400px){.calendar-grid .day-button{height:103px}}@media (max-width:700px){.calendar-grid .day-button{height:75px}}@media (max-width:360px){.calendar-grid .day-button{height:70px}}.calendar-paper{scroll-margin-top:8px}@media (min-width:1100px){.wall-calendar{max-width:1180px}.wall-calendar .lunar-day,.wall-calendar .day-label{font-size:13px}.wall-calendar .weekday-strip>div{font-size:14px}}@media (min-width:701px){.calendar-grid .day-button{height:max(94px,var(--fitted-row,103px))}}@media (min-width:1100px){body:has(.wall-calendar) .site-footer{max-width:1180px}body:has(.wall-calendar) .footer-bottom{font-size:13px}}.calendar-heading-tools .month-navigation{gap:8px;margin-top:6px}.calendar-heading-tools .calendar-controls #month-select{font-size:20px;height:42px;max-width:165px;padding:0 5px}.calendar-heading-tools .calendar-controls .arrow-button{font-size:32px;min-width:36px;height:42px}.calendar-heading-tools button:focus-visible,.calendar-heading-tools select:focus-visible{outline:3px solid #156b9b;outline-offset:3px}@media (min-width:701px){.calendar-heading-tools .calendar-controls #year-select{font-size:56px;height:66px;width:176px}}@media (max-width:700px){.calendar-heading-tools .calendar-controls #month-select{font-size:17px;height:36px;max-width:145px}.calendar-heading-tools .calendar-controls .arrow-button{min-width:29px;height:36px;font-size:28px}.calendar-heading-tools .month-navigation{gap:4px;margin-top:4px}}.calendar-grid .day-button{justify-content:center;padding-block:2px}.calendar-grid .lunar-day{line-height:1.3;flex-shrink:0;max-width:100%;overflow:hidden;text-overflow:ellipsis}.calendar-grid .day-label{line-height:1.15;flex-shrink:0;margin-top:6px}.calendar-grid .mini-yi,.calendar-grid .mini-ji{top:clamp(4px,calc(50% - 39.5px),13px)}@media (min-width:701px) and (max-width:900px){.calendar-heading-tools .month-navigation{gap:4px}.calendar-heading-tools .calendar-controls #month-select{font-size:16px;min-width:0}.calendar-heading-tools .calendar-controls .arrow-button{min-width:29px}}@media (max-width:700px){.calendar-paper>.selected-overview{padding:15px 8px 18px;border-top:0;text-align:left}.calendar-paper>.selected-overview .selected-activity{white-space:normal;overflow:visible;text-overflow:clip;margin-top:6px}.calendar-paper>.selected-overview #date-details{padding:8px 0;min-height:40px}.wall-calendar .calendar-grid .day-button{height:88px;padding:3px 2px;justify-content:flex-start}.wall-calendar .calendar-grid .day-number{font-size:clamp(24px,7vw,34px);line-height:1.1;letter-spacing:-.04em}.wall-calendar .calendar-grid .lunar-day{font-size:11px;line-height:1.4}.wall-calendar .calendar-grid .day-label{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;white-space:normal;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere;font-size:10px;line-height:1.2;min-height:24px;max-height:24px;margin-top:5px}.wall-calendar .weekday-strip>div{font-size:11px}.wall-calendar .calendar-grid .mini-yi,.wall-calendar .calendar-grid .mini-ji{font-size:9px;max-height:35px;top:4px;letter-spacing:0}.wall-calendar .calendar-grid .mini-yi{left:1px}.wall-calendar .calendar-grid .mini-ji{right:1px}}@media (max-width:380px){.wall-calendar .calendar-grid .day-button{height:80px}.calendar-paper{padding-inline:4px}.month-heading{padding-inline:5px}}
