@font-face{font-family:"LXGW WenKai";src:url("./fonts/LXGWWenKai-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:light;--bg:#fcfbfd;--text:#45404b;--muted:#777080;--quiet:#928b9b;--line:#e7e2eb;--accent:#806b9d;--zero:#ece8f0;--low:#d2c8df;--mid:#aa98c2;--high:#7f689e;--cell:21px;--gap:6px;--ui:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans CJK SC","Microsoft Yahei",sans-serif;--reading:"LXGW WenKai","Kaiti SC","STKaiti",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--reading);font-size:21px;line-height:1.78;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:var(--accent);text-underline-offset:4px}button{cursor:pointer}button:disabled{cursor:default}:focus-visible{outline:2px solid var(--accent);outline-offset:5px}.page{width:min(760px,calc(100% - 64px));margin:0 auto}.site-header{display:flex;align-items:center;justify-content:space-between;padding:58px 0 30px}.site-name{font-size:20px;color:#7c7189;text-decoration:none}.access-note,.page-meta,.quiet,.heatmap-intro,.legend,.weekdays,.months,.day-detail,.data-note,.entry h2{font-family:var(--ui)}.access-note{font-size:12px;color:var(--quiet)}h1,h2,p{margin:0}h1{font-family:var(--ui);font-size:31px;font-weight:500;letter-spacing:.08em;line-height:1.4}.page-heading{margin-top:10px;margin-bottom:39px}.page-meta{font-size:13px;line-height:1.6;color:var(--quiet);margin-top:13px}.entry{margin:0 0 28px}.entry h2{font-size:15px;line-height:1.7;font-weight:400;color:var(--muted);margin:0 0 8px}.entry p{font-size:21px;line-height:1.75;letter-spacing:.025em}.entry p+p{margin-top:5px}.entry .empty{color:#8d8496}.entry .detail-link{display:inline-block;font-size:17px;line-height:1.6;margin-top:2px}.entry:last-child{margin-bottom:0}.habits{border-top:1px solid var(--line);margin-top:43px;padding-top:22px}.section-heading{display:flex;align-items:center;justify-content:space-between}.section-heading h2,.archive h2{font-size:21px;font-weight:400;letter-spacing:.03em}.quiet{color:var(--quiet);font-size:12px}.habit-tabs{display:flex;gap:38px;margin-top:10px}.habit-tabs button{background:none;border:0;padding:0 0 4px;color:var(--quiet);font-size:18px;border-bottom:2px solid transparent;line-height:1.8}.habit-tabs button[aria-selected="true"]{color:var(--accent);border-bottom-color:var(--accent)}.heatmap-intro{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-top:18px;font-size:12px;line-height:1.6;color:var(--muted)}#date-range{white-space:nowrap;color:var(--quiet);font-size:11px}.heatmap-layout{display:flex;gap:64px;align-items:flex-start;margin-top:22px}.calendar{width:calc(12 * var(--cell) + 11 * var(--gap) + 27px);flex-shrink:0}.months{display:grid;grid-template-columns:repeat(12,var(--cell));column-gap:var(--gap);padding-left:27px;margin-bottom:7px;height:18px;font-size:11px;line-height:18px;color:var(--quiet);white-space:nowrap}.calendar-body{display:flex}.weekdays{display:grid;grid-template-rows:repeat(7,var(--cell));gap:var(--gap);width:27px;flex-shrink:0;font-size:11px;line-height:var(--cell);color:var(--quiet)}#heatmap{display:grid;grid-template-rows:repeat(7,var(--cell));grid-template-columns:repeat(12,var(--cell));grid-auto-flow:column;gap:var(--gap)}.day{display:block;width:var(--cell);height:var(--cell);padding:0;border:1px solid #d2c8de;border-radius:3px;background:transparent;position:relative}.day.zero,.swatch.zero{background:var(--zero);border-color:var(--zero)}.day.low,.swatch.low{background:var(--low);border-color:var(--low)}.day.mid,.swatch.mid{background:var(--mid);border-color:var(--mid)}.day.high,.swatch.high{background:var(--high);border-color:var(--high)}.day.future{border-style:dotted;opacity:.35;cursor:default}.day[aria-pressed="true"]:after{content:"";position:absolute;inset:-4px;border:1px solid var(--accent);border-radius:5px}.day:focus-visible{outline-offset:2px}.legend{font-size:12px;color:var(--muted);padding-top:20px;min-width:130px}.legend-title{margin-bottom:6px}.legend-row{display:flex;align-items:center;gap:9px;margin-bottom:6px;white-space:nowrap}.swatch{display:inline-block;width:12px;height:12px;border:1px solid #cdbfdc;border-radius:2px;flex-shrink:0}.day-detail{font-size:12px;color:var(--muted);min-height:21px;margin-top:20px}.data-note{font-size:11px;color:var(--quiet);margin-top:3px;line-height:1.7}.site-footer{display:flex;align-items:center;gap:36px;flex-wrap:wrap;border-top:1px solid var(--line);padding:19px 0 35px;margin-top:35px;font-size:16px;color:var(--quiet)}.site-footer button{background:none;border:0;padding:0;color:var(--accent);line-height:inherit}.site-footer span{font-size:14px;color:#a39baa}.archive{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.archive p{font-size:18px;color:var(--muted);margin-top:15px}.archive ol{list-style:none;padding:0}.archive li{padding:10px 0}.archive time{font:12px var(--ui);color:var(--quiet)}.archive summary{cursor:pointer;font-size:18px}.skip-link{position:absolute;top:-60px;left:20px;background:var(--bg);padding:8px 14px;font:14px var(--ui);z-index:9}.skip-link:focus{top:10px}dialog{width:min(490px,calc(100% - 40px));border:1px solid var(--line);border-radius:7px;background:var(--bg);color:var(--text);padding:28px;font-size:18px;line-height:1.8;box-shadow:0 10px 80px #3329441a}dialog::backdrop{background:#312a4144}.dialog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-header h2{font-size:22px;font-weight:400}.dialog-header button{border:0;background:none;color:var(--muted);font:24px var(--ui);padding:0 5px}dialog p+p{margin-top:14px}#error{font:14px/1.8 var(--ui);color:#8d4f5d;margin:30px 0}[hidden]{display:none!important}
@media(max-width:640px){:root{--cell:19px;--gap:5px}.page{width:calc(100% - 44px);max-width:440px}.site-header{padding-top:30px;padding-bottom:29px}.site-name{font-size:19px}.access-note{font-size:11px}.page-heading{margin:5px 0 30px}h1{font-size:29px}.page-meta{font-size:11px;margin-top:10px}.entry{margin-bottom:25px}.entry h2{font-size:14px;margin-bottom:6px}.entry p{font-size:19px;line-height:1.8;letter-spacing:.01em}.habits{margin-top:35px;padding-top:19px}.section-heading h2{font-size:20px}.habit-tabs{gap:34px;margin-top:8px}.habit-tabs button{font-size:17px}.heatmap-intro{display:block;margin-top:15px;font-size:11px}#date-range{display:block;margin-top:5px;font-size:10px}.heatmap-layout{display:block;margin-top:17px}.calendar{max-width:100%}.legend{display:flex;flex-wrap:wrap;column-gap:15px;row-gap:4px;padding-top:20px;font-size:10px}.legend-title{flex-basis:100%;margin-bottom:2px}.legend-row{margin:0;gap:6px}.swatch{width:10px;height:10px}.day-detail{margin-top:16px;font-size:11px}.data-note{font-size:10px}.site-footer{gap:22px;font-size:15px;padding-bottom:26px;margin-top:28px}.site-footer span{font-size:12px}}
@media(max-width:355px){:root{--cell:17px;--gap:4px}.page{width:calc(100% - 36px)}.site-footer{gap:17px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Reading remains a quiet text document, without a card grid. */
.reading-home{margin-top:24px;font-size:17px;color:var(--muted)}.reading-home .detail-link{font-size:17px}.reading-week{margin-bottom:29px}.reading-week h2,.reading-part h3,.reading-group>h2{font-family:var(--ui);font-size:14px;font-weight:400;color:var(--muted);margin:0 0 9px}.reading-week>p:not(.reading-subtle){font-size:23px}.reading-subtle,.reading-source{font-family:var(--ui);font-size:12px;color:var(--quiet);line-height:1.8}.reading-tabs{border-top:1px solid var(--line);padding-top:18px}.reading-library{margin-top:29px;min-height:160px}.reading-library>.empty{font-size:20px;color:var(--muted)}.reading-group{margin-bottom:35px}.reading-group>h2{font-size:16px;color:var(--accent);margin-bottom:20px}.reading-entry{margin:0 0 30px;padding-bottom:25px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.reading-source{margin-bottom:18px}.reading-part{margin-top:17px}.reading-part h3{font-size:12px;margin-bottom:5px}.reading-part p,.reading-part blockquote{font-size:20px;white-space:pre-wrap;line-height:1.85}.reading-part blockquote{margin:0;border-left:2px solid #d9cede;padding-left:18px;color:#67606f}.reading-source-link{display:inline-block;font-size:15px;margin-top:15px}#reading-error{font:14px/1.8 var(--ui);color:#8d4f5d}.reading-home+.habits{margin-top:30px}
@media(max-width:640px){.reading-home{font-size:16px;margin-top:22px}.reading-part p,.reading-part blockquote{font-size:19px}.reading-week>p:not(.reading-subtle){font-size:21px}.reading-library{min-height:130px}}

.day.done,.swatch.done{background:var(--bg);border:2px solid var(--accent)}.day.done:before,.swatch.done:before{content:"";display:block;width:4px;height:4px;background:var(--accent);border-radius:50%;margin:auto}.day.not_done,.swatch.not_done{background:var(--zero);border-style:dashed}
