/* hubs template styles — owned by one agent; loaded after style.css */
/* Event hubs (renderEventHub): per-type accent, summary strip, month groups */
.hub-page{--hub-accent:#0874dc;--hub-off:#0d8a5f;--hub-tint:color-mix(in srgb,var(--hub-accent) 11%,var(--surface));--hub-tint2:color-mix(in srgb,var(--hub-accent) 22%,var(--surface))}
.hub-t-official{--hub-accent:#c62f3c}
.hub-t-church{--hub-accent:#a8741a}
.hub-t-tradition{--hub-accent:#2f8a4a}
.hub-t-international{--hub-accent:#0874dc}
.hub-t-regional{--hub-accent:#0f8585}
.hub-t-professional{--hub-accent:#7a4cc2}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hub-page{--hub-off:#2fbf86}:root:not([data-theme=light]) .hub-t-official{--hub-accent:#ff7d86}:root:not([data-theme=light]) .hub-t-church{--hub-accent:#e7b85a}:root:not([data-theme=light]) .hub-t-tradition{--hub-accent:#6fd08c}:root:not([data-theme=light]) .hub-t-international{--hub-accent:#62a9ff}:root:not([data-theme=light]) .hub-t-regional{--hub-accent:#4fd1d1}:root:not([data-theme=light]) .hub-t-professional{--hub-accent:#b99aff}}
:root[data-theme=dark] .hub-page{--hub-off:#2fbf86}:root[data-theme=dark] .hub-t-official{--hub-accent:#ff7d86}:root[data-theme=dark] .hub-t-church{--hub-accent:#e7b85a}:root[data-theme=dark] .hub-t-tradition{--hub-accent:#6fd08c}:root[data-theme=dark] .hub-t-international{--hub-accent:#62a9ff}:root[data-theme=dark] .hub-t-regional{--hub-accent:#4fd1d1}:root[data-theme=dark] .hub-t-professional{--hub-accent:#b99aff}
.hub-page .page-lead{border-top:4px solid var(--hub-accent)}
.hub-page .page-lead .kicker{color:var(--hub-accent)}

/* summary strip */
.hub-stats{display:grid;grid-template-columns:1fr 1fr 2fr;gap:14px;margin-bottom:18px}
.hub-stat{display:flex;flex-direction:column;gap:3px;min-width:0;padding:18px 20px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.hub-stat>b{font:700 38px/1 var(--serif);color:var(--hub-accent);letter-spacing:-1px}
.hub-stat>span{font-size:14px;font-weight:650;color:var(--ink)}
.hub-stat>small{font-size:12px;color:var(--ink-soft)}
.hub-stat-off>b{color:var(--hub-off)}
.hub-next{position:relative;background:var(--hub-tint);border-color:var(--hub-tint2);padding-right:130px;justify-content:center}
.hub-next-k{font-size:11px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--hub-accent)}
.hub-next-title{font:700 22px/1.25 var(--serif);color:var(--ink);margin:2px 0}
a.hub-next-title:hover{color:var(--hub-accent)}
.hub-next>small{font-size:13px;color:var(--ink-soft)}
.hub-next-left{position:absolute;right:20px;top:50%;transform:translateY(-50%);max-width:110px;text-align:center;font:700 15px/1.2 var(--sans);font-style:normal;color:#fff;background:var(--hub-accent);border-radius:999px;padding:9px 14px}
:root[data-theme=dark] .hub-next-left{color:#101b29}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hub-next-left{color:#101b29}}
.hub-today{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:6px 14px;border-left:4px solid var(--hub-accent)}
.hub-today p{margin:0;font-size:14px;line-height:1.55;color:var(--ink);flex:1 1 320px}

/* badges */
.hub-badge{display:inline-flex;align-items:center;gap:5px;border-radius:5px;padding:3px 7px;font:650 10.5px/1.25 var(--sans);font-style:normal;background:var(--hub-tint);color:var(--hub-accent);white-space:nowrap}
.hub-badge-off{background:var(--hub-off);color:#fff}
.hub-badge-off::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.hub-badge-school{background:#ffecd7;color:#955718}
.hub-badge-great{background:var(--hub-accent);color:#fff;letter-spacing:0;text-transform:none}
:root[data-theme=dark] .hub-badge-off,:root[data-theme=dark] .hub-badge-great{color:#0d1a26}
:root[data-theme=dark] .hub-badge-school{background:#45341a;color:#ffe0ad}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hub-badge-off,:root:not([data-theme=light]) .hub-badge-great{color:#0d1a26}:root:not([data-theme=light]) .hub-badge-school{background:#45341a;color:#ffe0ad}}

/* month groups */
.hub-list .section-heading{margin-bottom:16px}
.hub-months{columns:4 250px;column-gap:22px;column-rule:1px solid var(--line)}
.hub-months.is-few{columns:auto;column-rule:none;display:flex;flex-wrap:wrap;gap:14px}
.hub-months.is-few .hub-month{flex:1 1 230px;margin:0;padding:0 0 4px;border:1px solid var(--line);border-radius:10px}
.hub-months.is-few .hub-month h3{border-radius:9px 9px 0 0}
.hub-month{margin:0 0 14px}
.hub-month h3{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 4px;padding:8px 12px;font:700 16px/1.2 var(--serif);background:var(--soft);border-radius:8px;border-left:4px solid var(--hub-accent);break-after:avoid;break-inside:avoid}
.hub-month h3 small{font:700 11px/1 var(--sans);color:var(--ink-soft);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px 8px}
.hub-month.is-now h3{background:var(--hub-tint)}
.hub-month.is-past-month h3{border-left-color:var(--line);color:var(--ink-soft)}
.hub-ev-list{display:block}
.hub-ev{display:flex;align-items:flex-start;gap:11px;padding:9px 10px;border-bottom:1px solid var(--line);border-radius:6px;color:var(--ink);transition:background .15s;break-inside:avoid}
.hub-ev:last-child{border-bottom:0}
.hub-ev:hover{background:var(--hub-tint)}
.hub-ev-date{flex:0 0 40px;height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:7px;background:var(--hub-tint);color:var(--hub-accent);line-height:1}
.hub-ev-date b{font:700 17px/1 var(--serif)}
.hub-ev-date small{margin-top:3px;font-size:10px;font-weight:650;color:var(--ink-soft)}
.hub-wd{font-size:11px;color:var(--ink-soft)}
.hub-names{flex-basis:100%;font-size:11px;line-height:1.35;color:var(--ink-soft)}
.hub-ev.is-weekend .hub-wd{color:var(--hub-accent);font-weight:650}
.hub-ev.is-off .hub-ev-date{background:var(--hub-off);color:#fff}
.hub-ev.is-off .hub-ev-date small{color:rgba(255,255,255,.85)}
:root[data-theme=dark] .hub-ev.is-off .hub-ev-date{color:#0d1a26}:root[data-theme=dark] .hub-ev.is-off .hub-ev-date small{color:#0d1a26cc}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .hub-ev.is-off .hub-ev-date{color:#0d1a26}:root:not([data-theme=light]) .hub-ev.is-off .hub-ev-date small{color:#0d1a26cc}}
.hub-ev-body{display:flex;flex-direction:column;gap:5px;min-width:0}
.hub-ev-body strong{font-size:13.5px;line-height:1.35;font-weight:650;overflow-wrap:anywhere}
.hub-ev-meta{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px}
.hub-left{font-size:11px;font-weight:700;color:var(--hub-accent)}
.hub-ev.is-past{opacity:.62}
.hub-ev.is-past:hover{opacity:1}
.hub-ev.is-next{background:var(--hub-tint);box-shadow:inset 3px 0 0 var(--hub-accent)}
.hub-ev.is-next .hub-ev-body strong{color:var(--hub-accent)}
.hub-page .category-disclaimer{margin-top:4px}

@media(max-width:1060px){.hub-stats{grid-template-columns:1fr 1fr}.hub-next{grid-column:1/-1}}
@media(max-width:600px){.hub-stats{gap:10px}.hub-stat{padding:14px}.hub-stat>b{font-size:30px}.hub-stat>span{font-size:13px}.hub-next{padding-right:14px}.hub-next-left{position:static;transform:none;align-self:flex-start;margin-top:8px;max-width:none;font-size:13px;padding:6px 12px}.hub-next-title{font-size:19px}.hub-months{columns:1}.hub-list .section-heading{flex-wrap:wrap}}
