.calendar-page{--cal-movie:var(--acid);--cal-series:#7cc7ff;--cal-anime:#ff8fb8;max-width:1240px;margin:0 auto;padding:48px 32px 72px}.calendar-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 28px;display:flex}.calendar-header h1{font-family:var(--font-display), serif;font-size:clamp(2.3rem,4.4vw,3.6rem);font-weight:var(--display-weight);margin:0;line-height:1}.calendar-header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.calendar-view-tabs{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-pill);padding:4px;display:inline-flex}.calendar-view-tabs button{border-radius:var(--radius-pill);color:var(--muted);font-size:var(--text-sm);background:0 0;border:0;padding:8px 14px;font-weight:800}.calendar-view-tabs button:hover{color:var(--ink)}.calendar-view-tabs button.is-active{background:var(--ink);color:var(--surface)}.calendar-month-nav{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:4px;margin-left:auto;padding:4px;display:flex}.calendar-month-nav strong{min-width:190px;font-size:var(--text-md);text-align:center;padding:0 8px;font-weight:750}.calendar-arrow{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--ink);flex:none;place-items:center;text-decoration:none;display:grid}.calendar-arrow svg{width:18px;height:18px}.calendar-arrow:hover,.calendar-today:hover{background:var(--paper-deep)}.calendar-today{border-left:1px solid var(--line);border-radius:0 var(--radius-sm) var(--radius-sm) 0;min-height:36px;color:var(--ink);font-size:var(--text-sm);place-items:center;margin-left:4px;padding:0 12px;font-weight:800;text-decoration:none;display:grid}.calendar-filters{flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:26px;display:flex}.calendar-kinds{flex-wrap:wrap;gap:7px;display:flex}.calendar-kind{border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--muted);font-size:var(--text-sm);cursor:pointer;background:0 0;align-items:center;gap:7px;padding:8px 13px;font-weight:750;transition:border-color .15s,color .15s;display:inline-flex}.calendar-kind small{color:var(--muted);font-size:var(--text-xs)}.calendar-kind.is-active{background:var(--surface-soft);color:var(--ink)}.calendar-kind:hover{background:var(--paper-deep)}.calendar-kind:not(.is-active) .calendar-kind-dot{opacity:.3}.calendar-kind-dot{border-radius:50%;width:9px;height:9px}.calendar-kind.is-movie .calendar-kind-dot,.calendar-day-dots .is-movie{background:var(--cal-movie)}.calendar-kind.is-series .calendar-kind-dot,.calendar-day-dots .is-series{background:var(--cal-series)}.calendar-kind.is-anime .calendar-kind-dot,.calendar-day-dots .is-anime{background:var(--cal-anime)}.calendar-hint{color:var(--muted);font-size:var(--text-sm);flex-basis:100%;margin:0}.calendar-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;margin-top:22px;display:grid}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-grid.is-week{margin-top:2px}.calendar-weekday{color:var(--muted);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;padding:0 4px 6px;font-weight:800}.calendar-day{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);min-height:104px;color:var(--ink);text-align:left;cursor:pointer;flex-direction:column;align-items:stretch;gap:6px;padding:8px;transition:border-color .15s,background .15s;display:flex;position:relative}.calendar-day:hover{border-color:color-mix(in srgb, var(--ink) 45%, transparent)}.calendar-day.is-outside{opacity:.42}.calendar-day.is-selected{background:var(--surface);border-color:var(--ink);box-shadow:0 10px 28px var(--shadow)}.calendar-day-number{font-size:var(--text-sm);font-weight:800}.calendar-week-day{text-align:center;justify-content:center;align-items:center;gap:5px;min-height:94px;padding:9px 4px}.calendar-week-month,.calendar-week-weekday{color:var(--muted);font-size:var(--text-xs);text-transform:capitalize;font-weight:750}.calendar-week-day .calendar-day-number{font-size:1.05rem}.calendar-week-day .calendar-day-dots{gap:4px;min-height:7px;margin-top:0;display:flex}.calendar-week-day .calendar-day-dots i{border-radius:50%;width:6px;height:6px}.calendar-day.is-today .calendar-day-number{background:var(--acid);width:24px;height:24px;color:var(--on-accent);border-radius:50%;place-items:center;margin:-3px 0 0 -3px;display:grid}.calendar-day-thumbs{align-items:center;gap:4px;min-width:0;margin-top:auto;display:flex}.calendar-thumb{aspect-ratio:2/3;background:var(--line);border-radius:var(--radius-xs);border-bottom:2px solid #0000;flex:1 1 0;min-width:0;max-width:34px;position:relative;overflow:hidden}.calendar-thumb.is-movie{border-bottom-color:var(--cal-movie)}.calendar-thumb.is-series{border-bottom-color:var(--cal-series)}.calendar-thumb.is-anime{border-bottom-color:var(--cal-anime)}.calendar-thumb img{object-fit:cover}.calendar-more{color:var(--muted);font-size:var(--text-xs);flex:none;font-weight:800}.calendar-day-dots{display:none}.calendar-release-days{gap:26px;min-width:0;display:grid}.calendar-release-day>header{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 12px;margin-bottom:6px;padding:0 0 10px;display:flex}.calendar-release-day h2{font-family:var(--font-display), serif;font-size:1.35rem;font-weight:var(--display-weight);margin:0}.calendar-release-day>header small{color:var(--muted);font-size:var(--text-xs);font-weight:750}.calendar-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.calendar-list-full{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 12px}.calendar-list-entry{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px;display:grid;position:relative}.calendar-list-full .calendar-list-entry{background:var(--surface-strong);border:1px solid var(--line);border-radius:var(--radius-md);min-width:0;padding:4px}.calendar-list-full a{grid-template-columns:64px minmax(0,1fr)}.calendar-list a{border-radius:var(--radius-md);min-width:0;color:var(--ink);grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px;padding:8px;text-decoration:none;display:grid}.calendar-list a:hover{background:var(--surface-soft)}.calendar-unfollow{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex:none;place-items:center;display:grid}.calendar-unfollow:hover{background:var(--surface-soft);border-color:var(--line);color:var(--red)}.calendar-unfollow:disabled{cursor:wait;opacity:.45}.calendar-unfollow svg{width:17px;height:17px}.calendar-list-poster{aspect-ratio:2/3;background:var(--line);border-radius:var(--radius-sm);color:var(--muted);place-items:center;display:grid;position:relative;overflow:hidden}.calendar-list-poster img{object-fit:cover}.calendar-list-copy{gap:3px;min-width:0;display:grid}.calendar-list-copy strong{font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-list-copy small{color:var(--muted);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-list a.is-highlight small{color:var(--green);font-weight:750}.calendar-badge{border-radius:var(--radius-pill);color:var(--fixed-ink);font-size:var(--text-2xs);letter-spacing:.04em;text-transform:uppercase;justify-self:start;padding:2px 7px;font-weight:850}.calendar-badge.is-movie{background:var(--cal-movie)}.calendar-badge.is-series{background:var(--cal-series)}.calendar-badge.is-anime{background:var(--cal-anime)}.calendar-list-week{grid-template-columns:repeat(auto-fill,minmax(180px,220px));gap:20px 16px}.calendar-list-week .calendar-list-entry{background:0 0;border:0;border-radius:0;padding:0;display:block}.calendar-list-week a{border-radius:var(--radius-md);grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;padding:0}.calendar-list-week a:hover{background:0 0}.calendar-list-week .calendar-list-poster{aspect-ratio:1;border-radius:var(--radius-md)}.calendar-list-week a:hover .calendar-list-poster{outline:1px solid var(--line);outline-offset:2px}.calendar-list-week .calendar-list-copy{gap:4px}.calendar-list-week .calendar-list-copy strong{font-size:var(--text-md)}.calendar-list-week .calendar-list-poster>.calendar-badge{z-index:1;position:absolute;bottom:8px;left:8px}.calendar-list-week .calendar-unfollow{background:var(--surface-strong);border-color:var(--line);color:var(--ink);position:absolute;top:8px;right:8px}.calendar-list-week .calendar-unfollow:hover{color:var(--red)}.calendar-empty{color:var(--muted);font-size:var(--text-md);margin:12px 0 0;line-height:1.6}.calendar-skeleton{display:grid}.calendar-skeleton-block,.calendar-skeleton-weekdays span,.calendar-skeleton-day>i,.calendar-skeleton-posters b{background:linear-gradient(105deg, transparent 25%, color-mix(in srgb, var(--surface) 70%, transparent) 44%, transparent 63%), var(--line);background-size:230% 100%;animation:1.45s ease-in-out infinite calendar-skeleton-shimmer;display:block;overflow:hidden}.calendar-skeleton-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px 28px;display:flex}.calendar-skeleton-block.is-title{border-radius:var(--radius-md);width:220px;height:54px}.calendar-skeleton-block.is-view-tabs{border-radius:var(--radius-pill);width:134px;height:42px}.calendar-skeleton-navigation{border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:4px;margin-left:auto;padding:4px;display:flex}.calendar-skeleton-block.is-circle{border-radius:var(--radius-sm);width:36px;height:36px}.calendar-skeleton-block.is-month{border-radius:var(--radius-sm);width:190px;height:16px}.calendar-skeleton-block.is-today{border-radius:var(--radius-sm);width:52px;height:36px;margin-left:4px}.calendar-skeleton-filters{flex-wrap:wrap;align-items:center;gap:12px 10px;margin-top:26px;display:flex}.calendar-skeleton-block.is-filter{border-radius:var(--radius-pill);width:92px;height:36px}.calendar-skeleton-hint-row{flex-basis:100%}.calendar-skeleton-block.is-hint{border-radius:var(--radius-xs);width:128px;height:10px}.calendar-skeleton-layout{grid-template-columns:minmax(0,1fr);align-items:start;gap:22px;margin-top:22px;display:grid}.calendar-skeleton-results{gap:18px;display:grid}.calendar-skeleton-release-day{gap:6px;display:grid}.calendar-skeleton-release-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.calendar-skeleton-release-header .is-panel-title{width:180px}.calendar-skeleton-release-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px 12px;display:grid}.calendar-skeleton-weekdays{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-skeleton-weekdays span{border-radius:var(--radius-xs);width:38%;height:7px;margin:2px 4px 10px}.calendar-skeleton-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-skeleton-grid.is-week{margin-top:2px}.calendar-skeleton-day{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-md);flex-direction:column;min-height:104px;padding:8px;display:flex;overflow:hidden}.calendar-skeleton-day>i{border-radius:var(--radius-xs);width:18px;height:9px}.calendar-skeleton-grid.is-week .calendar-skeleton-day{min-height:94px}.calendar-skeleton-posters{gap:4px;margin-top:auto;display:flex}.calendar-skeleton-posters b{aspect-ratio:2/3;border-radius:var(--radius-xs);width:26px}.calendar-skeleton-day:nth-child(3n)>i,.calendar-skeleton-day:nth-child(3n) b{animation-delay:-.42s}.calendar-skeleton-day:nth-child(3n+2)>i,.calendar-skeleton-day:nth-child(3n+2) b{animation-delay:-.84s}.calendar-skeleton-block.is-panel-title{border-radius:var(--radius-sm);width:158px;height:22px}.calendar-skeleton-block.is-count{border-radius:var(--radius-xs);width:58px;height:8px}.calendar-skeleton-row{grid-template-columns:64px minmax(0,1fr);align-items:center;gap:12px;padding:8px;display:grid}.calendar-skeleton-row>span:last-child{gap:6px;display:grid}.calendar-skeleton-row i{border-radius:var(--radius-xs);width:72%;height:7px}.calendar-skeleton-row i:first-child{border-radius:var(--radius-pill);width:38%;height:12px}.calendar-skeleton-row i:nth-child(2){width:88%;height:10px}.calendar-skeleton-block.is-poster{aspect-ratio:2/3;border-radius:var(--radius-sm);width:64px}.calendar-skeleton.is-week .calendar-skeleton-release-list{grid-template-columns:repeat(auto-fill,minmax(180px,220px));gap:20px 16px}.calendar-skeleton.is-week .calendar-skeleton-row{grid-template-columns:minmax(0,1fr);align-items:start;gap:10px;padding:0}.calendar-skeleton.is-week .calendar-skeleton-block.is-poster{aspect-ratio:1;border-radius:var(--radius-md);width:100%}.calendar-skeleton.is-week .calendar-skeleton-row i:first-child{display:none}@keyframes calendar-skeleton-shimmer{to{background-position:-180% 0}}@keyframes calendar-skeleton-pulse{0%{opacity:.55}to{opacity:1}}@media (min-width:1001px){.calendar-layout.is-month,.calendar-skeleton-layout.is-month{grid-template-columns:minmax(0,1fr) 360px;gap:28px}}@media (max-width:640px){.calendar-page{padding:28px 16px 40px}.calendar-header{align-items:center;gap:16px}.calendar-header-tools,.calendar-skeleton-block.is-view-tabs{display:none}.calendar-month-nav{justify-content:space-between;width:100%}.calendar-month-nav strong{min-width:0;font-size:var(--text-sm);flex:1;padding:0}.calendar-kind{gap:6px;padding:8px 10px}.calendar-grid{gap:3px}.calendar-weekday{font-size:var(--text-2xs);text-align:center;padding:0 0 4px}.calendar-day{border-radius:var(--radius-sm);align-items:center;gap:4px;min-height:52px;padding:6px 2px}.calendar-week-day{gap:4px;min-height:78px;padding:7px 1px}.calendar-week-day .calendar-day-number{font-size:var(--text-base)}.calendar-week-month,.calendar-week-weekday{font-size:var(--text-2xs)}.calendar-day.is-today .calendar-day-number{margin:-2px 0 0}.calendar-day-thumbs{display:none}.calendar-day-dots{gap:3px;margin-top:auto;display:flex}.calendar-day-dots i{border-radius:50%;width:6px;height:6px}.calendar-list-week{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px}.calendar-skeleton-navigation{justify-content:space-between;width:100%}.calendar-skeleton-block.is-month{flex:1;width:auto}.calendar-skeleton-block,.calendar-skeleton-weekdays span,.calendar-skeleton-day>i,.calendar-skeleton-posters b{background:var(--line);animation:none}.calendar-skeleton-block.is-title{animation:1.45s ease-in-out infinite alternate calendar-skeleton-pulse}.calendar-skeleton-filters{gap:9px 6px;margin-top:18px}.calendar-skeleton-block.is-filter,.calendar-skeleton-block.is-hint{visibility:hidden;animation:none}.calendar-skeleton-weekdays{gap:3px}.calendar-skeleton-weekdays span{width:54%;margin:2px auto 8px}.calendar-skeleton-grid{gap:3px}.calendar-skeleton-day{border-radius:var(--radius-sm);align-items:center;min-height:52px;padding:6px 2px}.calendar-skeleton-grid.is-week .calendar-skeleton-day{min-height:78px}.calendar-skeleton-day>i{visibility:hidden;width:12px;height:8px;animation:none}.calendar-skeleton-release-list{grid-template-columns:minmax(0,1fr)}.calendar-skeleton.is-week .calendar-skeleton-release-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.calendar-skeleton-block,.calendar-skeleton-block.is-title,.calendar-skeleton-weekdays span,.calendar-skeleton-day>i,.calendar-skeleton-posters b{animation:none}}
