/* Public notices: next-meeting band, type rail, rows grouped by year. Tokens only. */

/* Next meeting — one card, olive rule down the left like a notice pinned to a board. */
.nx{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;padding:22px 26px;background:var(--card);border:1px solid var(--card-line);border-left:6px solid var(--olive-600)}
.nx-when{display:flex;flex-direction:column;gap:8px;min-width:0}
.nx-when b{font:800 clamp(18px,2.4vw,24px)/1.15 var(--font-display);text-transform:uppercase;color:var(--ink)}
.nx-when span{font:400 10.5px/1.7 var(--font-mono);color:var(--mut);max-width:64ch}
.nx-acts{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.btn-line{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-line:hover{border-color:var(--red-500);color:var(--red-500)}
[data-mode="dark"] .btn-line:hover{border-color:var(--gold-300);color:var(--gold-300)}

/* Rail beside the list, as on the directory. */
.nwrap{display:grid;grid-template-columns:270px 1fr;gap:28px;align-items:start}
.nlist{min-width:0}

/* A year of records. */
.nyear{padding-top:26px}
.nyear:first-child{padding-top:0}
.nyear .sec-head{margin-bottom:10px;align-items:baseline}
.nrows{border-bottom:2px solid var(--ink)}

/* One record: date · title and kind · arrow. Mirrors the directory's .brow. */
.nrow{display:grid;grid-template-columns:72px 1fr auto;gap:16px;align-items:center;padding:13px 0;border-top:1px dashed var(--hair);color:var(--ink)}
.nrow:hover{color:var(--red-500)}
[data-mode="dark"] .nrow:hover{color:var(--gold-300)}
.nrow .nd{display:flex;flex-direction:column;font:700 10px/1.3 var(--font-mono);letter-spacing:.12em;color:var(--mut);text-transform:uppercase}
.nrow .nd b{font:900 20px/1 var(--font-display);color:inherit;letter-spacing:0}
.nrow:hover .nd{color:inherit}
.nrow .nt{display:flex;flex-direction:column;gap:3px;min-width:0}
.nrow .nt b{font:800 17px/1.15 var(--font-display);text-transform:uppercase}
.nrow .nt span{font:400 9.5px/1.6 var(--font-mono);color:var(--mut);letter-spacing:.06em}
.nrow .ar{font:900 16px/1 var(--font-display)}

.nnores{font:400 11px/1.8 var(--font-mono);color:var(--mut);margin:14px 0 0}

@media (max-width:1000px){.nwrap{grid-template-columns:1fr}.nx{grid-template-columns:1fr}.nx-acts{justify-content:flex-start}}
@media (max-width:560px){.nrow{grid-template-columns:56px 1fr auto;gap:12px}.nrow .nd b{font-size:17px}.nrow .nt b{font-size:15px}}
