.site-nav { display:flex; gap:18px; flex-wrap:wrap; margin-top:20px; font-size:.875rem; }
.site-nav a, .news-link { color:#ffb399; text-decoration:none; }
.site-nav a:hover, .news-link:hover { text-decoration:underline; }
.news-section { margin-top:32px; }
.news-section-head { display:flex; justify-content:space-between; gap:16px; align-items:center; flex-wrap:wrap; margin-bottom:18px; }
.news-section-head h2 { margin:0 0 6px; font-size:1.5rem; }
.news-section-head p { margin:0; color:var(--muted); line-height:1.7; }
.news-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.news-article { min-width:0; background:var(--panel); border:1px solid var(--panel-border); border-radius:16px; overflow:hidden; scroll-margin-top:20px; }
.news-article figure { margin:0; }
.news-article img { width:100%; aspect-ratio:4/3; object-fit:contain; background:#0b0e13; display:block; }
.news-article figcaption { color:var(--muted); font-size:.75rem; line-height:1.65; padding:10px 16px 0; overflow-wrap:anywhere; }
.news-copy { padding:18px; }
.news-copy h2, .news-copy h3 { margin:10px 0; font-size:1.2rem; line-height:1.55; overflow-wrap:anywhere; }
.news-copy p { white-space:pre-wrap; line-height:1.85; overflow-wrap:anywhere; }
.news-tag { color:#ffb399; font-size:.75rem; letter-spacing:.4px; }
.news-date { color:var(--muted); font-size:.8rem; }
.news-sources { border-top:1px solid var(--panel-border); padding-top:12px; margin-top:14px; }
.news-sources a { display:block; margin-top:8px; font-size:.85rem; overflow-wrap:anywhere; }
.news-empty { border:1px dashed var(--panel-border); border-radius:16px; padding:32px 24px; text-align:center; color:var(--muted); line-height:1.8; grid-column:1/-1; }
.news-empty strong { color:var(--text); display:block; font-size:1.1rem; margin-bottom:8px; }
.news-all .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.admin-shell { max-width:1180px; }
.admin-panel { background:var(--panel); border:1px solid var(--panel-border); border-radius:16px; padding:22px; margin-bottom:20px; }
.admin-panel h2 { margin-top:0; }
.admin-panel label { display:block; margin:14px 0 6px; line-height:1.6; }
.admin-panel input:not([type=checkbox]), .admin-panel textarea, .admin-panel select { width:100%; min-width:0; font:inherit; background:var(--bg); color:var(--text); border:1px solid #687181; border-radius:8px; padding:11px; }
.admin-panel textarea { resize:vertical; line-height:1.7; }
.admin-panel button, .admin-actions button { font:inherit; min-height:44px; padding:10px 16px; color:#1b1012; background:linear-gradient(120deg,#ff7d8e,#ffac86); border:0; border-radius:9px; cursor:pointer; }
.admin-panel button.secondary, .admin-actions .secondary { background:transparent; color:#ffb399; border:1px solid var(--panel-border); }
.admin-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:18px; }
.admin-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:20px; align-items:start; }
.admin-list { display:grid; gap:10px; max-height:75vh; overflow-y:auto; padding:4px; }
.admin-list button { text-align:left; background:var(--bg); color:var(--text); border:1px solid var(--panel-border); padding:14px; overflow-wrap:anywhere; line-height:1.7; }
.admin-list button[aria-pressed=true] { border-color:var(--accent2); }
.admin-list small { display:block; color:#ffb399; }
.admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 16px; }
.admin-help, .admin-status { color:var(--muted); line-height:1.8; font-size:.875rem; white-space:pre-wrap; overflow-wrap:anywhere; }
.admin-error { color:#ffb399; line-height:1.7; }
#admin-message { position:sticky; top:8px; z-index:5; margin:8px 0; padding:10px 14px; background:var(--panel); border:1px solid var(--panel-border); border-radius:8px; color:var(--text); overflow-wrap:anywhere; white-space:pre-wrap; }
#admin-message:empty { display:none; }
.admin-checks label { display:flex; gap:10px; align-items:flex-start; font-size:.9rem; }
.admin-checks input { width:20px; height:20px; flex-shrink:0; accent-color:var(--accent2); }
.admin-source { border-top:1px solid var(--panel-border); padding:14px 0; overflow-wrap:anywhere; }
.admin-source pre { font:inherit; font-size:.85rem; white-space:pre-wrap; max-height:260px; overflow:auto; line-height:1.8; color:var(--muted); }
#image-preview { width:100%; max-height:260px; object-fit:contain; background:var(--bg); margin-top:12px; }
textarea:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid var(--accent2); outline-offset:3px; }
@media(max-width:850px) { .news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .admin-layout { grid-template-columns:minmax(0,1fr); } .admin-list { max-height:280px; } }
@media(max-width:560px) { .news-grid,.news-all .news-grid,.admin-grid { grid-template-columns:minmax(0,1fr); } .admin-panel { padding:18px; } }
