.community-events { position: relative; pointer-events: auto; background: #080e0b; color: #c9e8d3; padding: 50px 32px 28px; }
.events-inner { max-width: 1200px; margin: auto; }
.events-header { position: relative; display: grid; grid-template-columns: minmax(0, 3fr) 1fr; align-items: center; gap: 24px; padding: 34px 0 36px; }
.events-kicker { margin: 0 0 18px; color: #f6c260; text-transform: uppercase; font: 600 14px/1.5 var(--f-mono); letter-spacing: .06em; }
.events-kicker::after { content: ''; display: inline-block; width: 48px; border-top: 1px solid #b5e3c8; margin: 0 0 4px 18px; }
.events-header h2 { margin: 0; color: #bdeccb; font: 700 clamp(40px, 4vw, 60px)/1.08 var(--f-pixel); }
.events-intro { margin: 20px 0 0; font: 15px/1.7 var(--f-mono); }
.events-header-calendar { display: flex; align-items: center; gap: 18px; border-left: 1px solid #668b73; padding: 18px; }
.events-calendar-art { display: block; flex: none; width: 72px; height: auto; filter: drop-shadow(3px 4px 0 #030a06); }
.events-scope { color: #bdeccb; text-transform: uppercase; font: 600 14px/1.7 var(--f-mono); }
.events-lang { position: absolute; top: -20px; right: 0; display: flex; gap: 3px; }
.events-lang button { border: 1px solid transparent; background: #080e0b; color: #b6cfbd; padding: 5px 8px; min-height: 44px; font: 12px var(--f-mono); cursor: pointer; }
.events-lang button[aria-pressed=true] { border-color: #668c72; color: #c2edcd; }
.events-browser { display: grid; grid-template-columns: minmax(0, 2.35fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.events-console { border: 1px solid #8cbea0; border-radius: 2px; min-width: 0; }
.events-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px; border-bottom: 1px solid #668b73; }
.events-period-nav { display: flex; align-items: center; gap: 14px; }
.events-period-nav h3 { margin: 0; color: #bdeccb; font: 600 24px/1.2 var(--f-pixel); min-width: 170px; text-align: center; text-transform: capitalize; }
.events-toolbar button, .events-filters button, .events-reset { min-height: 44px; color: #c9e8d3; background: #0b1912; border: 1px solid #648d75; padding: 10px 14px; font: 13px/1.3 var(--f-mono); cursor: pointer; }
.events-prev, .events-next { font: 28px/1 var(--f-pixel) !important; min-width: 44px; }
.events-views { display: flex; gap: 0; }
.events-views button { min-width: 76px; border-color: transparent; }
.events-views button[aria-pressed=true] { background: #a9ead0; color: #092016; }
.events-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); }
.events-day { min-width: 0; border-right: 1px solid #41664f; border-bottom: 1px solid #41664f; }
.events-day:nth-child(7n) { border-right: 0; }
.events-day-label { text-align: center; padding: 12px 3px; border-bottom: 1px solid #41664f; font: 12px/1.65 var(--f-mono); }
.events-day-label span, .events-day-label time { display: block; }
.events-day.is-today .events-day-label { color: #f6c260; }
.events-day-sessions { min-height: 182px; padding: 8px 4px; }
.events-session { display: block; width: 100%; text-align: left; border: 1px solid #759d81; background: #10271b; color: #cce8d6; padding: 8px 6px; cursor: pointer; font: 12px/1.5 var(--f-mono); overflow-wrap: anywhere; margin-bottom: 6px; }
.events-session[aria-pressed=true] { color: #ffd27a; border-color: #f5bf56; background: #42361040; }
.events-session b { display: block; margin: 7px 0; font-weight: 600; }
.events-session small { font-size: 10px; }
.events-session-time { font-size: 10px; white-space: normal; }
.events-no-session { display: block; color: #4e7460; text-align: center; padding-top: 76px; }
.events-grid[data-view=month] .events-day-label { display: flex; justify-content: space-between; padding: 7px; font-size: 10px; border-bottom: 0; }
.events-grid[data-view=month] .events-day-sessions { min-height: 65px; padding-top: 0; }
.events-grid[data-view=month] .events-no-session { padding-top: 14px; }
.events-grid[data-view=month] .events-session-time, .events-grid[data-view=month] .events-session small { display: none; }
.events-grid[data-view=month] .events-session b { margin: 0; font-size: 10px; }
.outside-month { background: #0f171140; }
.outside-month .events-day-label { color: #759180; }
.events-filters { display: flex; gap: 8px; flex-wrap: wrap; padding: 14px; }
.events-filters button[aria-pressed=true] { border-color: #bdeccb; box-shadow: inset 0 0 0 1px #bdeccb; }
.events-detail { border: 1px solid #8cbea0; border-radius: 2px; padding: 22px; min-width: 0; }
.events-detail .events-kicker { font-size: 12px; }
.events-detail-card { border: 1px solid #3e6850; padding: 18px; }
.events-detail h3 { margin: 20px 0 24px; color: #bdeccb; font: 600 28px/1.2 var(--f-pixel); overflow-wrap: anywhere; }
.events-meta { display: flex; gap: 10px; align-items: flex-start; font: 14px/1.6 var(--f-mono); margin: 14px 0; }
.events-icon { display: inline-block; flex: none; width: 20px; height: 20px; color: #a9e3bf; }
.events-icon svg { width: 100%; height: 100%; fill: currentColor; }
.events-view-link, .events-all-link { display: inline-flex; align-items: center; justify-content: center; gap: 8px; color: #f6c260; border: 1px solid #e5b853; padding: 11px 16px; min-height: 44px; font: 600 14px/1.4 var(--f-mono); text-decoration: none; }
.events-view-link { width: 100%; margin-top: 16px; }
.events-view-link:hover, .events-all-link:hover { background: #49371340; }
.events-lower { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr); gap: 24px; align-items: center; margin-top: 24px; }
.events-byte-art { display: block; width: 112%; height: auto; margin-left: -12%; }
.events-recent { border-left: 1px solid #638f74; padding-left: 24px; }
.events-recent-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin: 24px 0; }
.events-recent-event { display: flex; align-items: flex-start; gap: 12px; text-decoration: none; color: #c5d7cc; min-width: 0; }
.events-recent-event + .events-recent-event { padding-left: 18px; border-left: 1px solid #41664f; }
.events-date-chip { flex: none; border: 2px solid #829d86; color: #bdeccb; box-shadow: 3px 3px #274536; padding: 8px; text-align: center; width: 50px; font: 12px/1.2 var(--f-mono); text-transform: uppercase; }
.events-date-chip b { display: block; margin-bottom: 5px; font: 22px var(--f-pixel); }
.events-past-badge { display: inline-block; padding: 4px 6px; border: 1px solid #799580; font: 10px/1.3 var(--f-mono); text-transform: uppercase; }
.events-recent-event h4 { color: #bdeccb; font: 20px/1.2 var(--f-pixel); margin: 12px 0; }
.events-recent-event small { font: 10px/1.6 var(--f-mono); }
.events-recent .events-all-link { display: flex; width: fit-content; margin-left: auto; }
.events-recent-event:hover h4 { text-decoration: underline; text-underline-offset: 4px; }
.events-audio.music-bar { position: static; width: fit-content; max-width: 100%; }
.events-audio:empty { display: none; }
.events-audio .music-status, .events-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.events-empty-body { font: 13px/1.7 var(--f-mono); color: #a6c3b0; }
.community-events :focus-visible { outline: 2px solid #ffe1a0; outline-offset: 3px; }
@media (max-width: 1100px) {
  .events-browser { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 14px; }
  .events-header { grid-template-columns: minmax(0, 1fr) 180px; }
  .events-header h2 { font-size: 46px; }
  .events-header-calendar { padding: 10px; gap: 12px; }
  .events-calendar-art { width: 44px; }
  .events-scope { font-size: 11px; }
  .events-toolbar { flex-wrap: wrap; }
  .events-toolbar .events-views { margin-left: auto; }
  .events-detail { padding: 14px; }
  .events-detail-card { padding: 12px; }
  .events-detail h3 { font-size: 25px; }
  .events-meta { font-size: 11px; }
  .events-grid[data-view=month] .events-session { min-height: 44px; }
  .events-grid[data-view=month] .events-session b { font-size: 0; }
  .events-grid[data-view=month] .events-session b::after { content: ''; display: block; width: 7px; height: 7px; margin: auto; background: currentColor; }
  .events-recent-list { grid-template-columns: minmax(0, 1fr); }
  .events-recent-event + .events-recent-event { border-left: 0; padding-left: 0; }
}
@media (max-width: 760px) {
  .community-events { padding: 38px 16px 26px; }
  .events-header { grid-template-columns: minmax(0, 1fr); gap: 14px; padding-top: 20px; }
  .events-header h2 { font-size: clamp(36px, 8vw, 52px); }
  .events-kicker { font-size: 12px; }
  .events-intro { font-size: 12px; }
  .events-header-calendar { border-left: 0; padding: 0; }
  .events-calendar-art { width: 34px; }
  .events-scope { font-size: 12px; }
  .events-browser, .events-lower { grid-template-columns: minmax(0, 1fr); }
  .events-toolbar { gap: 12px; padding: 10px; }
  .events-period-nav { width: 100%; justify-content: space-between; gap: 6px; }
  .events-period-nav h3 { font-size: 22px; min-width: 0; }
  .events-views { width: 100%; }
  .events-views button { flex: 1; }
  .events-grid[data-view=week] { display: block; }
  .events-grid[data-view=week] .events-day { display: flex; border-right: 0; }
  .events-grid[data-view=week] .events-day-label { flex: 0 0 60px; border-bottom: 0; border-right: 1px solid #41664f; padding: 10px 4px; }
  .events-grid[data-view=week] .events-day-sessions { min-height: 44px; flex: 1; padding: 6px; }
  .events-grid[data-view=week] .events-no-session { padding-top: 8px; }
  .events-grid[data-view=week] .events-session { font-size: 12px; padding: 8px 10px; margin: 0; }
  .events-session-time { font-size: 11px; }
  .events-grid[data-view=month] .events-day-label { padding: 5px 2px; display: block; font-size: 9px; }
  .events-grid[data-view=month] .events-day-sessions { padding: 2px; min-height: 44px; }
  .events-grid[data-view=month] .events-session { min-height: 44px; padding: 6px 2px; }
  .events-filters { gap: 6px; padding: 10px; }
  .events-filters button { flex: 1; font-size: 11px; padding: 10px; }
  .events-detail { padding: 18px; }
  .events-detail-card { padding: 18px; }
  .events-detail h3 { font-size: 30px; }
  .events-meta { font-size: 12px; }
  .events-byte-art { width: 100%; max-width: 440px; margin: 0 auto; }
  .events-recent { border-left: 0; padding: 0; }
  .events-recent-list { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .events-recent-event h4 { font-size: 24px; }
  .events-recent-event small { font-size: 12px; }
}
