.calendar,.cal{--cal-accent: #3b82f6;--cal-rest: #dbeafe;--cal-rest-ink: #1d4ed8;--cal-work: #475569;--cal-today: #ef4444}.cal__noscript{padding: 20px;color: #94a3b8}.calendar{display: grid;gap: 14px}@media (min-width: 900px){.calendar{grid-template-columns: minmax(0,1fr) 320px;align-items: start}}.cal__head{display: flex;align-items: baseline;gap: 12px;padding: 4px 6px 0}.cal__month{font-size: 34px;font-weight: 800;letter-spacing: 1px}.cal__sub{color: var(--c-muted,#7f92b3);font-size: 13px}.cal__nav{margin-left: auto;display: flex;gap: 6px}.cal__nav button{width: 34px;height: 34px;border-radius: 8px;border: 1px solid var(--c-border,#2b3b5c);background: transparent;color: inherit;font-size: 16px;cursor: pointer}.cal__nav button:hover{border-color: var(--cal-accent);color: var(--cal-accent)}.cal__grid{display: grid;grid-template-columns: repeat(7,minmax(0,1fr));gap: 4px;padding: 8px 4px}.cal__dow{text-align: center;font-size: 12.5px;color: var(--c-muted,#7f92b3);padding: 4px 0}.cal__cell{position: relative;min-height: 58px;border-radius: 10px;padding: 5px 6px 3px;display: grid;grid-template-rows: auto auto;justify-items: center;text-align: center;gap: 1px;cursor: pointer;user-select: none;-webkit-tap-highlight-color: transparent}.cal__cell:hover{background: var(--c-hover,rgba(59,130,246,0.08))}.cal__cell.is-dim{opacity: 0.35}.cal__cell.is-weekend:not(.is-selected) .cal__day{color: #6ea8fe}.cal__cell.is-selected{background: var(--cal-accent)}.cal__cell.is-selected .cal__day,.cal__cell.is-selected .cal__sub{color: #fff}.cal__cell.is-today:not(.is-selected){box-shadow: inset 0 0 0 1.5px var(--cal-accent);background: color-mix(in srgb,var(--cal-accent) 8%,transparent)}.cal__cell.is-today:not(.is-selected) .cal__day{color: var(--cal-accent);font-weight: 800}.cal__today-tag{position: absolute;top: 3px;left: 3px;width: 5px;height: 5px;padding: 0;border-radius: 50%;font-size: 0;line-height: 0;overflow: hidden;background: var(--cal-accent)}.cal__cell.is-selected .cal__today-tag{background: #fff}.cal__day{font-size: 19px;font-weight: 700;line-height: 1.15}.cal__sub{font-size: 11px;line-height: 1.25;color: var(--c-muted,#9fb0cc);max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.cal__sub.is-festival{color: #f59e0b;font-weight: 600}.cal__sub.is-term{color: #34d399;font-weight: 600}.cal__badge{position: absolute;top: 3px;right: 3px;width: 16px;height: 16px;border-radius: 999px;display: grid;place-items: center;font-size: 10px;line-height: 1}.cal__badge.is-rest{background: var(--cal-rest);color: var(--cal-rest-ink)}.cal__badge.is-work{background: var(--cal-work);color: #fff}.cal__card{background: var(--c-card-bg,rgba(255,255,255,0.04));border: 1px solid var(--c-border,#22304d);border-radius: 14px;padding: 16px 18px}.cal__lunar-big{font-size: 30px;font-weight: 800;color: var(--cal-accent);margin: 0 0 4px}.cal__ganzhi{color: var(--c-muted,#9fb0cc);font-size: 13.5px;margin: 0}.cal__fest{margin: 10px 0 0;font-size: 14px}.cal__fest b{color: #f59e0b}.cal__events{display: grid;gap: 2px;padding: 6px 0 0}.cal__event{display: grid;grid-template-columns: minmax(0,1fr) auto;gap: 4px 12px;padding: 9px 4px;border-bottom: 1px dashed var(--c-border,#22304d)}.cal__event:last-child{border-bottom: none}.cal__event-name{font-weight: 600}.cal__event-name.is-term{color: #34d399}.cal__event-date{grid-column: 1;color: var(--c-muted,#9fb0cc);font-size: 12.5px}.cal__event-days{grid-row: 1 / span 2;align-self: center;font-size: 20px;font-weight: 800}.cal__event-days small{font-size: 11px;font-weight: 500;color: var(--c-muted,#9fb0cc);margin-left: 2px}.cal__tabs{display: flex;gap: 4px;padding: 0 4px 6px}.cal__tab{flex: 1;max-width: 88px;padding: 8px 0;border-radius: 10px;border: none;background: transparent;color: var(--c-muted,#9fb0cc);font: inherit;cursor: pointer}.cal__tab.is-active{background: var(--cal-accent);color: #fff;font-weight: 600}.cal__yeargrid{display: grid;grid-template-columns: repeat(auto-fill,minmax(150px,1fr));gap: 10px;padding: 8px 4px}.cal__minimonth{border: 1px solid var(--c-border,#22304d);border-radius: 10px;padding: 8px}.cal__minimonth h4{margin: 0 0 6px;font-size: 13px}.cal__minigrid{display: grid;grid-template-columns: repeat(7,1fr);gap: 1px;font-size: 10.5px;text-align: center}.cal__minigrid span{padding: 1px 0;color: var(--c-muted,#9fb0cc)}.cal__minigrid b{font-weight: 500;color: inherit}.cal__week{display: grid;grid-template-columns: repeat(7,minmax(0,1fr));gap: 4px;padding: 8px 4px}@media (max-width: 640px){.cal__month{font-size: 30px}.cal__cell{min-height: 52px;padding: 4px 5px 2px}.cal__day{font-size: 17px}.cal__sub{font-size: 10px}}