/* D385 scoped prototype additions; colours, type, controls and app shell are shared. */
.news-badge { display:inline-flex; align-items:center; margin-left:10px; padding:2px 9px;
  border-radius:999px; background:var(--action-soft); color:var(--action-text); font-size:13px; font-weight:700; }
.news-badge[hidden] { display:none; }
.menu > summary.news-unread { position:relative; }
.menu > summary.news-unread::after { content:''; position:absolute; right:3px; top:3px;
  width:8px; height:8px; border-radius:50%; background:var(--action); }
.news-dialog { box-sizing:border-box; width:calc(100% - 32px); max-width:420px;
  max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); margin:auto;
  padding:24px; border:1px solid var(--hairline); border-radius:24px;
  background:var(--surface); color:var(--ink); overflow:auto; overscroll-behavior:contain;
  box-shadow:0 16px 64px #0003; }
.news-dialog::backdrop { background:rgb(20 31 34 / .44); }
.news-dialog-heading { display:flex; align-items:center; gap:12px; justify-content:space-between; }
.news-dialog h2 { margin:0; font-size:26px; line-height:1.25; }
.news-close { display:inline-flex; align-items:center; justify-content:center; flex:none;
  width:44px; height:44px; padding:10px; margin:-8px -8px -8px 0;
  border:0; background:transparent; color:var(--ink-secondary); border-radius:12px; }
.news-close svg { width:22px; height:22px; stroke:currentColor; stroke-width:1.8; fill:none; }
.news-dialog :is(a, button):focus-visible { outline:3px solid var(--action); outline-offset:3px; }
.news-date { margin:8px 0 0; color:var(--ink-secondary); font-size:14px; line-height:1.5; }
.news-features { list-style:none; padding:0; margin:24px 0; display:grid; gap:20px; }
.news-features li { padding:0; margin:0; }
.news-features h3 { font:inherit; font-weight:700; font-size:17px; line-height:1.4; margin:0 0 4px; }
.news-features p { font-size:16px; line-height:1.5; margin:0; color:var(--ink-secondary); }
.news-dialog-actions { display:grid; gap:8px; }
.news-dialog-actions .action, .news-dialog-actions .quiet { display:flex; align-items:center;
  justify-content:center; width:100%; min-height:48px; margin:0; text-align:center; }
.news-modal-open { overflow:hidden; }
.news-back { display:inline-flex; align-items:center; min-height:44px; gap:8px;
  text-decoration:none; font-weight:600; margin:0 0 16px; }
.news-archive { max-width:640px; margin:0 auto; }
.news-current { padding-bottom:8px; }
.news-current > .news-date { margin-top:0; }
.news-current > h2 { margin:8px 0 0; font-size:26px; line-height:1.3; }
.news-earlier { margin:24px 0 12px; font-size:20px; }
.news-week { border-top:1px solid var(--hairline); }
.news-week:last-child { border-bottom:1px solid var(--hairline); }
.news-week > summary { display:flex; align-items:center; justify-content:space-between; gap:16px;
  min-height:72px; padding:16px 0; cursor:pointer; list-style:none; }
.news-week > summary::-webkit-details-marker { display:none; }
.news-week > summary::after { content:'+'; font-size:24px; flex:none; color:var(--action-text); }
.news-week[open] > summary::after { content:'\2212'; }
.news-week .news-date, .news-week-title { display:block; margin:0; }
.news-week-title { font-weight:600; font-size:17px; margin-top:4px; }
.news-week .news-features { margin:8px 0 24px; }
.news-improvements { margin:20px 0 24px; padding-top:16px; border-top:1px solid var(--hairline); }
.news-improvements h3 { font:inherit; font-weight:600; margin:0 0 10px; }
.news-improvements ul { margin:0; padding-left:20px; display:grid; gap:8px; }
.news-improvements li { font-size:16px; line-height:1.5; color:var(--ink-secondary); }
@media (max-width:350px) { .news-dialog { padding:20px; } .news-dialog h2 { font-size:24px; }
  .news-features { gap:16px; margin:20px 0; } }
@media (prefers-reduced-motion:reduce) { .news-dialog { scroll-behavior:auto; } }
