.sch-meta{gap:var(--s-1) var(--s-4);margin-top:var(--s-3);flex-wrap:wrap;display:flex}.sch-meta:empty{display:none}.sch-meta--warn{color:var(--c-warn);font-weight:600}.sch-hi,.sch-row{--item-accent:var(--c-line)}.sch-hi--ongoing,.sch-row--ongoing{--item-accent:var(--c-warn)}.sch-hi--upcoming,.sch-row--upcoming{--item-accent:var(--c-accent)}.sch-hi--notice,.sch-row--notice{--item-accent:var(--c-text-3)}.sch-dday{letter-spacing:.04em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--c-text-2);font-size:12px;font-weight:800}.sch-hi--ongoing .sch-dday,.sch-row--ongoing .sch-dday{color:var(--c-warn)}.sch-hi--upcoming .sch-dday,.sch-row--upcoming .sch-dday{color:var(--c-accent)}.sch-toolbar{align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.sch-search{flex:240px;width:auto;min-width:0}.sch-year{margin-left:auto}.sch-quick{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;flex:240px;min-width:0;overflow-x:auto}.sch-quick::-webkit-scrollbar{display:none}.sch-quick>*{white-space:nowrap;flex:none}@media (width<=640px){.sch-search,.sch-quick{flex:100%}.sch-year{margin-left:0}}.sch-month-title{margin-bottom:var(--s-2);letter-spacing:.06em;color:var(--c-text-3);font-size:12px;font-weight:800}.sch-row--past{opacity:.55}.sch-kind{flex-shrink:0}.sch-link{color:inherit;transition:border-color .15s var(--ease), color .15s var(--ease);border-bottom:1px solid #0000;text-decoration:none}.sch-link:hover{color:var(--c-accent);border-bottom-color:currentColor}.sch-more{margin:var(--s-4) auto 0;display:block}.sch-source{padding-top:var(--s-5);border-top:1px solid var(--c-line);text-align:center}.sch-source .btn{margin-top:var(--s-2)}@media (width<=640px){.sch-year{width:100%;margin-left:0}}@media (prefers-reduced-motion:reduce){.sch-link{transition:none}}.sch-cal{border:1px solid var(--c-line);border-radius:var(--r-md);background:var(--c-bg-raised);overflow:hidden}.sch-cal:empty{display:none}.sch-cal-head{align-items:center;gap:var(--s-2);padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--c-line-soft);display:flex}.sch-cal-title{font-size:var(--fs-lg);font-weight:800}.sch-nav{width:32px;padding:0;font-size:16px;line-height:1}.sch-today{margin-left:auto}.sch-week,.sch-grid{grid-template-columns:repeat(7,1fr);display:grid}.sch-week{padding:var(--s-2) 0;border-bottom:1px solid var(--c-line-soft);background:var(--c-bg-sunken)}.sch-week-name{text-align:center;font-size:var(--fs-xs);color:var(--c-text-3);font-weight:700}.sch-week-name--sun{color:var(--c-danger)}.sch-week-name--sat{color:var(--c-accent)}.sch-day{align-items:center;gap:var(--s-1);min-height:62px;padding:var(--s-2) 0;border:none;border-right:1px solid var(--c-line-soft);border-bottom:1px solid var(--c-line-soft);color:var(--c-text);font:inherit;cursor:pointer;transition:background .12s var(--ease);background:0 0;flex-direction:column;display:flex;position:relative}.sch-day:nth-child(7n){border-right:none}.sch-day:nth-last-child(-n+7){border-bottom:none}.sch-day:hover{background:var(--c-bg-sunken)}.sch-day:focus-visible{outline:2px solid var(--c-accent);outline-offset:-2px}.sch-day-num{font-size:var(--fs-sm);font-weight:600;line-height:1.4}.sch-day--outside .sch-day-num{color:var(--c-text-3)}.sch-day--outside .sch-dots{opacity:.45}.sch-day--sun .sch-day-num{color:var(--c-danger)}.sch-day--sat .sch-day-num{color:var(--c-accent)}.sch-day--outside.sch-day--sun .sch-day-num,.sch-day--outside.sch-day--sat .sch-day-num{color:var(--c-text-3)}.sch-day--today .sch-day-num{background:var(--c-accent);width:22px;height:22px;color:var(--c-accent-text);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.sch-day--selected{background:var(--c-accent-weak);box-shadow:inset 0 0 0 2px var(--c-accent)}.sch-dots{gap:3px;min-height:6px;display:flex}.sch-dot{background:var(--c-text-3);border-radius:50%;width:5px;height:5px}.sch-dot--work,.sch-dot--grant{background:var(--c-warn)}.sch-dot--course{background:var(--c-accent)}.sch-dot--dorm{background:#2f7d4f}.sch-dot--calendar{background:var(--c-accent)}.sch-dot--notice{background:var(--c-text-3)}.sch-dot--more{box-shadow:inset 0 0 0 1px var(--c-text-3);background:0 0}.sch-list-head{margin-bottom:var(--s-3)}@media (width<=640px){.sch-day{min-height:52px}.sch-cal-head{padding:var(--s-2) var(--s-3)}}@media (pointer:fine){.sch-quick{cursor:grab}.sch-quick:active{cursor:grabbing}}.sch-quick{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#000 calc(100% - 24px),#0000 100%)}.sch-quick.is-end{-webkit-mask-image:none;mask-image:none}@media (pointer:coarse){.sch-nav{min-width:44px}}
