:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#262d31;background:#f7f1e8;color-scheme:light;font-size:16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none}.calendar-app{position:fixed;inset:0;display:flex;flex-direction:column;max-width:680px;margin:auto;min-height:0;background:linear-gradient(155deg,#fbf7f0,#f3ebdf);padding-top:env(safe-area-inset-top)}.view{min-height:0;flex:1 1 auto;overflow-y:auto;padding:0 18px calc(88px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}.calendar-header{height:76px;display:grid;grid-template-columns:68px 1fr 78px;align-items:center;gap:4px}.quiet-button,.month-actions button,.month-title{border:0;background:transparent;color:inherit;font:inherit}.quiet-button{font-size:14px;text-align:left;padding:10px 0}.month-title{font-size:21px;font-weight:720;letter-spacing:.2px;min-height:44px}.month-actions{display:flex;justify-content:flex-end;gap:2px}.month-actions button{width:36px;height:36px;border-radius:18px;font-size:31px;line-height:1;color:#40484d}.month-actions button:active,.quiet-button:active{background:#e8ddd0}.weekday-row,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekday-row{margin-bottom:4px;color:#8a837c;font-size:12px;text-align:center}.weekday-row span:first-child,.weekday-row span:last-child{color:#b66158}.calendar-grid{grid-auto-rows:minmax(48px,1fr)}.day{position:relative;min-width:0;height:56px;border:0;border-radius:16px;background:transparent;color:#283034;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font:inherit}.day:active{background:#eadfd3}.day.other-month{color:#b7b0a8}.day .solar{font-size:16px;font-weight:570;line-height:1}.day .lunar{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 3px;font-size:10px;color:#968d85;line-height:1.1}.day.weekend .solar,.day.festival .lunar{color:#b64e45}.day.selected{background:#e9d9cc}.day.today{background:#b9473e;color:#fff;box-shadow:0 5px 12px #a6383028}.day.today .lunar{color:#fff3ed}.day.today.weekend .solar,.day.today.festival .lunar{color:#fff}.date-card{margin:18px 0 0;padding:17px 18px;border:1px solid #e6dcd0;border-radius:20px;background:#fffaf4;box-shadow:0 10px 24px #7058480c}.date-card h2{margin:0 0 6px;font-size:18px}.date-card p{margin:3px 0;color:#776f68;font-size:13px;line-height:1.55}.date-card .badge{display:inline-block;margin:8px 5px 0 0;padding:4px 8px;border-radius:10px;background:#f1e3d6;color:#9f4038;font-size:11px}.simple-header{padding:25px 0 13px}.simple-header h1{margin:0;font-size:26px;letter-spacing:.3px}.simple-header p{margin:7px 0 0;color:#8c847d;font-size:13px}.festival-list{display:flex;flex-direction:column;gap:10px}.festival-item{display:grid;grid-template-columns:56px 1fr auto;align-items:center;gap:12px;padding:14px;border:1px solid #e8ded2;border-radius:18px;background:#fffaf4}.festival-date{display:flex;flex-direction:column;align-items:center;justify-content:center;width:54px;height:54px;border-radius:15px;background:#f2e4d9;color:#af4a42}.festival-date b{font-size:18px}.festival-date span{font-size:10px}.festival-item h2{margin:0;font-size:16px}.festival-item p{margin:4px 0 0;color:#8c847d;font-size:12px}.festival-item small{color:#b16059;font-size:11px;white-space:nowrap}.tool-card,.about-card{margin:0 0 12px;padding:18px;border:1px solid #e8ded2;border-radius:20px;background:#fffaf4}.tool-card h2,.about-card h2{margin:0 0 13px;font-size:17px}.tool-card label,.settings-list label{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0;color:#69625c;font-size:14px}.tool-card input,.settings-list select{min-width:142px;border:1px solid #ded3c7;border-radius:10px;background:#fff;color:#293034;padding:9px 10px;font:inherit}.tool-card output{display:block;margin-top:16px;padding:11px 12px;border-radius:12px;background:#f3e8dd;color:#91433b;font-size:14px}.settings-list{padding:3px 18px 12px;border:1px solid #e8ded2;border-radius:20px;background:#fffaf4}.settings-list label{min-height:49px;margin:0;border-bottom:1px solid #efe6dc}.settings-list label:last-of-type{border:0}.switch-row input{width:20px;height:20px;accent-color:#b9473e}.plain-danger{width:100%;margin:11px 0 2px;padding:11px;border:0;border-radius:11px;background:#f6ebe6;color:#a63e37;font:inherit}.about-card p{margin:7px 0;color:#827a73;font-size:12px;line-height:1.55}.tab-bar{position:absolute;left:0;right:0;bottom:0;z-index:5;display:grid;grid-template-columns:repeat(4,1fr);min-height:72px;padding:8px 10px max(8px,env(safe-area-inset-bottom));border-top:1px solid #e7dbcf;background:#fffaf4eF;backdrop-filter:blur(14px)}.tab{border:0;background:transparent;color:#918981;font:inherit;font-size:11px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center}.tab span{font-size:19px;line-height:1}.tab.active{color:#ad453c;font-weight:700}.sheet{width:min(92vw,380px);border:0;border-radius:23px;padding:0;background:#fffaf4;color:#293034;box-shadow:0 22px 80px #24150e55}.sheet::backdrop{background:#36251d66;backdrop-filter:blur(2px)}.sheet form{padding:18px}.sheet header{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.sheet h2{margin:0;font-size:18px}.sheet header button{width:34px;height:34px;border:0;border-radius:17px;background:#f0e4d9;color:#665f59;font-size:23px}.sheet input{width:100%;border:1px solid #ded3c7;border-radius:12px;background:#fff;padding:12px;color:#293034;font:inherit}.primary{width:100%;margin-top:14px;border:0;border-radius:12px;background:#b9473e;color:white;padding:12px;font:inherit;font-weight:650}.access-sheet p{margin:-4px 0 15px;color:#8b837b;font-size:13px}.access-sheet input{text-align:center;letter-spacing:9px;font-size:21px}@media (prefers-color-scheme:dark){:root{color:#ecdfd4;background:#171616;color-scheme:dark}.calendar-app{background:linear-gradient(155deg,#1d1b1a,#151414)}.day{color:#eee2d6}.day .lunar,.simple-header p,.festival-item p,.tool-card label,.settings-list label,.about-card p{color:#b8ada3}.day.other-month{color:#706b66}.weekday-row{color:#aaa098}.day.today{background:#c55a51}.date-card,.festival-item,.tool-card,.about-card,.settings-list,.sheet{border-color:#403a35;background:#262321}.tool-card input,.settings-list select,.sheet input{border-color:#4b443e;background:#1b1918;color:#eee2d6}.tool-card output{background:#342925;color:#f1c9bf}.tab-bar{border-color:#3c3732;background:#25211feF}.plain-danger{background:#3c2927;color:#f4b9b2}.month-actions button{color:#e7dbd0}.quiet-button:active,.month-actions button:active{background:#39332f}}
:root[data-theme="light"]{color-scheme:light}:root[data-theme="dark"]{color-scheme:dark;color:#ecdfd4;background:#171616}:root[data-theme="dark"] .calendar-app{background:linear-gradient(155deg,#1d1b1a,#151414)}:root[data-theme="dark"] .day{color:#eee2d6}:root[data-theme="dark"] .day .lunar,:root[data-theme="dark"] .simple-header p,:root[data-theme="dark"] .festival-item p,:root[data-theme="dark"] .tool-card label,:root[data-theme="dark"] .settings-list label,:root[data-theme="dark"] .about-card p{color:#b8ada3}:root[data-theme="dark"] .day.other-month{color:#706b66}:root[data-theme="dark"] .weekday-row{color:#aaa098}:root[data-theme="dark"] .day.today{background:#c55a51}:root[data-theme="dark"] .date-card,:root[data-theme="dark"] .festival-item,:root[data-theme="dark"] .tool-card,:root[data-theme="dark"] .about-card,:root[data-theme="dark"] .settings-list,:root[data-theme="dark"] .sheet{border-color:#403a35;background:#262321}:root[data-theme="dark"] .tool-card input,:root[data-theme="dark"] .settings-list select,:root[data-theme="dark"] .sheet input{border-color:#4b443e;background:#1b1918;color:#eee2d6}:root[data-theme="dark"] .tool-card output{background:#342925;color:#f1c9bf}:root[data-theme="dark"] .tab-bar{border-color:#3c3732;background:#25211feF}:root[data-theme="dark"] .plain-danger{background:#3c2927;color:#f4b9b2}:root[data-theme="dark"] .month-actions button{color:#e7dbd0}:root[data-theme="large"]{font-size:18px}@media (min-width:700px){.calendar-app{max-height:860px;top:50%;bottom:auto;transform:translateY(-50%);border-radius:28px;box-shadow:0 26px 90px #281a1138}.calendar-grid{grid-auto-rows:minmax(66px,1fr)}.day{height:73px}}
/* 放假调休标记与星期标题随每周起始日同步。 */
.weekday-row span{color:#8a837c!important}.weekday-row span.weekend{color:#b66158!important}.holiday-tag{position:absolute;top:3px;right:4px;border-radius:4px;padding:1px 3px;font-size:9px;line-height:12px;color:#fff}.holiday-tag.rest{background:#b9473e}.holiday-tag.work{background:#3978a3}
