.home-calendar-shell{position:absolute;z-index:9;left:50%;bottom:max(18px,calc(var(--sab) + 10px));width:min(calc(100% - 28px),500px);transform:translateX(-50%)}
.home-calendar-nav{--calendar-day-width:60px;position:relative;display:flex;align-items:center;width:100%;padding:12px 16px;border:1px solid rgba(255,255,255,.82);border-radius:20px;background:rgba(255,255,255,.94);box-shadow:0 8px 24px rgba(18,77,146,.2);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.home-calendar-month{flex:0 0 44px;align-self:stretch;margin-right:12px;padding:0 12px 0 0;border:0;border-right:1px solid #e8e8ed;background:transparent;color:#5205ff;font-size:27px;font-weight:800;letter-spacing:1px;cursor:pointer}
.home-calendar-viewport{position:relative;min-width:0;flex:1;overflow:hidden;cursor:grab;touch-action:pan-y}
.home-calendar-review{flex:0 0 auto;height:44px;margin-left:10px;padding:0 13px;border:0;border-radius:13px;background:#5205ff;color:#ffcb24;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 4px 12px rgba(82,5,255,.22)}
.home-calendar-viewport:active{cursor:grabbing}
.home-calendar-track{display:flex;align-items:center;will-change:transform}
.home-calendar-day{width:var(--calendar-day-width);height:62px;flex:0 0 var(--calendar-day-width);display:grid;place-items:center;border:0;border-radius:17px;background:transparent;color:#e7aa00;font-size:18px;font-weight:800;transition:opacity .24s ease,filter .24s ease,background .24s ease,color .24s ease,transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease;cursor:pointer}
.home-calendar-day.is-far{opacity:.22;filter:blur(1.3px)}
.home-calendar-day.is-near{opacity:.5}
.home-calendar-day.is-active{background:#5205ff;color:#ffcb24;font-weight:700;box-shadow:0 4px 14px rgba(82,5,255,.28)}
.home-calendar-track.is-dragging .home-calendar-day{transition:none!important}
.home-calendar-popover{position:absolute;bottom:calc(100% + 12px);left:0;width:260px;padding:14px;border:1px solid rgba(82,5,255,.08);border-radius:18px;background:#fff;box-shadow:0 12px 40px rgba(20,46,82,.2);opacity:0;transform:translateY(9px) scale(.97);pointer-events:none;transition:opacity .2s ease,transform .2s cubic-bezier(.22,1,.36,1)}
.home-calendar-popover.is-open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.home-calendar-pop-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}
.home-calendar-pop-title{color:#1d1d1f;font-size:16px;font-weight:700}
.home-calendar-pop-nav{display:flex;gap:5px}
.home-calendar-pop-nav button{width:29px;height:29px;padding:0;border:0;border-radius:8px;background:#f2f2f7;color:#1d1d1f;font-size:19px;line-height:1;cursor:pointer}
.home-calendar-week,.home-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.home-calendar-week{margin-bottom:4px}
.home-calendar-week span{padding:4px 0;color:#96969c;font-size:11px;text-align:center}
.home-calendar-grid{gap:2px}
.home-calendar-cell{display:grid;place-items:center;aspect-ratio:1;padding:0;border:0;border-radius:8px;background:transparent;color:#3a3a3c;font-size:14px;cursor:pointer}
.home-calendar-cell:hover{background:#f2f2f7}
.home-calendar-cell.is-blank{pointer-events:none}
.home-calendar-cell.is-today{box-shadow:inset 0 0 0 1.5px #0071e3;color:#0071e3;font-weight:700}
.home-calendar-cell.is-selected{background:#5205ff;color:#ffcb24;font-weight:700}
.home-calendar-cell.is-selected.is-today{box-shadow:inset 0 0 0 1.5px #1d1d1f}
@media(max-width:520px) and (orientation:portrait){.home-calendar-shell{bottom:max(14px,calc(var(--sab) + 8px));width:calc(100% - 20px)}.home-calendar-nav{--calendar-day-width:52px;padding:8px 9px;border-radius:17px}.home-calendar-month{flex-basis:36px;margin-right:7px;padding-right:7px;font-size:22px}.home-calendar-review{height:40px;margin-left:7px;padding:0 10px;font-size:13px}.home-calendar-day{height:54px;border-radius:15px;font-size:17px}.home-calendar-popover{left:0;width:min(260px,88vw)}}
@media(min-width:700px) and (orientation:portrait){.home-calendar-shell{bottom:max(24px,calc(var(--sab) + 16px));width:min(calc(100% - 48px),540px)}}
@media(orientation:landscape){.home-calendar-shell{bottom:max(10px,calc(var(--sab) + 7px));width:min(42%,440px)}.home-calendar-nav{--calendar-day-width:48px;padding:8px 10px;border-radius:17px}.home-calendar-month{flex-basis:36px;margin-right:8px;padding-right:8px;font-size:22px}.home-calendar-review{height:38px;margin-left:8px;padding:0 11px;font-size:13px}.home-calendar-day{height:50px;border-radius:14px;font-size:16px}}
@media(max-height:600px) and (orientation:landscape){.home-calendar-shell{bottom:max(7px,calc(var(--sab) + 4px));width:min(46%,390px)}.home-calendar-nav{--calendar-day-width:42px;padding:5px 7px;border-radius:14px}.home-calendar-month{flex-basis:31px;margin-right:5px;padding-right:5px;font-size:18px}.home-calendar-review{height:32px;margin-left:5px;padding:0 8px;font-size:11px}.home-calendar-day{height:40px;border-radius:11px;font-size:14px}.home-calendar-popover{bottom:calc(100% + 6px)}}
@media(max-width:740px) and (orientation:landscape){.home-calendar-shell{width:min(50%,360px)}.home-calendar-nav{--calendar-day-width:38px}.home-calendar-day{height:38px;font-size:13px}.home-calendar-review{padding:0 7px}}
@media(prefers-reduced-motion:reduce){.home-calendar-day,.home-calendar-popover{transition:none!important}}
