/* The monthly timetable is isolated from the theme's general details styles. */
.seiran-month-schedule{
  --schedule-accent:#a13e39;
  --schedule-paper:#faf7f1;
  --schedule-border:#e4ddd3;
  --schedule-muted:#716b63;
  color:var(--ink,#26313a);
  scroll-margin-top:135px;
}
.seiran-month-schedule .month-schedule-heading{margin-bottom:26px}
.seiran-month-schedule .month-schedule-kicker{margin:0 0 10px;padding:0;color:var(--schedule-accent);font:600 11px/1.6 Arial,sans-serif;letter-spacing:.15em}
.seiran-month-schedule h2{margin:0 0 14px;font-size:29px;line-height:1.5;letter-spacing:.025em}
.seiran-month-schedule .month-schedule-intro{max-width:820px;margin:0;padding:0;font-size:14px;line-height:1.95;color:var(--schedule-muted)}
.seiran-month-schedule .month-schedule-meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:16px 0 0;padding:0;font-size:12px;line-height:1.8;color:var(--schedule-muted)}
.seiran-month-schedule .month-schedule-timezone{color:var(--schedule-accent)}
.seiran-month-schedule .month-schedule-week{margin:0 0 12px;border:1px solid var(--schedule-border);background:#fff}
.seiran-month-schedule .month-schedule-week:last-of-type{margin-bottom:0}
.seiran-month-schedule .month-schedule-week>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:80px;margin:0;padding:18px 24px;background:var(--schedule-paper);color:inherit;list-style:none;cursor:pointer}
.seiran-month-schedule .month-schedule-week>summary::-webkit-details-marker{display:none}
.seiran-month-schedule .month-schedule-week>summary::marker{content:""}
.seiran-month-schedule .month-schedule-week>summary:hover{background:#f3ede3}
.seiran-month-schedule .month-schedule-week>summary:focus-visible{outline:3px solid var(--schedule-accent);outline-offset:3px}
.seiran-month-schedule .month-schedule-week-label{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 22px;font:inherit;color:inherit}
.seiran-month-schedule .month-schedule-week-label strong{font-size:18px;font-weight:600;line-height:1.6;letter-spacing:.01em;font-variant-numeric:tabular-nums}
.seiran-month-schedule .month-schedule-week-label small{font-size:12px;color:var(--schedule-muted);line-height:1.7}
.seiran-month-schedule .month-schedule-toggle{display:flex;flex:none;align-items:center;justify-content:center;width:30px;height:30px;color:var(--schedule-accent);border:1px solid #d9c2b5;border-radius:50%}
.seiran-month-schedule .month-schedule-toggle::before{content:"";display:block;width:7px;height:7px;margin-top:-3px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg)}
.seiran-month-schedule .month-schedule-week[open]>summary{border-bottom:1px solid var(--schedule-border);box-shadow:inset 3px 0 var(--schedule-accent)}
.seiran-month-schedule .month-schedule-week[open] .month-schedule-toggle::before{margin-top:3px;transform:rotate(225deg)}
.seiran-month-schedule .month-schedule-days{padding:4px 24px}
.seiran-month-schedule .month-schedule-day{display:grid;grid-template-columns:130px minmax(0,1fr);gap:20px;padding:18px 0;border-top:1px solid var(--schedule-border)}
.seiran-month-schedule .month-schedule-day:first-child{border-top:0}
.seiran-month-schedule .month-schedule-day h3{display:flex;flex-direction:column;gap:2px;align-self:start;margin:0;padding:10px 0 0;font-size:16px;line-height:1.7;font-weight:600;font-variant-numeric:tabular-nums}
.seiran-month-schedule .month-schedule-day h3>span{font-size:12px;font-weight:400;color:var(--schedule-muted)}
.seiran-month-schedule .month-schedule-class-list{min-width:0;list-style:none;margin:0;padding:0}
.seiran-month-schedule .month-schedule-class{display:grid;grid-template-columns:130px minmax(0,1fr) 44px;align-items:center;gap:10px 18px;margin:0;padding:10px 0;line-height:1.7;min-width:0}
.seiran-month-schedule .month-schedule-class+.month-schedule-class{border-top:1px dashed #ede7de}
.seiran-month-schedule .month-schedule-class-time{white-space:nowrap;font-size:14px;font-variant-numeric:tabular-nums;color:var(--schedule-muted)}
.seiran-month-schedule .month-schedule-course{min-width:0;font-size:15px;font-weight:500;overflow-wrap:anywhere}
.seiran-month-schedule .month-schedule-mode{justify-self:start;display:inline-block;padding:2px 8px;background:#f4f1eb;color:#645e56;font-size:11px;line-height:1.6;white-space:nowrap}
.seiran-month-schedule .month-schedule-mode-online{background:#f7e9e4;color:#91433a}
.seiran-month-schedule .month-schedule-note{margin:20px 0 0;padding:0;font-size:12px;line-height:1.9;color:var(--schedule-muted)}
@media(max-width:720px){
  .seiran-month-schedule{scroll-margin-top:105px}
  .seiran-month-schedule .month-schedule-heading{margin-bottom:20px}
  .seiran-month-schedule h2{font-size:25px;margin-bottom:12px}
  .seiran-month-schedule .month-schedule-intro{font-size:13px;line-height:1.9}
  .seiran-month-schedule .month-schedule-meta{gap:5px 14px;font-size:11px;margin-top:13px}
  .seiran-month-schedule .month-schedule-week{margin-bottom:10px}
  .seiran-month-schedule .month-schedule-week>summary{min-height:76px;padding:15px 17px;gap:12px}
  .seiran-month-schedule .month-schedule-week-label{display:block}
  .seiran-month-schedule .month-schedule-week-label strong{display:block;font-size:17px}
  .seiran-month-schedule .month-schedule-week-label small{display:block;margin-top:3px;font-size:11px}
  .seiran-month-schedule .month-schedule-toggle{width:28px;height:28px}
  .seiran-month-schedule .month-schedule-days{padding:0 17px}
  .seiran-month-schedule .month-schedule-day{display:block;padding:17px 0}
  .seiran-month-schedule .month-schedule-day h3{flex-direction:row;align-items:baseline;gap:10px;padding:0;margin:0 0 6px;font-size:15px;color:var(--schedule-accent)}
  .seiran-month-schedule .month-schedule-class{grid-template-columns:100px minmax(0,1fr);gap:3px 12px;padding:10px 0}
  .seiran-month-schedule .month-schedule-class-time{grid-column:1;grid-row:1/3;align-self:center;font-size:12px}
  .seiran-month-schedule .month-schedule-course{grid-column:2;grid-row:1;font-size:14px}
  .seiran-month-schedule .month-schedule-mode{grid-column:2;grid-row:2;font-size:10px;padding:1px 7px}
  .seiran-month-schedule .month-schedule-note{font-size:11px;margin-top:16px}
}
@media(max-width:359px){
  .seiran-month-schedule h2{font-size:23px}
  .seiran-month-schedule .month-schedule-week>summary{padding-inline:13px}
  .seiran-month-schedule .month-schedule-days{padding-inline:13px}
  .seiran-month-schedule .month-schedule-class{grid-template-columns:91px minmax(0,1fr);column-gap:9px}
}
