.news-corner {
  --news-image: none;
  position: fixed;
  right: max(18px, env(safe-area-inset-right));
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 46;
  width: min(370px, calc(100vw - 36px));
  overflow: hidden;
  border: 1px solid rgba(212, 160, 23, .38);
  border-radius: 18px;
  background: #0a0a0a;
  color: #f3f1ea;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .58);
  font-family: Inter, Arial, sans-serif;
  isolation: isolate;
  animation: news-corner-in .34s ease-out both;
}

.news-corner::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--news-image);
  background-position: var(--news-position, center);
  background-size: cover;
  opacity: .45;
  transform: scale(1.025);
}

.news-corner::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(115deg, rgba(4, 4, 4, .98) 12%, rgba(4, 4, 4, .83) 66%, rgba(4, 4, 4, .68));
}

.news-corner-link { display: block; padding: 22px 52px 22px 22px; color: inherit; text-decoration: none; }
.news-corner-kicker { display: block; margin-bottom: 9px; color: #e2b63d; font: 700 9px/1.4 'JetBrains Mono', monospace; letter-spacing: .16em; text-transform: uppercase; }
.news-corner-title { margin: 0 0 8px; color: #fff; font-family: 'Space Grotesk', sans-serif; font-size: 20px; line-height: 1.12; letter-spacing: -.025em; }
.news-corner-summary { margin: 0; color: rgba(255, 255, 255, .7); font-size: 12px; line-height: 1.6; }
.news-corner-read { display: inline-flex; margin-top: 14px; color: #e2b63d; font: 700 9px/1 'JetBrains Mono', monospace; letter-spacing: .13em; text-transform: uppercase; }
.news-corner-close { position: absolute; top: 12px; right: 12px; width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(255, 255, 255, .14); border-radius: 50%; background: rgba(0, 0, 0, .56); color: #fff; cursor: pointer; font-size: 17px; line-height: 1; }
.news-corner-close:hover { border-color: #d4a017; color: #f2c94c; }

@keyframes news-corner-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }

@media (max-width: 640px) {
  .news-corner { left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); width: auto; border-radius: 16px; }
  .news-corner-link { padding: 18px 50px 18px 18px; }
  .news-corner-title { font-size: 18px; }
  .news-corner-close { top: 10px; right: 10px; width: 40px; height: 40px; }
}

@media (prefers-reduced-motion: reduce) { .news-corner { animation: none; } }
