.cal-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.cal-title{font-family:var(--display);font-size:clamp(2rem,4.4vw,2.9rem);text-transform:uppercase;letter-spacing:.01em;line-height:1;margin:0}.cal-back{margin:8px 0 0;font-size:.9rem}.cal-scroll{overflow-x:auto;margin-top:18px}.cal{width:100%;min-width:660px;border-collapse:separate;border-spacing:0;table-layout:fixed}.cal th{font-family:var(--display);font-weight:400;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);text-align:left;padding:0 0 8px 4px}.cal-day{vertical-align:top;height:118px;width:14.28%;padding:6px;border:1px solid var(--line);border-radius:var(--r-a);background:var(--paper-card);box-shadow:var(--shadow-sm)}.cal tbody tr>td{outline:3px solid var(--paper);outline-offset:-1px}.cal-day.out{background:transparent;box-shadow:none;border-style:dashed}.cal-day.out .n{opacity:.4}.cal-day.weekend:not(.out){background:color-mix(in srgb,var(--gold) 5%,var(--paper-card))}.cal-day.now{border-color:var(--gold-deep);box-shadow:0 0 0 2px var(--gold-soft),var(--shadow-md)}.cal-day .n{font-family:var(--display);font-size:1.25rem;line-height:1;color:var(--ink)}.cal-day .today-dot{float:right;font-size:.62rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:var(--gold);color:#17150c;padding:2px 6px;border-radius:var(--r-chip)}.cal-day .pips{display:flex;flex-direction:column;gap:3px;margin-top:6px}.cal-day .pip{display:block;font-size:.76rem;font-weight:600;line-height:1.3;padding:3px 6px;border-radius:var(--r-chip);border-left:3px solid var(--k, var(--gold-deep));background:color-mix(in srgb,var(--k, var(--gold)) 12%,var(--paper-card));color:var(--ink);text-decoration:none;overflow:hidden}.cal-day .pip:hover{background:color-mix(in srgb,var(--k, var(--gold)) 24%,var(--paper-card))}.cal-day .pip-t{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cal-day .pip.more{border:0;background:none;color:var(--ink-soft);font-weight:500;padding-left:9px}[data-kind=school]{--k: var(--gold)}[data-kind=sports]{--k: var(--ac-blue)}[data-kind=arts]{--k: var(--ac-purple)}[data-kind=deadline]{--k: var(--danger)}[data-kind=meeting]{--k: var(--ac-teal)}[data-kind=holiday]{--k: var(--ac-green)}.cal-list-head{font-family:var(--display);font-size:clamp(1.7rem,3.4vw,2.3rem);text-transform:uppercase;letter-spacing:.01em;margin:40px 0 4px;display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.cal-count{font-family:var(--body);font-size:.86rem;font-weight:600;color:var(--ink-soft);letter-spacing:0;text-transform:none}.cal-list{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column}.cal-item{display:flex;gap:18px;align-items:flex-start;padding:18px 0;border-top:1px solid var(--line);scroll-margin-top:calc(var(--nav-h) + 16px)}.cal-item:last-child{border-bottom:1px solid var(--line)}.cal-item:target{background:var(--gold-soft);box-shadow:-12px 0 0 var(--gold-soft),12px 0 0 var(--gold-soft)}.cal-item.past{opacity:.62}.cal-when{flex:none;width:58px;text-align:center;border:1.5px solid var(--border-strong);border-radius:var(--r-a);padding:6px 0 4px;background:var(--paper-card)}.cal-when .d{display:block;font-family:var(--display);font-size:1.9rem;line-height:.9}.cal-when .m{display:block;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft)}.cal-body{flex:1 1 260px;min-width:0}.cal-body h3{font-family:var(--display);font-size:clamp(1.35rem,2.4vw,1.75rem);text-transform:uppercase;line-height:1.05;margin:4px 0 0}.cal-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0;font-size:.85rem;color:var(--ink-soft)}.cal-meta .kind{font-weight:700;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink);background:color-mix(in srgb,var(--k, var(--gold)) 18%,var(--paper-card));border-left:3px solid var(--k, var(--gold-deep));padding:3px 8px;border-radius:var(--r-chip)}.cal-meta .gone{font-style:italic}.cal-dek{margin:6px 0 0;color:var(--ink-soft);max-width:68ch}.cal-shot{flex:none;width:128px;height:86px;border-radius:var(--r-a);overflow:hidden;position:relative;display:block}@media(max-width:620px){.cal-shot{display:none}}
