body{ scroll-behavior: auto; }

body.nua-snap-on{
  scroll-snap-type: y mandatory;
  scroll-padding-top: 18px;
}

.ais-item{
  scroll-snap-align: start;
  scroll-snap-stop: always;
  scroll-margin-top: 18px;
}

.single-post .nua-body{
  grid-template-columns: 1fr;
}

.nua-reading-progress{
  position: sticky;
  top: 0;
  z-index: 60;
  height: 4px;
  background: rgba(148,163,184,.18);
  border-radius: 999px;
  margin-bottom: 10px;
  overflow: hidden;
}

.nua-reading-progress__bar{
  display: block;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, var(--nua-accent) 0%, #4fb4ff 100%);
  transition: width .15s linear;
}

.ant-single, .nua-single, .nua-main{ color: var(--nua-text) !important; }

.ant-layout{
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 250px;
  gap: 18px;
}

.ant-main.ant-card{
  background: linear-gradient(180deg, var(--nua-surface) 0%, var(--nua-surface-2) 100%);
  border: 1px solid var(--nua-border);
  border-radius: var(--nua-radius);
  box-shadow: var(--nua-shadow);
  padding: 22px;
}

.ant-card__title{
  margin: 0 0 10px;
  color: var(--nua-title);
  font-size: 14px;
  font-weight: 800;
}

.ant-left,
.ant-right{
  padding: 14px;
  position: sticky;
  top: 12px;
}

.ant-post__title,
.single-post .ant-post__title,
.single-post h1.ant-post__title{
  color: #f8fbff !important;
  font-weight: 900;
  line-height: 1.12;
  letter-spacing: -0.012em;
  margin: 0 0 10px;
}

.ant-post__meta{ color: var(--nua-muted) !important; }

.nua-trust{
  margin: 10px 0 14px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(148,163,184,.28);
  background: rgba(148,163,184,.1);
}

.nua-trust__title{
  margin: 0 0 8px;
  font-size: 14px;
  color: var(--nua-title);
}

.nua-trust__list{
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 6px;
}

.nua-trust__list li{
  font-size: 14px;
  line-height: 1.45;
  color: var(--nua-text);
}

.nua-trust__list li span{
  color: var(--nua-muted);
}

.nua-brief{
  margin: 14px 0 16px;
  padding: 12px 14px;
  border-radius: 14px;
  border: 1px solid rgba(29,155,240,.24);
  background: rgba(29,155,240,.09);
}

.nua-brief__title{
  margin: 0 0 8px;
  font-size: 14px;
  color: var(--nua-title);
}

.nua-brief__list{
  margin: 0;
  padding-left: 18px;
}

.nua-brief__list li{
  margin: 0 0 6px;
  color: var(--nua-text);
  line-height: 1.5;
}

.nua-post-actions{
  margin: 14px 0 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.nua-save-post{
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--nua-border);
  background: var(--nua-surface-2);
  color: var(--nua-text);
  font-size: 13px;
  font-weight: 700;
  padding: 0 12px;
  cursor: pointer;
}

.nua-save-post:hover{
  border-color: var(--nua-accent);
}

.nua-save-post.is-saved{
  border-color: rgba(33,186,112,.45);
  background: rgba(33,186,112,.16);
  color: #9cebc6;
}

:root[data-theme="light"] .ant-post__title,
:root[data-theme="light"] .single-post .ant-post__title,
:root[data-theme="light"] .single-post h1.ant-post__title{
  color: #000000 !important;
}

:root[data-theme="light"] .nua-save-post.is-saved{
  color: #0e8050;
}

.nua-save-post__hint{
  font-size: 12px;
  color: var(--nua-muted);
}

.nua-reactions{
  margin: 8px 0 14px;
  padding: 12px;
  border: 1px solid var(--nua-border);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(148,163,184,.12) 0%, rgba(148,163,184,.05) 100%);
}

.nua-reactions__title{
  margin: 0 0 10px;
  font-size: 14px;
  font-weight: 800;
  color: var(--nua-title);
}

.nua-reactions__list{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.nua-reaction-btn{
  min-height: 58px;
  border-radius: 12px;
  border: 1px solid var(--nua-border);
  background: var(--nua-surface-2);
  color: var(--nua-text);
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  cursor: pointer;
  transition: transform .14s ease, border-color .14s ease, box-shadow .14s ease, background-color .14s ease;
}

.nua-reaction-btn__emoji{
  font-size: 19px;
  line-height: 1;
}

.nua-reaction-btn__label{
  font-size: 11px;
  line-height: 1.1;
  font-weight: 700;
}

.nua-reaction-btn:hover{
  transform: translateY(-1px);
  border-color: rgba(29,155,240,.55);
}

.nua-reaction-btn.is-active,
.nua-reaction-btn[aria-pressed="true"]{
  border-color: rgba(29,155,240,.72);
  background: rgba(29,155,240,.16);
  box-shadow: 0 8px 16px rgba(29,155,240,.18);
}

.nua-reactions__note{
  margin: 9px 0 0;
  font-size: 12px;
  color: var(--nua-muted);
}

.ant-post__content, .entry-content{ color: var(--nua-text) !important; }
.nua-main p{ color: var(--nua-text) !important; line-height: 1.75; font-size: 17px; }

.ant-post__thumb{
  margin-top: 12px;
  border-radius: 16px;
  overflow: hidden;
}

.ant-post__thumb img,
.ant-post__content img{
  width: 100%;
  height: auto;
  border-radius: 16px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  display: block;
}

.ant-social__btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  border-radius: 999px;
  border: 1px solid var(--nua-border);
  background: var(--nua-surface-2);
  color: var(--nua-text);
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  padding: 0 12px;
}

.ant-social__btn:hover{
  border-color: var(--nua-accent);
  color: var(--nua-accent);
}

.nua-latest{
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--nua-border);
}

.nua-latest__title{
  margin: 0 0 8px;
  font-size: 14px;
  color: var(--nua-title);
}

.nua-latest__list{
  margin: 0;
  padding: 0;
  list-style: none;
}

.nua-latest__list li{
  margin: 0 0 8px;
}

.nua-latest__list a{
  color: var(--nua-text);
  text-decoration: none;
  line-height: 1.4;
}

.nua-latest__list a:hover{
  color: var(--nua-accent);
}

.nua-related{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px solid var(--nua-border);
}

.nua-related__title{
  margin: 0 0 10px;
  font-size: 20px;
  color: var(--nua-title);
}

.nua-related__grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.nua-related__card{
  border: 1px solid var(--nua-border);
  border-radius: 12px;
  overflow: hidden;
  background: var(--nua-surface-2);
}

.nua-related__card a{
  display: block;
  text-decoration: none;
  color: var(--nua-text);
}

.nua-related__thumb img{
  width: 100%;
  height: 120px;
  object-fit: cover;
  display: block;
}

.nua-related__text{
  display: block;
  padding: 10px;
  font-weight: 700;
  line-height: 1.35;
}

.nua-related__card a:hover .nua-related__text{
  color: var(--nua-accent);
}

.nua-telegram-cta{
  margin: 16px 0 14px;
  padding: 14px;
  border-radius: 14px;
  border: 1px solid rgba(29,155,240,.28);
  background: linear-gradient(180deg, rgba(29,155,240,.16) 0%, rgba(29,155,240,.08) 100%);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.nua-telegram-cta__title{
  margin: 0 0 4px;
  font-size: 18px;
  line-height: 1.2;
  color: var(--nua-title);
}

.nua-telegram-cta__desc{
  margin: 0;
  color: var(--nua-text);
  font-size: 14px;
  line-height: 1.4;
}

.nua-telegram-cta__btn,
.nua-telegram-side-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid rgba(29,155,240,.45);
  background: linear-gradient(180deg, #1d9bf0 0%, #127fcd 100%);
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .01em;
  transition: transform .16s ease, box-shadow .16s ease, filter .16s ease;
}

.nua-telegram-cta__btn:hover,
.nua-telegram-side-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(29,155,240,.3);
  filter: saturate(1.05);
  color: #fff;
}

.nua-telegram-side-btn{
  margin-top: 10px;
  width: 100%;
}

:root[data-theme="light"] .nua-telegram-cta{
  background: linear-gradient(180deg, rgba(29,155,240,.14) 0%, rgba(29,155,240,.06) 100%);
}

@media (max-width: 1140px){
  .ant-layout{ grid-template-columns: 1fr; }
  .ant-left,
  .ant-right{ display: none; }
}

@media (max-width: 760px){
  .nua-reactions__list{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nua-related__grid{ grid-template-columns: 1fr; }
  .nua-telegram-cta{
    padding: 12px;
  }
  .nua-telegram-cta__title{
    font-size: 17px;
  }
  .nua-telegram-cta__btn{
    width: 100%;
  }
}

.nua-related__card{
  content-visibility: auto;
  contain-intrinsic-size: 220px;
}

.nua-tg-popup{
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: none;
}

.nua-tg-popup.is-open{
  display: block;
}

.nua-tg-popup__backdrop{
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, .58);
  backdrop-filter: blur(2px);
}

.nua-tg-popup__dialog{
  position: absolute;
  right: 18px;
  bottom: 18px;
  width: min(420px, calc(100vw - 24px));
  border: 1px solid var(--nua-border);
  border-radius: 18px;
  background: linear-gradient(180deg, var(--nua-surface-2) 0%, var(--nua-surface) 100%);
  box-shadow: 0 28px 60px rgba(0,0,0,.45);
  padding: 16px 48px 14px 16px;
  animation: nuaTgPopupIn .22s ease-out;
}

.nua-tg-popup__close{
  position: absolute;
  top: 8px;
  right: 8px;
  width: 34px;
  height: 34px;
  z-index: 2;
  border: 1px solid var(--nua-border);
  border-radius: 999px;
  background: var(--nua-surface-2);
  color: var(--nua-text);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  transition: transform .14s ease, border-color .14s ease;
}

.nua-tg-popup__close:hover{
  transform: scale(1.04);
  border-color: rgba(29,155,240,.55);
}

.nua-tg-popup__eyebrow{
  margin: 0 0 8px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #4fb4ff;
}

.nua-tg-popup__title{
  margin: 0 0 7px;
  font-size: 20px;
  line-height: 1.2;
  color: var(--nua-title);
}

.nua-tg-popup__desc{
  margin: 0 0 12px;
  color: var(--nua-text);
  line-height: 1.45;
  font-size: 14px;
}

.nua-tg-popup__cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 15px;
  border-radius: 999px;
  border: 1px solid rgba(29,155,240,.48);
  background: linear-gradient(180deg, #1d9bf0 0%, #127fcd 100%);
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
}

.nua-tg-popup__cta:hover{
  color: #fff;
  filter: saturate(1.05);
}

.nua-tg-popup__mute{
  margin-left: 10px;
  min-height: 40px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid var(--nua-border);
  background: transparent;
  color: var(--nua-muted);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

@keyframes nuaTgPopupIn{
  from{ transform: translateY(10px); opacity: 0; }
  to{ transform: translateY(0); opacity: 1; }
}

@media (max-width: 640px){
  .nua-tg-popup__dialog{
    left: 12px;
    right: 12px;
    bottom: 12px;
    width: auto;
  }
  .nua-tg-popup__mute{
    margin-left: 0;
    margin-top: 8px;
    width: 100%;
  }
  .nua-tg-popup__cta{
    width: 100%;
  }
}
