@import url("./paper.css");
:root{--paper:var(--display-bg,#eee9dd);--ink:var(--display-ink,#293d35);--muted:var(--display-muted,#65705e);--line:var(--display-line,#c1c6b3);--accent:var(--display-accent,#97624b);--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;--serif:"Songti SC","STSong","Noto Serif SC",serif;color:var(--ink);background:var(--paper);font:16px/1.8 var(--serif);color-scheme:light}html[data-display-theme=dark]{color-scheme:dark}*{box-sizing:border-box}body{margin:0}h1,h2,h3,p,dl,dd{margin:0}h1,h2,h3{text-wrap:balance;font-weight:400}p{text-wrap:pretty}a{color:inherit;text-decoration:none}button,input{font:inherit;color:inherit}button,summary{cursor:pointer}button{background:transparent;border:1px solid var(--line);border-radius:0;padding:8px 16px;min-height:44px}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}button:hover,a:hover{text-decoration:underline;text-underline-offset:5px}.almanac-wrap{max-width:1160px;padding:0 40px;margin:auto}.site-header{display:flex;gap:32px;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--line)}.main-nav,.header-tools,.script-language{display:flex;align-items:center;gap:24px}.main-nav{margin-left:auto}.main-nav a,.script-language a{min-height:44px;display:flex;align-items:center}.script-language{gap:16px;font:14px/1.7 var(--sans)}.script-language [aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:6px}.header-tools [data-display-icon]{border:0;width:44px;padding:10px}.header-tools svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4}.breadcrumb{display:flex;gap:14px;flex-wrap:wrap;font:13px/1.9 var(--sans);color:var(--muted);padding:24px 0}.almanac-heading{text-align:center;padding:8px 0 26px}.eyebrow{font:12px/1.8 var(--sans);color:var(--muted)}h1{font-size:30px;line-height:1.5;margin:8px 0}.almanac-heading>p:last-child{color:var(--muted);font-size:15px}.date-toolbar{max-width:660px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-block:1px solid var(--line);padding:14px 0;font:14px/1.8 var(--sans)}.date-picker{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.date-picker input{background:var(--display-surface,#f5f1e7);border:1px solid var(--line);padding:8px 10px;min-height:44px;min-width:0;font-variant-numeric:tabular-nums}.date-steps{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.date-steps a{min-height:44px;display:flex;align-items:center}.date-steps [aria-disabled=true]{opacity:.5;pointer-events:none}.calendar-error{max-width:660px;margin:auto;color:var(--accent);font:14px/1.8 var(--sans)}.calendar-error:not(:empty){padding-top:16px}

.cultural-calendar{margin:28px 0;padding:24px;border:1px solid var(--line,#bdc1ae);line-height:1.9}.cultural-calendar h2{font-size:24px}.cultural-calendar h2 small{font-size:14px;font-weight:400}.cultural-calendar ul{padding-left:20px}.cultural-calendar li{padding:10px 0}.cultural-calendar a{color:inherit;text-underline-offset:4px}.cultural-calendar summary{min-height:44px;cursor:pointer}.cultural-calendar time{font-variant-numeric:tabular-nums}

/* Old paper wall calendar: all dates and notes remain selectable HTML. */
body{background-image:repeating-linear-gradient(90deg,transparent 0 5px,rgb(65 60 42 / 2%) 6px 7px),repeating-linear-gradient(0deg,transparent 0 3px,rgb(65 60 42 / 2%) 4px 5px)}
.almanac-heading{padding:0 0 26px}.almanac-heading h1{font-size:23px;margin:0}.almanac-heading .eyebrow,.almanac-heading>p:last-child{display:none}.breadcrumb{padding:16px 0}.site-header{padding:14px 0}
#main{display:flex;flex-direction:column}#almanac-output{display:contents}.tear-calendar{--print:#203f2d;--sheet:#e8e9d7;--sheet-edge:#b6b8a4;position:relative;isolation:isolate;width:100%;max-width:550px;margin:66px auto 0;padding:20px 19px 17px;color:var(--print);background:var(--sheet);border:1px solid var(--sheet-edge);font-family:var(--serif);font-weight:700;line-height:1.4;box-shadow:-20px 14px 20px rgb(30 37 24 / 25%),2px 4px 0 var(--sheet-edge),0 8px 0 -2px var(--sheet),0 10px 0 -2px var(--sheet-edge)}
.calendar-plaque{position:absolute;left:-8px;right:-8px;top:-69px;height:53px;display:flex;align-items:center;justify-content:space-around;gap:12px;padding:0 16px;color:#6a2b16;border:5px double #745a28;background:repeating-linear-gradient(90deg,transparent 0 7px,rgb(105 68 19 / 9%) 8px 9px),linear-gradient(#ceaf57,#d9bf6c 48%,#bda052);box-shadow:0 3px 1px #8b7138,0 5px 5px rgb(0 0 0 / 22%);z-index:3;font-size:23px;white-space:nowrap}.calendar-plaque strong{font-weight:800;letter-spacing:1px}.plaque-seal{font-size:15px;background:#7b301b;color:#d6b45d;width:24px;height:24px;text-align:center;line-height:24px;transform:rotate(45deg)}
.paper-binding{position:absolute;top:-17px;left:0;right:0;height:23px;border:1px solid var(--sheet-edge);background:repeating-linear-gradient(0deg,#b7b9a7 0 1px,#e6e7d7 1px 3px);box-shadow:0 2px 2px rgb(0 0 0 / 12%);z-index:1}.paper-binding::after{content:"";position:absolute;left:25%;right:25%;top:0;bottom:-3px;background:repeating-linear-gradient(170deg,rgb(250 250 232 / 60%) 0 3px,rgb(125 130 109 / 15%) 4px 6px);clip-path:polygon(0 0,100% 0,100% 85%,90% 96%,80% 80%,70% 100%,60% 85%,50% 96%,40% 80%,30% 95%,20% 80%,10% 95%,0 85%)}.paper-binding i{display:none}
.paper-masthead{display:flex;justify-content:space-between;align-items:center;font-size:28px;line-height:1.2}.paper-masthead>span:nth-child(2){font-size:26px}.tear-day{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;min-height:238px}.paper-side{writing-mode:vertical-rl;justify-self:center;font-size:16px;letter-spacing:2px;line-height:1.3}.date-leaf{text-align:center;min-width:0}.date-leaf>strong{display:block;font:900 268px/.9 Arial,"Helvetica Neue",sans-serif;letter-spacing:-.065em;padding-right:.065em;font-variant-numeric:lining-nums tabular-nums}.paper-date-line{font-size:12px;line-height:1.4;padding:6px 0}.printed-almanac{border:3px double var(--print);padding:2px}.lunar-strip{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;border:1px solid var(--print)}.print-emblem{font-size:38px;font-weight:400;text-align:center;align-self:center}.lucky-emblem{font-size:33px;line-height:1}.lucky-emblem small{display:block;font-size:9px;line-height:1.5}.lunar-heading{border-inline:1px solid var(--print);min-width:0}.lunar-caption{display:flex;justify-content:space-around;font-size:14px}.lunar-heading h2{display:flex;justify-content:space-evenly;background:var(--print);color:var(--sheet);font-size:27px;line-height:1.3;font-weight:800}.print-subline{display:flex;justify-content:space-around;font-size:10px;padding:5px 0}.paper-ledger{display:grid;grid-template-columns:25px 57px minmax(0,1fr) 73px;border:1px solid var(--print)}.chong-column{writing-mode:vertical-rl;font-size:12px;text-align:start;letter-spacing:1px;padding:5px 3px;border-right:1px solid var(--print)}.officer-column{display:flex;flex-direction:column;align-items:center;text-align:center;border-right:1px solid var(--print)}.officer-column>span:first-child{font-size:10px;width:100%;border-bottom:1px solid var(--print);padding:3px 0}.officer-column strong{writing-mode:vertical-rl;font-size:29px;letter-spacing:7px;line-height:1.2;padding:16px 0}.officer-column>span:last-child{font-size:11px;padding:4px 0}.ledger-main{min-width:0}.folk-columns{padding:10px 6px;min-height:85px;display:grid;gap:9px}.folk-columns section{display:flex;align-items:baseline;gap:3px}.folk-columns h3{font-size:15px;font-weight:800;flex-shrink:0}.folk-columns p{font-size:12px;line-height:1.8}.direction-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-block:1px solid var(--print)}.direction-row>div{display:flex;align-items:center;justify-content:center;gap:3px;padding:8px 2px}.direction-row>div+div{border-left:1px solid var(--print)}.direction-row dt{writing-mode:vertical-rl;font-size:12px;line-height:1}.direction-row dd{font-size:10px;line-height:1.2}.omen-row{display:grid;grid-template-columns:56px minmax(0,1fr);min-height:88px}.mansion{border-right:1px solid var(--print);font-size:11px;text-align:center;line-height:1.9;padding:9px 3px}.omen-copy{font-size:10px;line-height:1.8;padding:9px 5px;text-align:center;overflow-wrap:anywhere}.mini-month{border-left:1px solid var(--print);background:repeating-linear-gradient(0deg,transparent 0 18px,rgb(32 63 45 / 4%) 18px 19px)}.mini-month h3{background:var(--print);color:var(--sheet);text-align:center;font-size:15px;line-height:1.7}.mini-week,.mini-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center;padding:3px 2px;gap:1px;font:9px/1.5 Arial,sans-serif}.mini-days a{display:flex;min-height:18px;align-items:center;justify-content:center}.mini-days [aria-current]{background:var(--print);color:var(--sheet)}.paper-imprint{display:flex;justify-content:space-around;gap:5px;background:var(--print);color:var(--sheet);margin-top:3px;font-size:11px;line-height:2.2}
.date-toolbar{order:2;margin:34px auto 0;max-width:550px;justify-content:center;border:0;background:rgb(250 249 230 / 45%);padding:8px 14px;gap:0 18px}.date-picker label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.date-picker input{background:transparent;border:0;padding:8px 0}.date-picker button{padding:4px 10px;border:0}.date-steps{gap:12px}.calendar-hint{order:3;text-align:center;font-size:12px;color:var(--muted);padding:8px}.calendar-full{order:4}.cultural-calendar{order:5;width:100%;max-width:660px;align-self:center}.calendar-about{order:6}.calendar-full{max-width:550px;width:100%;margin:8px auto 0;font-size:13px}.calendar-full summary{text-align:center;min-height:44px;padding:12px 0}.calendar-full>p{padding:12px;line-height:1.8}.hours-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.hour-cell{border:1px solid var(--line);padding:8px 3px;display:flex;flex-direction:column;text-align:center;font-size:12px}.calendar-about{margin:24px auto 40px;max-width:660px;color:var(--muted);font:14px/2 var(--sans)}.calendar-about h2{font:20px/1.8 var(--serif);color:var(--ink);margin-bottom:12px}.calendar-about a{text-decoration:underline;overflow-wrap:anywhere}.calendar-about summary{min-height:44px;padding:10px 0}.site-footer{border-top:1px solid var(--line);padding:24px 0 40px}.skip-link{position:absolute;top:-100px;left:20px;background:var(--paper);padding:12px;z-index:10}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
html[data-display-theme=dark] .tear-calendar{--print:#c0d4b4;--sheet:#26382b;--sheet-edge:#52604c}html[data-display-theme=dark] .date-toolbar{background:#26382b}
@media(max-width:650px){.almanac-wrap{padding:0 18px}.site-header{gap:12px;flex-wrap:wrap}.header-tools{margin-left:auto;gap:12px}.main-nav{order:3;width:100%;margin:0;gap:22px}.tear-calendar{max-width:550px;padding:16px 12px 12px}.calendar-plaque{font-size:clamp(15px,4vw,23px);gap:8px;padding:0 8px}.calendar-plaque strong{letter-spacing:0}.plaque-seal{width:20px;height:20px;font-size:13px;line-height:20px}.paper-masthead{font-size:clamp(20px,4.8vw,28px)}.paper-masthead>span:nth-child(2){font-size:clamp(18px,4.5vw,26px)}.tear-day{min-height:200px;grid-template-columns:28px minmax(0,1fr) 28px}.date-leaf>strong{font-size:clamp(180px,48vw,268px)}.paper-side{font-size:14px;letter-spacing:1px}.paper-date-line{font-size:11px}.lunar-strip{grid-template-columns:32px minmax(0,1fr) 32px}.print-emblem{font-size:29px}.lucky-emblem{font-size:25px}.lucky-emblem small{font-size:8px}.lunar-caption{font-size:11px}.lunar-heading h2{font-size:23px}.paper-ledger{grid-template-columns:20px 38px minmax(0,1fr) 70px}.officer-column strong{font-size:25px}.officer-column>span:last-child{font-size:10px}.folk-columns{padding:8px 5px}.folk-columns p{font-size:11px}.direction-row>div{flex-direction:column;gap:5px;padding:5px 0}.direction-row dt{writing-mode:horizontal-tb;font-size:10px}.direction-row dd{font-size:10px}.omen-row{grid-template-columns:43px minmax(0,1fr)}.mansion{font-size:10px}.omen-copy{font-size:10px;padding:7px 4px}.print-subline{font-size:9px}.paper-imprint{font-size:10px}.date-toolbar{flex-direction:column;gap:0;padding:8px 14px}.date-picker{flex-wrap:nowrap}.date-picker input{width:auto;flex:initial}.date-steps{justify-content:space-between;width:100%}.hours-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.cultural-calendar{padding:16px}.calendar-about{margin-top:20px}}
/* Larger reading mode reflows dense print into readable blocks. */
html[data-display-size=large] :is(.paper-date-line,.print-subline,.lunar-caption,.folk-columns p,.direction-row dt,.direction-row dd,.omen-copy,.mansion,.paper-imprint){font-size:16px}html[data-display-size=large] .paper-ledger{grid-template-columns:28px 54px minmax(0,1fr)}html[data-display-size=large] .mini-month{grid-column:1/-1;border-left:0;border-top:1px solid var(--print)}html[data-display-size=large] .mini-days{font-size:16px}html[data-display-size=large] .mini-days a{min-height:44px}html[data-display-size=large] .print-subline{flex-wrap:wrap;gap:8px}html[data-display-size=large] .direction-row{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-display-size=large] .direction-row>div{flex-direction:column;gap:4px}html[data-display-size=large] .direction-row dt{writing-mode:horizontal-tb}html[data-display-size=large] .omen-row{display:block}html[data-display-size=large] .mansion{border-right:0;border-bottom:1px solid var(--print)}
@media print{body{background:none}.site-header,.breadcrumb,.date-toolbar,.calendar-hint,.site-footer{display:none}.tear-calendar{box-shadow:none}}
