/* Compact official-announcement records, using the site's remembered theme. */
.upcoming-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; align-items:stretch; }
.upcoming-card { min-width:0; padding:20px; border:1px solid var(--line); border-radius:12px; background:var(--surface); color:var(--text); overflow-wrap:anywhere; }
.upcoming-card-top { display:flex; align-items:flex-start; gap:12px; flex-wrap:wrap; }
.upcoming-icon { display:grid; place-items:center; width:36px; height:36px; flex:0 0 36px; border-radius:9px; background:var(--surface-raised); color:var(--muted); }
.upcoming-icon svg { width:22px; height:22px; }
.upcoming-card-heading { min-width:0; flex:1 1 160px; }
.upcoming-category { font-size:10px; line-height:1.4; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--muted); }
.upcoming-card :is(h1,h2,h3,h4) { font-size:23px; line-height:1.18; margin:5px 0 0; color:var(--text); }
.upcoming-card h1 { font-size:clamp(27px,3vw,38px); }
.upcoming-card h1 a,.upcoming-card h2 a,.upcoming-card h3 a,.upcoming-timeline a,.version230-home h3 a { color:inherit; text-decoration:none; }
.upcoming-card a:hover,.upcoming-timeline a:hover,.version230-home h3 a:hover { color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.upcoming-status { display:inline-flex; max-width:100%; width:fit-content; align-items:center; border:1px solid var(--line); border-radius:20px; padding:5px 8px; background:var(--surface-muted); color:var(--muted); font-size:10px; line-height:1.35; font-weight:600; white-space:normal; }
.upcoming-status[data-release-phase="active"],.upcoming-status[data-release-phase="available"],.upcoming-status[data-release-phase="released"] { color:var(--success-text); background:var(--success-bg); }
.upcoming-status[data-release-phase="upcoming"],.upcoming-status[data-release-phase="scheduled"] { color:var(--accent); background:var(--soft-accent); }
.upcoming-period { margin:16px 0 0; display:grid; gap:9px; }
.upcoming-period > div { display:grid; grid-template-columns:45px minmax(0,1fr); align-items:baseline; gap:12px; }
.upcoming-period dt { font-size:11px; color:var(--muted); }
.upcoming-period dd { min-width:0; margin:0; font-size:12px; line-height:1.65; font-weight:600; }
.upcoming-period time { color:var(--text); }
.upcoming-local-time { display:block; color:var(--muted); font-size:10px; font-weight:400; }
.upcoming-card .upcoming-timezone,.upcoming-timezone { font-size:10px; color:var(--muted); line-height:1.5; margin:8px 0 0; }
.upcoming-card .upcoming-description,.upcoming-card .upcoming-unlock { font-size:13px; line-height:1.7; color:var(--muted); margin:15px 0 0; }
.upcoming-unlock strong { color:var(--text); }
.upcoming-card .upcoming-release-label { font-size:12px; line-height:1.6; margin:14px 0 0; color:var(--muted); }
.upcoming-pending { margin-top:15px; padding-top:13px; border-top:1px solid var(--line); }
.upcoming-pending strong { font-size:11px; font-weight:600; color:var(--text); }
.upcoming-pending p { margin:5px 0 0; color:var(--muted); font-size:12px; line-height:1.65; }
.upcoming-rules { padding-left:19px; margin:15px 0 0; font-size:13px; line-height:1.8; color:var(--text); }
.upcoming-detail-page { max-width:1000px; }
.upcoming-card-detail { padding:24px; }
.upcoming-card-detail .upcoming-card-heading { flex-basis:300px; }
.upcoming-card-detail .upcoming-period { margin-top:22px; }
.upcoming-back { margin:0 0 20px; }
.upcoming-related { max-width:700px; margin-top:25px; }
.upcoming-related > h2 { font-size:24px; margin:0 0 12px; }
.version230-news { max-width:1080px; }
.version230-news .page-head { margin-bottom:22px; }
.version230-news .page-head h1 { font-size:clamp(30px,4vw,44px); }
.version230-section { background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:24px; margin:0 0 18px; min-width:0; overflow-wrap:anywhere; }
.version230-section h2 { font-size:27px; line-height:1.25; margin:0 0 16px; }
.version230-section-heading { display:flex; align-items:center; gap:12px; justify-content:space-between; flex-wrap:wrap; }
.version230-section-heading h2 { margin-bottom:0; }
.version230-updates { display:grid; gap:19px; }
.version230-updates > article + article { border-top:1px solid var(--line); padding-top:18px; }
.version230-updates h3 { font-size:21px; line-height:1.3; margin:0 0 8px; }
.version230-updates p,.version230-updates li { color:var(--muted); font-size:13px; line-height:1.75; margin:8px 0; }
.version230-updates ul { padding-left:20px; }
.version230-updates .text-link { display:inline-block; margin-top:6px; font-size:12px; }
.upcoming-timeline { list-style:none; padding:0; margin:19px 0 0; }
.upcoming-timeline-group { list-style:none; margin:0; padding:0 0 20px 19px; border-left:1px solid var(--line); position:relative; }
.upcoming-timeline-group:last-child { padding-bottom:0; }
.upcoming-timeline-group::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--accent); border:3px solid var(--surface); position:absolute; top:3px; left:-7px; }
.upcoming-timeline-time { color:var(--muted); font-size:11px; line-height:1.6; margin:0 0 7px; }
.upcoming-timeline-group > ul { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.upcoming-timeline-group > ul > li { display:flex; align-items:baseline; gap:7px 12px; flex-wrap:wrap; font-size:13px; line-height:1.55; min-width:0; }
.upcoming-timeline-group a { min-width:0; overflow-wrap:anywhere; }
.upcoming-timeline-group .upcoming-status { font-size:9px; padding:3px 7px; }
.version230-home { border-bottom:1px solid var(--line); padding:0 0 18px; margin:0 0 6px; min-width:0; overflow-wrap:anywhere; }
.version230-home-top { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.version230-home-top > div { min-width:0; flex:1 1 240px; }
.version230-home h3 { font-size:24px; line-height:1.25; margin:5px 0 0; }
.version230-home > p { font-size:12px; line-height:1.7; margin:8px 0; color:var(--muted); }
.version230-home .version230-home-window { color:var(--text); font-size:11px; }
.version230-home-schedule { margin-top:12px; }
.version230-home-schedule > summary { width:fit-content; max-width:100%; cursor:pointer; color:var(--accent); font-size:12px; line-height:1.7; padding:5px 0; }
.version230-home-schedule > div { margin-top:12px; padding:15px; border:1px solid var(--line); border-radius:8px; background:var(--surface); }
@media (max-width:800px) { .upcoming-grid { grid-template-columns:minmax(0,1fr); } }
@media (max-width:520px) {
  .upcoming-card,.upcoming-card-detail,.version230-section { padding:17px; }
  .upcoming-card-top { gap:10px; }
  .upcoming-card .upcoming-status { margin-left:46px; }
  .upcoming-card-heading,.upcoming-card-detail .upcoming-card-heading { flex-basis:calc(100% - 46px); }
  .upcoming-card :is(h2,h3,h4) { font-size:22px; }
  .upcoming-period > div { grid-template-columns:minmax(0,1fr); gap:1px; }
  .upcoming-period dd { font-size:12px; }
  .version230-section h2 { font-size:25px; }
  .version230-home h3 { font-size:22px; }
  .version230-home-schedule > div { padding:12px; }
  .upcoming-timeline-group { padding-left:14px; }
}
/* Small section navigation keeps the established field-guide layout intact. */
.release-navigation{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 24px;min-width:0}
.release-navigation .button{min-width:0;white-space:normal;text-align:center}
.release-navigation [aria-current="page"]{border-color:var(--accent);background:var(--soft-accent);color:var(--accent)}
.release-section{margin:24px 0 32px;min-width:0}
.release-section>h2{margin:0 0 16px}
.release-following{margin:16px 0}
.version230-login{margin-top:20px;max-width:720px}

.release-mode-reference{margin:18px 0;color:var(--muted)}
.release-mode-reference>summary{cursor:pointer;color:var(--accent);font-size:13px;padding:8px 0}

/* Announcements share the existing cards and stay below the mode directory. */
.modes-upcoming{margin:32px 0 0;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--surface);min-width:0;scroll-margin-top:24px}
.modes-upcoming-heading h2{margin:0;font-size:27px;line-height:1.25}
.modes-upcoming-heading p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.7}
.modes-upcoming-preview{list-style:none;padding:0;margin:18px 0;display:grid;gap:10px}
.modes-upcoming-preview li{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:4px 18px;min-width:0}
.modes-upcoming-preview a{color:var(--text);font-size:13px;line-height:1.6;overflow-wrap:anywhere}
.modes-upcoming-preview a:hover{color:var(--accent)}
.modes-upcoming-preview time{color:var(--muted);font-size:11px;line-height:1.6}
.modes-upcoming-details{margin-top:16px}
.modes-upcoming-details>summary{cursor:pointer;color:var(--accent);font-size:12px;line-height:1.7;padding:8px 0;overflow-wrap:anywhere}
.modes-upcoming-count{margin-left:8px;color:var(--muted);font-size:11px}
.modes-upcoming-hide,.modes-upcoming-details[open] .modes-upcoming-show{display:none}
.modes-upcoming-details[open] .modes-upcoming-hide{display:inline}
.modes-upcoming:has(.modes-upcoming-details[open]) .modes-upcoming-preview{display:none}
.modes-upcoming-details .upcoming-grid{margin:14px 0 0}
.upcoming-card-compact{padding:18px;background:var(--surface-raised)}
.upcoming-card-compact :is(h2,h3,h4){font-size:21px}
.upcoming-card-compact .upcoming-period{margin-top:13px}
.upcoming-card-compact .upcoming-description,.upcoming-card-compact .upcoming-unlock,.upcoming-card-compact .upcoming-rules{margin-top:12px}
@media(max-width:800px){.modes-upcoming{padding:20px}}
@media(max-width:520px){.modes-upcoming{padding:16px}.modes-upcoming .upcoming-card-compact{padding:16px}.modes-upcoming-heading h2{font-size:25px}}
