/* News layout. Shared visual primitives live in app.css. */
.news-search { grid-template-columns:minmax(0,1fr) minmax(120px,180px) auto; }
.news-summary { font-size:var(--text-lead); line-height:1.8; padding:var(--space-5) 0; border-bottom:1px solid var(--line); }
.news-sources { border-top:1px solid var(--line); padding-top:var(--space-4); }
.news-sources h2 { font-size:var(--text-lead); }
.news-sources li { margin:var(--space-3) 0; overflow-wrap:anywhere; }
.news-search select { width:100%; min-height:44px; }
.board-row .board-meta+h2 { margin-top:var(--space-3); }
@media(max-width:600px) {
.news-search { grid-template-columns:1fr; }
}
.push-box { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:var(--space-3); margin:var(--space-4) 0; padding:var(--space-3) var(--space-4); }
.push-box p { margin:0; font-size:var(--text-small); color:var(--muted); }
.practice-guide,.practice-terms { margin:var(--space-5) 0; padding:var(--space-5); }
.practice-guide h2,.practice-terms h2 { margin:0 0 var(--space-2); font-size:var(--text-body); }
.practice-goal { margin:0 0 var(--space-3); font-weight:600; }
.practice-steps { margin:0 0 var(--space-4); padding-left:var(--space-5); }
.practice-steps li { margin:var(--space-1) 0; line-height:1.75; }
.practice-detail { margin:0; display:grid; grid-template-columns:auto 1fr; gap:var(--space-1) var(--space-3); font-size:var(--text-small); }
.practice-detail dt { font-weight:600; color:var(--accent); white-space:nowrap; }
.practice-detail dd { margin:0; line-height:1.7; }
.practice-note { margin:var(--space-3) 0 0; font-size:var(--text-xs); color:var(--muted); line-height:1.7; }
.practice-terms ul { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:var(--space-2); }
.practice-terms li { display:flex; flex-wrap:wrap; align-items:center; gap:var(--space-2); }
.practice-terms .term-name { font-weight:600; }
.practice-terms .term-english { font-size:var(--text-xs); color:var(--muted); margin-right:auto; }
@media(max-width:650px) {
.practice-detail { grid-template-columns:1fr; }
.practice-terms .term-english { margin-right:0; width:100%; }
}
