:root{--cal-bg:#f0f2f5;--cal-surface:#fff;--cal-surface-2:#f8fafc;--cal-surface-3:#fafafa;--cal-border:#e5e7eb;--cal-border-subtle:#f1f5f9;--cal-text:#1a1a2e;--cal-text-2:#6b7280;--cal-text-3:#9ca3af;--cal-primary:#4a90d9;--cal-primary-bg:#e8f0fe;--cal-danger:#e74c3c;--cal-ok:#27ae60;--cal-holiday:#ff6b6b;--cal-festival:#ff9800;--cal-adjust:#e67e22;--cal-term:#3498db;--cal-shadow:#00000014;--cal-login-bg:linear-gradient(135deg, #667eea 0%, #764ba2 100%);--cal-md-text:#000000e0;--cal-md-code:#f0f0f0;--cal-md-quote-bg:#fafafa;--cal-md-quote-border:#d9d9d9;--cal-md-strong:#1677ff}[data-theme=dark]{--cal-bg:#0f1115;--cal-surface:#171a21;--cal-surface-2:#1f242d;--cal-surface-3:#141821;--cal-border:#2a2f3a;--cal-border-subtle:#232833;--cal-text:#e6e8eb;--cal-text-2:#a1a7b3;--cal-text-3:#6b7280;--cal-primary:#5aa0e6;--cal-primary-bg:#4a90d92e;--cal-danger:#ff6b5e;--cal-ok:#3ec27a;--cal-holiday:#ff7b7b;--cal-festival:#ffa733;--cal-adjust:#f08a3c;--cal-term:#4aa8e8;--cal-shadow:#00000080;--cal-login-bg:linear-gradient(135deg, #232a4d 0%, #3a2748 100%);--cal-md-text:#ffffffd9;--cal-md-code:#232833;--cal-md-quote-bg:#1b2027;--cal-md-quote-border:#3a4150;--cal-md-strong:#6cb2ff}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--cal-bg);color:var(--cal-text);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif;transition:background-color .2s,color .2s}#root{min-height:100vh}.cal-day-cell{border:1px solid var(--cal-border);cursor:pointer;min-height:110px;padding:4px 6px;transition:background .2s;position:relative;overflow:hidden}.cal-day-cell:hover{background:var(--cal-surface-2)}.cal-day-cell.other-month{background:var(--cal-surface-3);color:var(--cal-text-3)}.cal-day-cell.today{background:var(--cal-primary-bg)}.cal-day-cell.today .cal-day-num{color:var(--cal-primary);font-weight:700}.cal-day-num{border-radius:3px;padding:1px 4px;font-size:15px;font-weight:600;display:inline-block}.cal-day-lunar{color:var(--cal-text-2);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.cal-day-lunar.holiday-text{color:var(--cal-holiday);font-weight:600}.cal-day-lunar.festival-text{color:var(--cal-festival);font-weight:600}.cal-day-lunar.adjust-text{color:var(--cal-adjust);font-weight:600}.cal-day-lunar.term-text{color:var(--cal-term);font-weight:600}.cal-day-events{flex-direction:column;gap:2px;max-height:72px;margin-top:2px;display:flex;overflow:hidden}.cal-mini-event{color:#fff;white-space:nowrap;text-overflow:ellipsis;cursor:pointer;border-radius:3px;align-items:center;gap:3px;padding:2px 4px;font-size:11px;display:flex;overflow:hidden}.cal-mini-event.completed{opacity:.75;text-decoration:line-through}.cal-more-events{color:var(--cal-primary);cursor:pointer;padding:1px 4px;font-size:11px}.cal-week-col{border-right:1px solid var(--cal-border);flex-direction:column;min-width:0;min-height:450px;display:flex}.cal-week-col:last-child{border-right:none}.cal-week-header{text-align:center;border-bottom:1px solid var(--cal-border);background:var(--cal-surface-2);padding:10px;font-size:13px;font-weight:600}.cal-week-header.today{background:var(--cal-primary-bg)}.cal-week-header.today .cal-week-num{color:var(--cal-primary)}.cal-week-body{cursor:pointer;flex-direction:column;flex:1;gap:3px;padding:6px;display:flex}.cal-week-event{color:#fff;cursor:pointer;border-radius:4px;align-items:center;gap:5px;padding:4px 6px;font-size:12px;display:flex}.cal-week-event.completed{opacity:.75;text-decoration:line-through}.cal-week-add:hover{color:var(--cal-primary)!important}.cal-day-allday{color:#fff;cursor:pointer;border-radius:6px;align-items:center;gap:8px;padding:6px 10px;transition:box-shadow .2s;display:flex}.cal-day-allday:hover{box-shadow:0 1px 4px #0000002e}.cal-day-allday.completed .tl-title{opacity:.6;text-decoration:line-through}.cal-timeline-event{color:#fff;cursor:pointer;z-index:2;border-radius:6px;padding:3px 6px;transition:box-shadow .15s;position:absolute;overflow:hidden;box-shadow:0 1px 2px #0000001f}.cal-timeline-event:hover{z-index:4;box-shadow:0 2px 8px #00000038}.cal-timeline-event.completed .tl-title{opacity:.6;text-decoration:line-through}.cal-timeline-event .tl-del{opacity:0;font-size:11px;transition:opacity .15s;position:absolute;top:4px;right:5px}.cal-timeline-event:hover .tl-del{opacity:.9}.cal-badge{white-space:nowrap;color:#fff;border-radius:2px;padding:1px 4px;font-size:10px;font-weight:600;line-height:1.4}.cal-badge-holiday,.cal-badge-rest{background:#ff6b6b}.cal-badge-work{background:#e67e22}.cal-badge-term{background:#3498db}.cal-badge-festival{background:#ff9800}.cal-color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;transition:border-color .2s,transform .15s}.cal-color-dot:hover{transform:scale(1.15)}.cal-color-dot.selected{border-color:var(--cal-text)}.cal-mini-event .ant-checkbox,.cal-week-event .ant-checkbox,.cal-timeline-event .ant-checkbox,.cal-day-allday .ant-checkbox{background-color:#ffffff40!important;border-color:#fff9!important}.cal-mini-event .ant-checkbox-checked,.cal-week-event .ant-checkbox-checked,.cal-timeline-event .ant-checkbox-checked,.cal-day-allday .ant-checkbox-checked{background-color:#fff!important;border-color:#fff!important}.cal-mini-event .ant-checkbox-checked:after,.cal-week-event .ant-checkbox-checked:after,.cal-timeline-event .ant-checkbox-checked:after,.cal-day-allday .ant-checkbox-checked:after{border-color:var(--cal-ok)!important}.report-markdown{color:var(--cal-md-text);word-break:break-word;font-size:14px;line-height:1.7}.report-markdown h1,.report-markdown h2,.report-markdown h3{margin:12px 0 8px;font-weight:600}.report-markdown h1{border-bottom:1px solid var(--cal-border);padding-bottom:6px;font-size:18px}.report-markdown h2{margin-top:16px;font-size:15px}.report-markdown p{margin:6px 0}.report-markdown ul,.report-markdown ol{margin:6px 0;padding-left:22px}.report-markdown li{margin:3px 0}.report-markdown strong{color:var(--cal-md-strong);font-weight:600}.report-markdown code{background:var(--cal-md-code);border-radius:4px;padding:1px 5px;font-size:12px}.report-markdown blockquote{border-left:3px solid var(--cal-md-quote-border);color:var(--cal-text-2);background:var(--cal-md-quote-bg);border-radius:0 4px 4px 0;margin:8px 0;padding:4px 12px}.report-markdown table{border-collapse:collapse;width:100%;margin:8px 0}.report-markdown th,.report-markdown td{border:1px solid var(--cal-border);text-align:left;padding:4px 10px}
