:root{color-scheme:light;--color-bg: #f1eee7;--color-surface: #faf8f3;--color-panel: #fffefa;--color-text: #24231f;--color-accent: #8f3d22;--color-accent-strong: #6d2b16;--color-muted: #66625b;--color-border: #d8d2c7;--color-border-strong: #aaa196;--color-quiet: #ebe6dd;--radius: 8px;--font-serif: "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", STSong, SimSun, serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace}*{margin:0;padding:0;box-sizing:border-box}html{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);line-height:1.65;text-rendering:optimizeLegibility}body{min-height:100vh;display:flex;flex-direction:column;background:var(--color-bg)}::selection{background:#ead8cf}.site-header{padding:0 2rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.site-header nav{max-width:1120px;margin:0 auto;min-height:4.5rem;display:flex;justify-content:space-between;align-items:center;gap:2rem}.logo{color:var(--color-accent);text-decoration:none;font-size:.96rem;font-weight:750;letter-spacing:.035em;white-space:nowrap}.nav-links{display:flex;align-items:center;gap:.25rem}.site-header nav a:not(.logo){color:var(--color-muted);text-decoration:none;min-height:2.75rem;display:inline-flex;align-items:center;padding:0 .75rem;border-bottom:2px solid transparent;font-size:.9rem;font-weight:600;transition:color .16s ease,border-color .16s ease}.site-header nav a:not(.logo):hover,.site-header nav a:not(.logo)[aria-current=page]{color:var(--color-accent);border-bottom-color:var(--color-accent)}main{flex:1;width:100%;padding:4rem 2rem 5rem}.site-footer{text-align:center;padding:1.5rem 2rem;color:var(--color-muted);background:var(--color-surface);font-size:.82rem;border-top:1px solid var(--color-border)}h1,h2,h3{color:var(--color-text)}a{color:var(--color-accent)}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.calendar-container{background:var(--color-panel);border-radius:var(--radius);padding:1rem;border:1px solid var(--color-border)}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--color-border)}.month-title{color:var(--color-text);font-size:.9rem;font-weight:700;font-variant-numeric:tabular-nums}.nav-btn{background:transparent;border:1px solid var(--color-border);width:2.5rem;height:2.5rem;font-size:1.1rem;color:var(--color-muted);cursor:pointer;padding:.25rem;border-radius:4px;transition:color .16s ease,background-color .16s ease,border-color .16s ease;line-height:1}.nav-btn:hover{background:var(--color-quiet);color:var(--color-accent);border-color:var(--color-border-strong)}.nav-btn-placeholder{visibility:hidden;pointer-events:none}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:4px}.calendar-weekdays span{text-align:center;font-size:.72rem;font-weight:600;color:var(--color-muted);padding:.35rem 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:.85rem;text-decoration:none;color:var(--color-text);border-radius:3px;transition:color .16s ease,background-color .16s ease,border-color .16s ease;cursor:default;border:1px solid transparent;font-variant-numeric:tabular-nums}.calendar-day.has-post{color:var(--color-accent);background:var(--color-quiet);font-weight:700;cursor:pointer}.calendar-day.has-post:hover{background:var(--color-accent);color:#fff}.calendar-day.today{border-color:var(--color-accent)}.calendar-day.empty{pointer-events:none}.calendar-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-border);text-align:center}.today-btn{background:transparent;border:1px solid var(--color-border);font-size:.8rem;color:var(--color-muted);cursor:pointer;padding:.5rem .75rem;border-radius:4px;transition:color .16s ease,background-color .16s ease,border-color .16s ease;font-weight:600}.today-btn:hover{background:var(--color-quiet);color:var(--color-accent);border-color:var(--color-border-strong)}@media (prefers-reduced-motion: reduce){*{transition:none!important;scroll-behavior:auto!important}}@media (max-width: 720px){.site-header{padding:0 1rem}.site-header nav{min-height:4rem;gap:.75rem}.logo{font-size:.88rem}.nav-links{gap:.4rem}.site-header nav a:not(.logo){padding:0 .55rem;font-size:.84rem}main{padding:2.5rem 1rem 3.5rem}}
