.home-layout {
    display: grid;
    grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}
.home-layout[hidden] { display: none; }
.home-layout > .panel { margin: 0; min-width: 0; }
.home-all-topics { display: block; font-weight: bold; padding: 0.5rem 0; }
.home-tags { display: flex; flex-direction: column; gap: 0.75rem; margin: 0.5rem 0 0; }
.home-tag-collection { min-width: 0; margin: 0; padding: 0.25rem 1.1rem 0.5rem; border: 1px solid var(--border); background: var(--bg); }
.home-tag-collection legend { width: calc(100% + 1.8rem); margin-left: -0.9rem; padding: 0.25rem 0.35rem; border: 1px solid var(--surface); background: var(--label-bg, var(--surface-strong)); color: var(--label-text, #fff); font-size: 0.85rem; font-weight: bold; }
.home-tag-collection legend a { padding: 0; color: inherit; text-decoration: none; }
.home-tag-collection legend a:hover { text-decoration: underline; }
.home-tag-links { list-style: none; padding: 0; margin: 0; }
.home-tags a { display: block; padding: 0.4rem 0; overflow-wrap: anywhere; }
.home-tag-collection .home-tag-links a { padding: 0; font-size: 0.85rem; line-height: 1.15; }
.home-news h2 { margin-top: 0; }
.announcement-list { display: flex; flex-direction: column; gap: 0.75rem; }
.announcement-item { border: 1px solid var(--border); background: var(--surface); padding: 0.75rem; overflow-wrap: anywhere; }
.announcement-item h3 { margin: 0 0 0.35rem; color: var(--title); }
.announcement-meta { display: block; font-size: 0.8rem; color: var(--muted); margin-bottom: 0.5rem; }
.announcement-content { white-space: pre-wrap; margin: 0; }
@media (max-width: 640px) {
    .home-layout { grid-template-columns: minmax(0, 1fr); }
}
