.event-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:.7rem;gap:.7rem;margin-top:.7rem}.event-card{border:1px solid var(--border);border-radius:12px;background:var(--surface);padding:.8rem .9rem .9rem;box-shadow:var(--shadow-1);display:flex;flex-direction:column;gap:.35rem}.event-card.is-now{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-tint)}.event-card-head{display:flex;align-items:center;gap:.5rem}.event-emoji{font-size:1.3rem;flex:0 0 auto}.event-name{margin:0;font-size:.95rem}.event-period{align-self:flex-start;font-size:.74rem;font-weight:700;color:var(--text-dim);background:var(--surface-alt);border-radius:var(--radius-pill);padding:.1rem .55rem}.event-period-now{color:var(--accent-on);background:var(--accent)}.event-note{margin:.1rem 0 0;font-size:.8rem;color:var(--text-dim);line-height:1.5}.event-card-link{text-decoration:none;color:inherit;transition:border-color .15s,transform .15s,box-shadow .15s}.event-card-link:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:var(--shadow-2)}.event-source{align-self:flex-start;font-size:.76rem;font-weight:700;color:var(--accent);text-decoration:none;margin-top:.2rem}.event-source:hover{text-decoration:underline}.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.7rem}.cal-nav-btn{flex:0 0 auto;font-size:.82rem;font-weight:700;color:var(--accent);text-decoration:none;padding:.35rem .7rem;border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);white-space:nowrap}.cal-nav-btn:hover{border-color:var(--accent)}.cal-nav-title{display:flex;align-items:baseline;gap:.4rem}.cal-nav-year{font-size:.82rem;color:var(--text-dim)}.cal-nav-month{font-size:1.25rem}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:4px;gap:4px}.cal-wday{text-align:center;font-size:.72rem;font-weight:700;color:var(--text-dim);padding:.2rem 0}.cal-wday.is-sun{color:#d9534f}.cal-wday.is-sat{color:#3b6fd4}.cal-cell{position:relative;min-height:46px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:.28rem .3rem;display:flex;flex-direction:column;gap:2px}.cal-cell.is-empty{border:none;background:transparent}.cal-cell.is-sun .cal-day{color:#d9534f}.cal-cell.is-sat .cal-day{color:#3b6fd4}.cal-cell.has-event{background:var(--accent-tint);border-color:var(--accent)}.cal-cell.is-today{box-shadow:0 0 0 2px var(--accent)}.cal-cell.is-today .cal-day{color:var(--accent-on);background:var(--accent);border-radius:999px;min-width:1.5em;height:1.5em;display:inline-flex;align-items:center;justify-content:center}.cal-day{font-size:.78rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cal-dots{display:flex;flex-wrap:wrap;gap:1px;font-size:.78rem;line-height:1}.cal-caption{font-size:.72rem;color:var(--text-dim);margin:.5rem 0 0}.cal-cell.is-hs-app{border-bottom:3px solid rgba(31,157,87,.5)}.cal-cell.is-hs-result{border-bottom:3px solid rgba(217,142,4,.55)}.cal-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.6rem 0 0}.cal-legend-item{display:inline-flex;align-items:center;gap:.35rem;font-size:.74rem;color:var(--text-dim)}.cal-legend-band{width:16px;height:8px;border-radius:2px;flex:0 0 auto}.cal-legend-band-app{background:rgba(31,157,87,.85)}.cal-legend-band-result{background:rgba(217,142,4,.9)}.events-block{margin-top:2rem}.event-card-housing{border-left:4px solid rgba(31,157,87,.7)}.housing-lines{display:flex;flex-direction:column;gap:.4rem;margin:.2rem 0 .1rem}.housing-line{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:0}.housing-badge{flex:0 0 auto;font-size:.72rem;font-weight:800;padding:.1rem .5rem;border-radius:var(--radius-pill);color:#fff;white-space:nowrap}.housing-badge-app{background:rgba(31,157,87,.9)}.housing-badge-result{background:rgba(210,138,4,.95)}.housing-dates{font-size:.82rem;font-weight:700;color:var(--text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (max-width:480px){.cal-grid{gap:3px}.cal-cell{min-height:40px;padding:.2rem;border-radius:6px}.cal-day{font-size:.72rem}.cal-dots{font-size:.7rem}}.event-card-topic{border-left:4px solid rgba(59,111,212,.7)}.cal-grid-mini{gap:3px}.cal-grid-mini .cal-wday{font-size:.66rem;padding:.1rem 0}.cal-grid-mini .cal-cell{min-height:34px;padding:.15rem .2rem;border-radius:6px}.cal-grid-mini .cal-day{font-size:.7rem}.cal-grid-mini .cal-dots{font-size:.66rem}