:root{color-scheme:light;color:#20314a;background:#f6f7fb;font:15px/1.45 Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #3169cc}.widget{background:#fff;border:1px solid #d9e0ea;border-radius:16px;min-height:19rem;overflow:hidden}.toolbar,.subbar,.period,.paging,.modes,#legend,.legend-item,.dialog-head{align-items:center;display:flex}.toolbar,.subbar{flex-wrap:wrap;justify-content:space-between;gap:.7rem}.toolbar{padding:1.1rem 1.25rem .9rem}.period{flex-wrap:wrap;gap:.75rem}h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.3rem,2.1vw,1.85rem);font-weight:650}button{background:#fff;border:0}.paging{gap:.15rem}.paging button,#close{border-radius:50%;width:2.25rem;height:2.25rem;font-size:1.55rem;line-height:1}.paging button:hover,#close:hover,#today:hover{background:#f0f3fa}#today{border:1px solid #cdd7e4;border-radius:7px;padding:.35rem .8rem;font-size:.88rem;font-weight:600}.modes{background:#edf1f7;border-radius:9px;padding:3px}.modes button{background:0 0;border-radius:7px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.87rem;font-weight:600;display:flex}.modes button[aria-pressed=true]{color:#fff;background:#264c83}.modes svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;width:16px;height:16px}.subbar{color:#526174;padding:.1rem 1.25rem .9rem;font-size:.79rem}#legend{flex-wrap:wrap;gap:.35rem 1rem}.legend-item{gap:.38rem}[data-tone=lab]{--ink:#284f8f;--bg:#e9f1ff;--line:#6993d5}[data-tone=group]{--ink:#23624f;--bg:#e8f5ef;--line:#57a88a}[data-tone=intensive]{--ink:#684287;--bg:#f4ecfa;--line:#ab7ec6}[data-tone=community]{--ink:#81501b;--bg:#fff2dd;--line:#d99b40}[data-tone=other]{--ink:#485568;--bg:#edf1f5;--line:#8696a9}.dot{background:var(--line);border-radius:100%;flex:none;width:.55rem;height:.55rem}#notice:not(:empty),noscript p,.empty{background:#f6f8fc;margin:0;padding:1rem 1.25rem}#notice button,.more,.earlier{color:#2b5389;font-weight:650}.weekdays,.grid{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.weekdays{background:#f7f9fc;border-block:1px solid #dce2ec}.weekdays span{text-align:center;letter-spacing:.07em;text-transform:uppercase;color:#526278;padding:.5rem 0;font-size:.73rem;font-weight:650}.day{border-bottom:1px solid #e0e5ee;border-right:1px solid #e0e5ee;min-width:0;min-height:7.25rem;padding:.35rem}.day:nth-child(7n){border-right:0}.day.outside{color:#7e8b9b;background:#f7f8fb}.day-number{border-radius:50%;place-items:center;width:1.75rem;height:1.75rem;margin:0 0 .2rem auto;font-size:.84rem;font-weight:600;display:grid}.current{color:#fff;background:#2d5289}.event{text-align:left;width:100%;color:var(--ink);background:var(--bg);border-left:3px solid var(--line);border-radius:5px;margin-bottom:.23rem;padding:.28rem .4rem;line-height:1.25;display:block}.event:hover,.row:hover{filter:brightness(.965)}.event-time{font-size:.7rem;font-weight:650;display:block}.event-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:550;display:-webkit-box;overflow:hidden}.more{border-radius:4px;padding:.15rem .3rem;font-size:.76rem}.earlier{margin:.65rem 1.2rem;text-decoration:underline}.agenda-day{border-top:1px solid #dce3ee;grid-template-columns:6rem 1fr;display:grid}.agenda-date{text-align:center;color:#455971;letter-spacing:.03em;text-transform:uppercase;background:#f7f9fc;margin:0;padding:1rem;font-size:.75rem}.agenda-date strong{color:#253e64;font-size:1.7rem;line-height:1.1;display:block}.row{text-align:left;grid-template-columns:6.5rem 1fr auto;align-items:center;gap:.8rem;width:100%;padding:.85rem 1rem;display:grid}.row+.row{border-top:1px solid #edf0f4}.row-time{font-variant-numeric:tabular-nums;color:#495c73;font-size:.82rem}.row-title{border-left:3px solid var(--line);overflow-wrap:anywhere;padding-left:.7rem;font-weight:650}.room{color:var(--ink);background:var(--bg);border-radius:5px;padding:.21rem .45rem;font-size:.76rem}.empty{color:#526174}dialog{color:#20314a;border:1px solid #dbe2ec;border-radius:16px;width:min(30rem,100% - 2rem);max-height:85vh;padding:1.2rem 1.4rem;overflow:auto;box-shadow:0 12px 55px #24355038}dialog::backdrop{background:#15284452}.dialog-head{justify-content:space-between;gap:1rem}.dialog-head span{color:#526174;font-size:.83rem;font-weight:650}#detail-title{margin:.6rem 0 1rem;font-size:1.4rem}dl{grid-template-columns:auto 1fr;gap:.6rem 1rem;display:grid}dt{color:#596a7c}dd{margin:0}dialog a{color:#2a568d}.day-list{margin:.7rem 0}.day-list .row{grid-template-columns:5.3rem 1fr;padding:.7rem .3rem}.day-list .room{grid-column:2;justify-self:start}@media (width<=680px){.toolbar{gap:.6rem;padding:.8rem}.period{gap:.4rem}.subbar{padding:.15rem .8rem .75rem}.modes button{padding:.45rem .6rem}.agenda-day{grid-template-columns:3.55rem 1fr}.agenda-date{padding:.8rem .2rem}.row{border-left:3px solid var(--line);grid-template-columns:1fr;gap:.2rem;padding:.7rem .8rem}.row-title{border:0;padding:0}.room{justify-self:start}.day{min-height:4.8rem;padding:.15rem}.event{border-left-width:2px;padding:.18rem}.event-name{font-size:.68rem}.event-time{font-size:.6rem}.more{font-size:.63rem}.weekdays span{font-size:.62rem}#legend{gap:.25rem .65rem}.day-list .row{grid-template-columns:1fr}.day-list .room{grid-column:1}}
