/* Quiet, paper-like calendar. Scoped to the public course calendar. */
.art-calendar .fc-ltr .fc-dayGrid-view .fc-day-top .fc-day-number{float:none;white-space:nowrap}
.art-calendar{background:#fcfbf7;border:1px solid #ded9ce;padding:0;margin:32px 0 65px;box-shadow:0 12px 35px #504b3e05}
.art-calendar summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:28px 32px;margin:0!important}
.art-calendar summary::-webkit-details-marker{display:none}
.art-calendar summary .eyebrow{display:block;font-size:9px;margin-bottom:6px}
.calendar-heading{font-family:var(--serif);font-size:24px;letter-spacing:.13em}
.calendar-summary-note{color:var(--muted);font-family:var(--serif);font-size:12px;letter-spacing:.12em;display:flex;align-items:center;gap:24px}
.calendar-chevron{font:20px/1 Arial;transition:transform .2s}.art-calendar[open] .calendar-chevron{transform:rotate(180deg)}
.calendar-body{padding:0 32px}.calendar-controls{padding:26px 0 22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}
.calendar-month{display:flex;align-items:baseline;gap:12px}.calendar-year{font:20px Georgia,serif;color:#888478}.calendar-month h2{font-family:var(--serif);font-size:34px!important;line-height:1.4;margin:0;letter-spacing:.03em}.calendar-count{font-size:11px;color:var(--muted);margin-left:8px}
.calendar-navigation{display:flex;gap:8px}.calendar-navigation button{border:1px solid #dcd7ca;background:transparent;color:#514f45;height:42px;min-width:42px;padding:0 14px;font-size:14px;cursor:pointer}.calendar-navigation button:hover{background:#eae7dd}.calendar-navigation #calendar-today{font-size:12px;letter-spacing:.1em}
.calendar-filter-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.calendar-filters{display:flex;border:1px solid #e2ded3;padding:4px;gap:4px;background:#f4f2eb}.calendar-filters button{border:0;background:transparent;min-height:36px;padding:7px 15px;font-size:12px;color:#666357;cursor:pointer;display:flex;align-items:center;gap:7px}.calendar-filters button[aria-pressed=true]{background:#fffdf8;color:#383a34;box-shadow:0 1px 4px #39342414}.city-dot{height:6px;width:6px;border-radius:50%;display:inline-block}.city-dot.taipei{background:#6f7d65}.city-dot.taichung{background:#b28a68}.calendar-help{font-size:11px;color:#797569;letter-spacing:.03em}
.art-calendar #calendar{font-family:Arial,'Microsoft JhengHei',sans-serif}.art-calendar .fc-unthemed th,.art-calendar .fc-unthemed td,.art-calendar .fc-unthemed .fc-row,.art-calendar .fc-unthemed .fc-content-skeleton{border-color:#e5e1d7}.art-calendar .fc-head th{background:#f2f0e8;padding:12px 0;border:0;font-size:11px;font-weight:400;color:#777265;letter-spacing:.2em}.art-calendar .fc-head-container{border:0}.art-calendar .fc-view>table{border-top:0}.art-calendar .fc-day-grid .fc-row{min-height:114px}.art-calendar .fc-day-top .fc-day-number{float:none;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;margin:8px 0 5px 8px;font:14px Georgia,serif;color:#625e53}.art-calendar .fc-other-month{background:#f7f5ee}.art-calendar .fc-other-month.fc-day-top{opacity:.38}.art-calendar .fc-unthemed td.fc-today{background:#eeeede}.art-calendar .fc-today .fc-day-number{background:#5c6550;color:white;border-radius:50%}.art-calendar .fc-sun .fc-day-number,.art-calendar .fc-sat .fc-day-number{color:#9a7d63}.art-calendar .fc-today.fc-sun .fc-day-number,.art-calendar .fc-today.fc-sat .fc-day-number{color:white}
.art-calendar a.art-event{border:0!important;border-left:2px solid #829076!important;border-radius:2px;margin:3px 5px;padding:6px 7px;background:#e8ece2!important;color:#414e3b!important;white-space:normal;transition:background .15s}.art-calendar a.art-event:hover{background:#dce4d2!important}.art-calendar a.event-taichung{border-left-color:#b48c6b!important;background:#f1e7dc!important;color:#77543e!important}.art-calendar a.event-taichung:hover{background:#e9d9c8!important}.art-event-meta{display:block;font-size:9px;line-height:1.5;opacity:.9;margin-bottom:3px}.art-event-title{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;line-height:1.65;overflow-wrap:anywhere}.art-event-compact{display:none}.calendar-bottom{padding:19px 0;display:flex;justify-content:space-between;gap:16px;color:#827b6b;font:12px var(--serif);letter-spacing:.1em}.calendar-bottom .eyebrow{font:9px Arial,sans-serif;letter-spacing:.16em}.calendar-empty{padding:20px;margin:15px 0 0!important;background:#f4f1e9;font-size:13px;color:#787061;text-align:center}.calendar-empty a{text-decoration:underline;text-underline-offset:4px}.calendar-empty[hidden]{display:none}.calendar-agenda{display:none}
@media(max-width:900px){.calendar-help{display:none}.calendar-count{display:none}.calendar-body{padding:0 22px}.art-calendar summary{padding:24px 22px}.art-event-meta{font-size:8px}.art-calendar a.art-event{padding:5px}}
@media(max-width:600px){.art-calendar{margin:25px -8px 40px}.art-calendar summary{padding:20px 16px}.calendar-body{padding:0 12px}.calendar-heading{font-size:22px}.calendar-summary-note{font-size:10px;gap:10px}.calendar-controls{padding:20px 0;gap:10px}.calendar-month{gap:6px}.calendar-year{font-size:16px}.calendar-month h2{font-size:27px!important}.calendar-navigation{gap:5px}.calendar-navigation button{padding:0 10px;min-width:36px;height:40px}.calendar-filters{width:100%}.calendar-filters button{flex:1;justify-content:center;padding:6px}.calendar-filter-row{margin-bottom:18px}.art-calendar .fc-head th{padding:10px 0}.art-calendar .fc-day-grid .fc-row{min-height:67px}.art-calendar .fc-day-top .fc-day-number{width:25px;height:25px;margin:4px 0 2px 4px;font-size:12px}.art-calendar a.art-event{margin:2px;padding:3px 1px;border-left-width:1px!important;text-align:center}.art-event-meta,.art-event-title{display:none}.art-event-compact{display:block;font-size:8px;line-height:1.5;letter-spacing:-.2px}.calendar-bottom{font-size:10px;padding:15px 2px}.calendar-bottom .eyebrow{display:none}.calendar-agenda{display:block}.agenda-heading{font-size:16px!important;margin:24px 0 12px}.agenda-event{display:flex;gap:12px;align-items:center;border-top:1px solid var(--line);padding:15px 0}.agenda-day{font:25px Georgia,serif;width:36px;flex-shrink:0;text-align:center;color:#69765f}.agenda-event.taichung .agenda-day{color:#9b7557}.agenda-copy{display:flex;flex-direction:column;min-width:0;flex:1;font-size:12px;line-height:1.6}.agenda-copy small{font-size:10px;color:var(--muted);margin-bottom:5px}.agenda-arrow{font-size:17px;color:var(--muted)}}
