.cal{gap:var(--space-6);flex-direction:column;display:flex}.cal__bar{justify-content:center;align-items:center;gap:var(--space-4);display:flex}.cal__title{font-family:var(--font-pixel);font-size:var(--admin-text-lg,var(--text-lg));color:var(--c-cyan);text-shadow:0 0 12px #28d6df66;text-shadow:0 0 12px lab(78.0575% -40.6977 -16.7149/.4);text-align:center;min-width:8.5rem}.cal__nav{font-family:var(--font-pixel);font-size:var(--admin-text-lg,var(--text-lg));color:var(--c-text);background:var(--c-surface-raised);border:2px solid var(--c-border);border-radius:var(--radius);min-width:44px;min-height:44px;padding:var(--space-2) var(--space-3);cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out-expo), color var(--dur-fast) var(--ease-out-expo), transform var(--dur-fast) var(--ease-out-expo);justify-content:center;align-items:center;line-height:1;display:inline-flex}.cal__nav:hover{color:var(--c-accent);border-color:var(--c-accent-soft);box-shadow:0 0 12px var(--c-accent-glow)}.cal__nav:active{transform:translateY(1px)}.cal__nav:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.cal__grid{background:var(--c-border);border:2px solid var(--c-border);border-radius:var(--radius);box-shadow:var(--shadow-panel);grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid;overflow:hidden}.cal__wd{font-family:var(--font-pixel);font-size:var(--text-xs);text-align:center;padding:var(--space-2) 0;color:var(--c-text-dim);background:var(--c-surface-raised)}.cal__wd[data-weekend=true]{color:var(--c-accent)}.cal__cell{min-width:0;min-height:6.25rem;padding:var(--space-1);background:var(--c-surface);gap:var(--space-1);flex-direction:column;display:flex;position:relative}.cal__cell--empty{background:#0e101f;background:lab(5.05572% 1.8611 -10.0142);min-height:0}.cal__cell:not(.cal__cell--empty){transition:background var(--dur-fast) var(--ease-out-expo)}.cal__cell:not(.cal__cell--empty):hover{background:var(--c-surface-raised)}.cal__cell[data-weekend=true] .cal__daynum{color:var(--c-accent)}.cal__cell[data-past=true]{opacity:.5}.cal__cell[data-today=true]{box-shadow:inset 0 0 0 2px var(--c-accent), inset 0 0 14px -2px var(--c-accent-glow), 0 0 12px -4px var(--c-accent-glow);background:#4e192399;background:lab(17.8895% 26.0471 7.08008/.6)}.cal__cell[data-today=true]:hover{background:#5a1d29b3;background:lab(21.2552% 29.2948 7.9816/.7)}.cal__cell[data-today=true] .cal__daynum{color:var(--c-accent);text-shadow:0 0 10px var(--c-accent-glow);font-weight:700}.cal__daynum{font-family:var(--font-pixel);font-size:var(--text-xs);color:var(--c-text-dim);padding-left:2px}.cal__chips{flex-direction:column;gap:2px;min-width:0;list-style:none;display:flex}.cal__chip{min-width:0;font-size:var(--text-xs);background:var(--c-surface-raised);border-left:3px solid var(--c-accent-soft);border-radius:var(--radius-sm);transition:transform var(--dur-fast) var(--ease-out-expo), filter var(--dur-fast) var(--ease-out-expo);align-items:baseline;gap:4px;padding:2px 4px;line-height:1.25;display:flex;overflow:hidden}.cal__chip-time{font-family:var(--font-pixel);color:var(--c-accent);flex-shrink:0}.cal__chip-title{font-family:var(--font-pixel);color:var(--c-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cal__agenda{background:var(--c-surface);border:2px solid var(--c-border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-panel)}.cal__agenda-heading{font-family:var(--font-pixel);font-size:var(--text-base);color:var(--c-cyan);margin-bottom:var(--space-3)}.cal__agenda-empty{color:var(--c-text-faint);font-size:var(--admin-text-sm,var(--text-sm))}.cal__agenda-days{gap:var(--space-3);flex-direction:column;list-style:none;display:flex}.cal__agenda-day{gap:var(--space-3);grid-template-columns:3.25rem 1fr;display:grid}.cal__agenda-day[data-past=true]{opacity:.55}.cal__agenda-date{padding:var(--space-2) 0;background:var(--c-surface-raised);border:1px solid var(--c-border);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:2px;height:fit-content;display:flex}.cal__agenda-day[data-today=true] .cal__agenda-date{border-color:var(--c-accent);box-shadow:0 0 10px var(--c-accent-glow)}.cal__agenda-num{font-family:var(--font-pixel);font-size:var(--text-base);color:var(--c-text)}.cal__agenda-wd{font-family:var(--font-pixel);font-size:var(--text-xs);color:var(--c-text-dim)}.cal__agenda-date[data-weekend=true] .cal__agenda-wd{color:var(--c-accent)}.cal__agenda-events{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.cal__agenda-event{gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--c-surface-raised);border-left:3px solid var(--c-accent-soft);border-radius:var(--radius-sm);grid-template-columns:3.5rem 1fr;align-items:baseline;display:grid}.cal__agenda-time{font-family:var(--font-pixel);font-size:var(--text-xs);color:var(--c-accent)}.cal__agenda-title{font-size:var(--text-base);color:var(--c-text);font-weight:600}.cal__agenda-sub{gap:2px var(--space-2);font-size:var(--text-xs);color:var(--c-text-dim);flex-wrap:wrap;margin-top:2px;display:flex}.cal__agenda-game{color:var(--c-cyan)}.cal__agenda-game:before{content:"· "}.cal__agenda-note{font-size:var(--text-xs);color:var(--c-text-faint);margin-top:2px;font-style:italic}@media (max-width:768px){.cal__cell{min-height:4.5rem}}@media (max-width:560px){.cal__cell{min-height:3.5rem}.cal__chips{flex-flow:wrap;gap:3px;padding-left:2px}.cal__chip{border-radius:var(--radius-pill);background:var(--c-accent);border:none;width:6px;height:6px;padding:0}.cal__chip[data-kind=schedule]{background:var(--c-cyan)}.cal__chip[data-kind=up]{background:var(--c-accent)}.cal__chip-time,.cal__chip-title{display:none}.cal__agenda-event{grid-template-columns:1fr;gap:2px}}@media (prefers-reduced-motion:reduce){.cal__cell:not(.cal__cell--empty),.cal__chip{transition:none}.cal__chip:hover{filter:none;transform:none}}
.cal__chip[data-kind=up]{border-left:var(--px) solid var(--c-accent);box-shadow:inset 2px 0 6px -4px var(--c-accent-glow)}.cal__chip[data-kind=schedule]{padding-left:calc(4px + var(--px));border-left:0;position:relative}.cal__chip[data-kind=schedule]:before{content:"";width:var(--px);background:var(--sig,var(--calendar-kind-sig,var(--c-cyan)));pointer-events:none;position:absolute;inset:0 auto 0 0}.cal__chip[data-event-kind=off]{--calendar-kind-sig:gray;box-shadow:none}@supports (color:lab(0% 0 0)){.cal__chip[data-event-kind=off]{--calendar-kind-sig:lab(53.6% 0 0)}}.cal__chip[data-event-kind=off] .cal__chip-time{color:var(--c-text-dim)}.cal__chip[data-event-kind=other] .cal__chip-title{color:var(--c-text-dim);font-size:.9em}@media (hover:hover) and (pointer:fine){.cal__chip:hover{filter:brightness(1.12);transform:translateY(-1px)}}.cal__chip[data-expired=true]{opacity:.45}.cal__chip-btn{all:unset;cursor:pointer;gap:4px;width:100%;display:flex}.cal__chip-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:1px}.cal__cell--btn{cursor:pointer;border:inherit;font:inherit;text-align:left;background:0 0}.cal__cell--btn:hover{background:var(--c-surface-raised)}.cal__cell--btn:focus-visible{outline:3px solid var(--c-accent);outline-offset:-3px}.ucal__more{margin:0 0 var(--space-4)}.ucal__more-link{font-family:var(--font-pixel);font-size:var(--text-sm);color:var(--c-text-dim);transition:color var(--dur-fast) var(--ease-out-expo);text-decoration:none}.ucal__more-link:hover{color:var(--c-accent)}.ucal__more-link:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.ucal__agenda{margin-top:var(--space-6)}.ucal__sched{align-items:baseline;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--c-border);font-size:var(--text-sm);border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out-expo);flex-wrap:wrap;display:flex}.ucal__sched:hover{background:var(--c-surface-raised)}.ucal__sched[data-today=true]{padding-left:var(--space-3);border-left:var(--px) solid var(--c-accent);box-shadow:inset 0 0 14px -6px var(--c-accent-glow);background:#4e192373;background:lab(17.8895% 26.0471 7.08008/.45)}.ucal__sched[data-today=true] .ucal__sched-title{color:var(--c-accent)}.ucal__sched-date{font-family:var(--font-pixel);color:var(--c-text-dim);min-width:6rem}.ucal__sched-time{font-family:var(--font-pixel);color:var(--c-accent)}.ucal__sched-title{overflow-wrap:anywhere;font-weight:600}.ucal__sched[data-event-kind=off] .ucal__sched-time{color:var(--c-text-dim)}.ucal__sched[data-event-kind=other] .ucal__sched-title{font-size:var(--text-xs);font-weight:400}.ucal__up{align-items:center;gap:var(--space-1) var(--space-3);padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--c-border);font-size:var(--text-sm);border-radius:var(--radius-sm);transition:background var(--dur-fast) var(--ease-out-expo);display:flex}.ucal__up:hover{background:var(--c-surface-raised)}.ucal__up[data-today=true]{padding-left:var(--space-3);border-left:var(--px) solid var(--c-accent);box-shadow:inset 0 0 14px -6px var(--c-accent-glow);background:#4e192373;background:lab(17.8895% 26.0471 7.08008/.45)}.ucal__up-tag{font-family:var(--font-pixel);font-size:var(--text-xs);color:var(--c-accent);border:1px solid var(--c-accent);border-radius:var(--radius-sm);padding:0 var(--space-1);flex:none}.ucal__up-title{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-weight:600;overflow:hidden}.ucal__up-btn{font-family:var(--font-pixel);font-size:var(--text-xs);background:var(--c-accent);color:var(--c-surface);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);transition:filter var(--dur-fast) var(--ease-out-expo), box-shadow var(--dur-fast) var(--ease-out-expo);flex:none;margin-left:auto;font-weight:800;text-decoration:none}.ucal__up-btn:hover{filter:brightness(1.08);box-shadow:0 0 12px -2px var(--c-accent-glow)}.ucal__up-btn:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.ucal__sched,.ucal__up,.ucal__up-btn{transition:none}}.ucal__hint{margin-top:var(--space-4);color:var(--c-text-dim);font-size:var(--text-xs)}.cal-popover{z-index:200;background:#0000008c;background:lab(0% 0 0/.55);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cal-popover__panel{background:var(--c-surface);border:1px solid var(--c-border-strong);border-radius:var(--radius);padding:var(--space-6) var(--space-8);width:min(34rem,100vw - 2rem);max-height:calc(100dvh - 4rem);position:relative;overflow-y:auto;box-shadow:0 24px 64px -24px #000000b3;box-shadow:0 24px 64px -24px lab(0% 0 0/.7)}.cal-popover__close{all:unset;cursor:pointer;top:var(--space-1);right:var(--space-1);min-width:44px;min-height:44px;color:var(--c-text-dim);justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex;position:absolute}.cal-popover__close:hover{color:var(--c-text)}.cal-popover__close:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.cal-popover__date{font-size:var(--text-base);color:var(--c-text);margin:0 0 var(--space-4);text-align:center}.cal-popover__date strong{font-family:var(--font-pixel);color:var(--c-cyan)}.cal-popover__choices{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.cal-popover__choice{all:unset;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);min-height:96px;padding:var(--space-4);border:1px solid var(--c-border-strong);border-radius:var(--radius);background:var(--c-surface-raised);font-family:var(--font-pixel);font-size:var(--text-base);color:var(--c-text);transition:border-color var(--dur-fast) var(--ease-out-expo), background var(--dur-fast) var(--ease-out-expo), transform var(--dur-fast) var(--ease-out-expo), box-shadow var(--dur-fast) var(--ease-out-expo);flex-direction:column;display:flex}.cal-popover__choice:hover{border-color:var(--c-accent);background:var(--c-surface);box-shadow:0 0 18px -6px var(--c-accent-glow);transform:translateY(-2px)}.cal-popover__choice:focus-visible{outline:2px solid var(--c-accent);outline-offset:2px}.cal-popover__choice-icon{font-size:30px;line-height:1}@media (prefers-reduced-motion:reduce){.cal-popover__choice:hover{transform:none}}@media (max-width:560px){.cal__chip[data-kind=schedule]{background:var(--sig,var(--calendar-kind-sig,var(--c-cyan)));padding:0}.cal__chip[data-kind=schedule]:before{display:none}.cal__chip[data-event-kind=other]{--calendar-kind-sig:var(--c-text-dim)}.cal__chip .schedule-kind{display:none}.cal-popover{align-items:flex-end}.cal-popover__panel{width:100%;max-width:none;max-height:85dvh;animation:cal-sheet-up var(--dur-normal,.3s) var(--ease-out-expo);border-bottom:none;border-bottom-right-radius:0;border-bottom-left-radius:0}}@keyframes cal-sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.cal-popover__panel{animation:none}.cal__chip:hover{filter:none;transform:none}}
