:root {
  color-scheme: dark;
  --bg: #09070d;
  --panel: rgba(24, 17, 31, .86);
  --panel-strong: #1b1222;
  --line: rgba(255,255,255,.12);
  --text: #fff9fc;
  --muted: #bcb0c4;
  --hot: #ff2e63;
  --orange: #ff8a00;
  --pink: #ff67b3;
  --telegram: #2aabee;
  --telegram-dark: #1686bf;
  --ok: #63f5b3;
  --shadow: 0 22px 70px rgba(0,0,0,.42);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 10% 0%, rgba(255,46,99,.22), transparent 34rem),
    radial-gradient(circle at 95% 16%, rgba(42,171,238,.13), transparent 30rem),
    var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.58;
  -webkit-font-smoothing: antialiased;
}

a { color: inherit; }
img { display: block; max-width: 100%; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }
.container { width: min(1120px, calc(100% - 32px)); margin-inline: auto; }
.narrow { width: min(820px, calc(100% - 32px)); margin-inline: auto; }
.skip-link { position: fixed; left: 12px; top: -60px; z-index: 100; padding: 10px 14px; background: #fff; color: #000; border-radius: 10px; }
.skip-link:focus { top: 12px; }

.site-header { position: relative; z-index: 10; border-bottom: 1px solid var(--line); background: rgba(9,7,13,.78); backdrop-filter: blur(14px); }
.header-row { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.brand { font-weight: 950; letter-spacing: -.04em; text-decoration: none; font-size: clamp(19px, 4.8vw, 25px); }
.brand-dot { color: var(--hot); }
.header-actions { display: flex; align-items: center; gap: 9px; }
.lang-switch { display: inline-grid; place-items: center; min-width: 42px; min-height: 34px; padding: 5px 10px; border: 1px solid rgba(42,171,238,.5); border-radius: 999px; background: rgba(42,171,238,.1); color: #bde8ff; font-size: 12px; font-weight: 950; letter-spacing: .08em; text-decoration: none; }
.lang-switch:hover { background: rgba(42,171,238,.2); border-color: var(--telegram); }
.age-badge, .live-badge { display: inline-flex; align-items: center; gap: 7px; min-height: 34px; padding: 5px 10px; border: 1px solid var(--line); border-radius: 999px; font-size: 12px; font-weight: 900; letter-spacing: .06em; }
.age-badge { color: #ffd5df; }
.live-badge::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #ff375f; box-shadow: 0 0 0 6px rgba(255,55,95,.14); }

.hero { padding: clamp(42px, 7vw, 82px) 0 30px; text-align: center; }
.eyebrow { margin: 0 0 12px; color: var(--ok); font-size: 12px; font-weight: 950; letter-spacing: .16em; text-transform: uppercase; }
h1 { margin: 0 auto 16px; max-width: 940px; font-size: clamp(34px, 8vw, 68px); line-height: 1.02; letter-spacing: -.055em; text-wrap: balance; }
.article-hero h1 { font-size: clamp(34px, 7vw, 60px); }
.lead { max-width: 760px; margin: 0 auto; color: #d8cedd; font-size: clamp(17px, 3.7vw, 21px); text-wrap: pretty; }
.hero-note { margin: 13px auto 0; color: var(--muted); font-size: 13px; }

.cta-wrap { padding: 12px 0 26px; text-align: center; }
.cta-primary {
  display: inline-flex;
  width: min(700px, 100%);
  min-height: 94px;
  padding: 18px 26px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 2px;
  border: 1px solid rgba(255,255,255,.3);
  border-radius: 20px;
  background: linear-gradient(118deg, var(--hot), #ff4a36 46%, var(--orange));
  color: #fff;
  text-decoration: none;
  box-shadow: 0 18px 55px rgba(255,46,99,.36), inset 0 1px rgba(255,255,255,.24);
  font-weight: 950;
  text-align: center;
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.cta-primary:hover { transform: translateY(-3px); filter: saturate(1.12); box-shadow: 0 24px 70px rgba(255,46,99,.46); }
.cta-primary:focus-visible, button:focus-visible, a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.cta-primary strong { font-size: clamp(24px, 5.5vw, 36px); line-height: 1.05; letter-spacing: -.025em; }
.cta-primary span { font-size: clamp(14px, 3.4vw, 20px); }
.telegram-folder-cta {
  display: flex;
  width: min(620px, 100%);
  min-height: 68px;
  margin: 12px auto 0;
  padding: 12px 18px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  border: 1px solid rgba(42,171,238,.62);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(42,171,238,.28), rgba(13,102,157,.38));
  color: #fff;
  text-decoration: none;
  box-shadow: 0 14px 38px rgba(42,171,238,.16), inset 0 1px rgba(255,255,255,.12);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.telegram-folder-cta:hover { transform: translateY(-2px); border-color: #77d3ff; background: linear-gradient(135deg, rgba(42,171,238,.4), rgba(13,102,157,.5)); }
.telegram-folder-icon { display: grid; flex: 0 0 42px; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--telegram); box-shadow: 0 8px 24px rgba(42,171,238,.35); font-size: 20px; }
.telegram-folder-cta > span:last-child { display: grid; gap: 2px; text-align: left; line-height: 1.15; }
.telegram-folder-cta strong { font-size: clamp(15px, 3vw, 19px); letter-spacing: .015em; }
.telegram-folder-cta small { color: #bde8ff; font-size: 12px; font-weight: 750; }
.telegram-folder-cta--after-grid { width: 100%; max-width: none; margin-top: 18px; }
.cta-reassurance { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px 18px; margin: 15px 0 0; padding: 0; list-style: none; color: var(--muted); font-size: 13px; }
.cta-reassurance li::before { content: "✓"; margin-right: 6px; color: var(--ok); font-weight: 900; }

.telegram-channels { padding-top: 24px; padding-bottom: 30px; }
.telegram-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.telegram-channel-card {
  --channel-accent: #2aabee;
  --channel-rgb: 42, 171, 238;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 17px;
  min-height: 148px;
  padding: 18px;
  border: 1px solid rgba(var(--channel-rgb), .42);
  border-radius: 20px;
  background: radial-gradient(circle at 0 50%, rgba(var(--channel-rgb), .2), transparent 35%), linear-gradient(135deg, rgba(31,21,39,.97), rgba(13,11,19,.97));
  color: #fff;
  text-decoration: none;
  box-shadow: 0 16px 48px rgba(0,0,0,.28);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.telegram-channel-card--2 { --channel-accent: #ff416d; --channel-rgb: 255, 65, 109; }
.telegram-channel-card--3 { --channel-accent: #ff67b3; --channel-rgb: 255, 103, 179; }
.telegram-channel-card--4 { --channel-accent: #ff2e36; --channel-rgb: 255, 46, 54; }
.telegram-channel-card:hover { transform: translateY(-3px); border-color: var(--channel-accent); box-shadow: 0 22px 60px rgba(0,0,0,.4); }
.telegram-channel-avatar { grid-row: 1 / span 2; width: 92px; height: 92px; border: 2px solid var(--channel-accent); border-radius: 50%; object-fit: cover; box-shadow: 0 10px 34px rgba(var(--channel-rgb), .26); }
.telegram-channel-copy { min-width: 0; display: grid; align-self: end; }
.telegram-channel-copy strong { margin: 2px 0 3px; font-size: clamp(19px, 2.5vw, 25px); line-height: 1.05; letter-spacing: -.025em; }
.telegram-channel-copy > span:last-child { color: var(--muted); font-size: 13px; line-height: 1.35; }
.telegram-channel-meta { color: var(--channel-accent); font-size: 10px; font-weight: 950; letter-spacing: .13em; }
.telegram-channel-action { align-self: start; justify-self: start; min-height: 34px; display: inline-grid; place-items: center; padding: 7px 11px; border-radius: 10px; background: var(--channel-accent); color: #fff; font-size: 11px; font-weight: 950; letter-spacing: .025em; }

.section { padding: 34px 0; }
.section-title { margin: 0 0 10px; font-size: clamp(27px, 5vw, 42px); line-height: 1.08; letter-spacing: -.04em; text-wrap: balance; }
.section-copy { margin: 0 0 22px; max-width: 720px; color: var(--muted); }
.section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }

.stream-shell { position: relative; overflow: hidden; min-height: 380px; border: 1px solid var(--line); border-radius: var(--radius); background: #110b17; box-shadow: var(--shadow); isolation: isolate; }
.stream-slot { min-height: 380px; display: grid; place-items: center; }
.stream-placeholder { width: 100%; min-height: 380px; display: grid; place-items: center; padding: 30px; text-align: center; background: radial-gradient(circle at 50% 38%, rgba(255,46,99,.26), transparent 34%), linear-gradient(145deg, #231128, #0d111a); color: var(--muted); }
.stream-placeholder::before { content: "LIVE"; display: block; margin: 0 auto 12px; width: max-content; padding: 5px 10px; border-radius: 8px; background: #ff2e63; color: #fff; font-size: 12px; font-weight: 950; letter-spacing: .12em; }
.stream-frame { display: block; width: 100%; height: clamp(440px, 67vw, 700px); border: 0; background: #0b0810; }
.stream-mobile-start { min-height: 430px; display: grid; place-items: center; align-content: center; gap: 14px; padding: 34px 20px; text-align: center; background: radial-gradient(circle at 50% 32%, rgba(55,255,184,.17), transparent 34%), linear-gradient(145deg, #231128, #0d111a); }
.stream-mobile-start > strong { max-width: 640px; color: #fff; font-size: clamp(25px, 7vw, 42px); line-height: 1.08; }
.stream-mobile-start > p { max-width: 620px; margin: 0; color: var(--muted); line-height: 1.55; }
.stream-mobile-live { display: inline-flex; padding: 6px 10px; border-radius: 999px; background: #ff2e63; color: #fff; font-size: 12px; font-weight: 950; letter-spacing: .14em; }
.stream-mobile-start .gate-cta { margin-top: 5px; border: 0; cursor: pointer; }
.stream-help { margin: 12px 0 0; padding: 12px 15px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.035); color: var(--muted); font-size: 13px; line-height: 1.45; text-align: center; }
.stream-help strong { color: #fff; }
.stream-fallback { min-height: 52px; display: grid; place-items: center; margin-top: 10px; padding: 11px 16px; border: 1px solid rgba(99,245,179,.45); border-radius: 13px; background: rgba(99,245,179,.08); color: var(--ok); text-align: center; text-decoration: none; font-size: 12px; font-weight: 950; letter-spacing: .035em; }
.stream-fallback:hover { border-color: var(--ok); background: rgba(99,245,179,.13); }
.redirect-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at 50% 15%, rgba(255,46,99,.19), transparent 30%), var(--bg); }
.redirect-card { width: min(680px, 100%); padding: clamp(28px, 7vw, 54px); border: 1px solid rgba(255,255,255,.14); border-radius: 26px; background: rgba(18,13,23,.96); box-shadow: var(--shadow); text-align: center; }
.redirect-card h1 { margin: 12px 0; font-size: clamp(30px, 8vw, 54px); line-height: 1.04; }
.redirect-card p { margin: 0 auto 24px; max-width: 560px; color: var(--muted); line-height: 1.6; }
.redirect-card .gate-cta { display: inline-flex; width: min(100%, 460px); justify-content: center; }
.redirect-back { display: inline-flex; margin-top: 20px; color: var(--muted); font-weight: 800; }
.stream-gate { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; padding: 20px; background: linear-gradient(180deg, rgba(9,7,13,.68), rgba(9,7,13,.94)); backdrop-filter: blur(8px); }
.stream-gate[hidden] { display: none; }
.gate-card { position: relative; width: min(600px, 100%); padding: clamp(24px, 6vw, 42px); border: 1px solid rgba(255,255,255,.18); border-radius: 22px; background: rgba(27,18,34,.96); text-align: center; box-shadow: var(--shadow); }
.gate-close { position: absolute; top: 10px; right: 10px; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.06); color: #fff; cursor: pointer; font-size: 24px; line-height: 1; }
.gate-kicker { margin: 0 0 8px; color: var(--ok); font-size: 12px; font-weight: 900; letter-spacing: .14em; }
.gate-card h2 { margin: 0 24px 10px; font-size: clamp(25px, 5vw, 38px); line-height: 1.05; }
.gate-card p { margin: 0 auto 18px; max-width: 470px; color: var(--muted); }
.gate-cta { display: flex; justify-content: center; align-items: center; min-height: 60px; padding: 14px 18px; border-radius: 15px; background: linear-gradient(118deg, var(--hot), var(--orange)); color: #fff; text-decoration: none; font-weight: 950; font-size: clamp(17px, 4vw, 22px); }
.text-button { margin-top: 14px; min-height: 44px; border: 0; background: transparent; color: #d8cedd; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }

.grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.card { min-width: 0; padding: 20px; border: 1px solid var(--line); border-radius: 18px; background: var(--panel); }
.card-kicker { color: var(--pink); font-weight: 900; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.card h3 { margin: 7px 0 7px; font-size: 20px; line-height: 1.18; }
.card p { margin: 0; color: var(--muted); font-size: 14px; }
.topic-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 10px; }
.topic-link { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: 12px; padding: 13px 15px; border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.045); color: #f7eef9; text-decoration: none; font-weight: 750; line-height: 1.22; transition: border-color .18s ease, transform .18s ease, background .18s ease; }
.topic-link::after { content: "→"; color: var(--hot); font-size: 20px; }
.topic-link:hover { transform: translateY(-2px); border-color: rgba(255,103,179,.55); background: rgba(255,255,255,.075); }

.promo-grid { display: grid; grid-template-columns: 1fr; gap: 18px; }
.promo-banner { position: relative; overflow: hidden; display: block; min-height: 180px; border: 1px solid var(--line); border-radius: 20px; background: var(--panel-strong); box-shadow: var(--shadow); }
.promo-banner img { width: 100%; height: 100%; object-fit: cover; }
.promo-banner--gif { min-height: 0; aspect-ratio: 4 / 3; }
.promo-banner--gif img { object-fit: contain; background: #000; }
.promo-banner--text { min-height: 0; aspect-ratio: 16 / 7; isolation: isolate; }
.promo-banner--text::after { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(180deg, rgba(7,4,10,.18), rgba(7,4,10,.76)); }
.promo-copy { position: absolute; z-index: 2; inset: 0; display: grid; place-content: center; gap: 7px; padding: 24px; color: #fff; text-align: center; text-shadow: 0 3px 20px rgba(0,0,0,.9); }
.promo-copy strong { font-size: clamp(22px, 4vw, 36px); line-height: 1; letter-spacing: -.03em; }
.promo-copy span { justify-self: center; padding: 9px 14px; border: 1px solid rgba(255,255,255,.28); border-radius: 999px; background: rgba(255,54,125,.88); font-weight: 900; }
.deep-link { margin-top: 14px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 16px; color: var(--muted); text-align: center; }
.deep-link a { color: var(--ok); font-weight: 800; }

.direct-promo { padding-top: 26px; padding-bottom: 26px; }
.direct-promo-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(18px, 3vw, 32px);
  min-height: 176px;
  padding: clamp(20px, 4vw, 32px);
  border: 1px solid rgba(99,245,179,.34);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 8% 50%, rgba(99,245,179,.18), transparent 28%),
    radial-gradient(circle at 84% 0%, rgba(255,46,99,.2), transparent 34%),
    linear-gradient(135deg, #17111d, #0d1018);
  color: #fff;
  text-decoration: none;
  box-shadow: var(--shadow);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.direct-promo-card:hover { transform: translateY(-3px); border-color: rgba(99,245,179,.7); box-shadow: 0 26px 76px rgba(0,0,0,.5); }
.direct-promo-visual { position: relative; display: grid; place-items: center; width: 128px; height: 112px; }
.direct-promo-visual span { position: absolute; width: 72px; height: 72px; border: 1px solid rgba(99,245,179,.56); border-radius: 50%; background: rgba(99,245,179,.08); }
.direct-promo-visual span:nth-child(2) { width: 94px; height: 94px; opacity: .65; }
.direct-promo-visual span:nth-child(3) { width: 116px; height: 116px; opacity: .34; }
.direct-promo-visual strong { position: relative; z-index: 1; padding: 8px 11px; border-radius: 9px; background: var(--hot); font-size: 14px; letter-spacing: .12em; box-shadow: 0 10px 32px rgba(255,46,99,.42); }
.direct-promo-content { min-width: 0; display: grid; gap: 5px; }
.direct-promo-label { color: var(--ok); font-size: 11px; font-weight: 950; letter-spacing: .16em; }
.direct-promo-title { font-size: clamp(24px, 3.8vw, 38px); line-height: 1.05; letter-spacing: -.035em; text-wrap: balance; }
.direct-promo-description { max-width: 650px; color: var(--muted); font-size: 14px; line-height: 1.45; }
.direct-promo-action { display: grid; justify-items: end; gap: 10px; text-align: right; }
.direct-promo-action small { color: #d5cbd9; font-size: 10px; font-weight: 900; letter-spacing: .12em; }
.direct-promo-action strong { min-height: 54px; display: grid; place-items: center; padding: 12px 17px; border-radius: 14px; background: linear-gradient(118deg, #12a965, #1cbd8a); font-size: 14px; line-height: 1.18; box-shadow: 0 14px 38px rgba(28,189,138,.22); }

.article { padding: 10px 0 34px; }
.article-cover { position: relative; overflow: hidden; aspect-ratio: 16 / 7; margin: 0 0 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel-strong); box-shadow: var(--shadow); }
.article-cover::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(180deg, transparent, rgba(8,5,11,.92)); pointer-events: none; }
.article-cover img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.08); }
.article-cover--0 img { object-position: 12% 50%; }
.article-cover--1 img { object-position: 50% 50%; }
.article-cover--2 img { object-position: 88% 50%; }
.article-cover figcaption { position: absolute; z-index: 1; left: clamp(16px, 4vw, 30px); right: clamp(16px, 4vw, 30px); bottom: clamp(14px, 3vw, 24px); display: flex; align-items: center; gap: 10px; color: #fff; font-weight: 850; line-height: 1.2; }
.article-cover figcaption span { flex: 0 0 auto; padding: 5px 8px; border-radius: 8px; background: var(--hot); font-size: 12px; letter-spacing: .08em; }
.error-hero { min-height: calc(100vh - 170px); display: grid; place-content: center; text-align: center; }
.error-code { margin: 0; color: var(--hot); font-size: clamp(76px, 18vw, 170px); font-weight: 950; line-height: .8; letter-spacing: -.08em; text-shadow: 0 12px 42px rgba(255,46,99,.25); }
.error-hero h1 { margin-top: 22px; }
.error-actions { display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.home-button { min-height: 54px; display: inline-grid; place-items: center; padding: 12px 20px; border-radius: 14px; background: linear-gradient(118deg, var(--hot), var(--orange)); color: #fff; text-decoration: none; font-weight: 900; }
.home-button--secondary { border: 1px solid var(--line); background: rgba(255,255,255,.06); }
.article-body { padding: clamp(22px, 5vw, 42px); border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); }
.article-body h2 { margin: 30px 0 9px; font-size: clamp(24px, 5vw, 34px); line-height: 1.12; letter-spacing: -.025em; }
.article-body h2:first-child { margin-top: 0; }
.article-body p { color: #ded4e3; }
.article-inline-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 18px; margin: 28px 0; padding: 18px; border: 1px solid rgba(255,80,126,.38); border-radius: 16px; background: linear-gradient(120deg, rgba(255,46,99,.12), rgba(255,139,39,.08)); }
.article-inline-cta p { margin: 0; }
.article-inline-cta .gate-cta { min-width: min(310px, 100%); text-decoration: none; }
.check-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; margin: 22px 0; padding: 0; list-style: none; }
.check-list li { padding: 13px 14px; border: 1px solid var(--line); border-radius: 13px; background: rgba(255,255,255,.04); }
.check-list li::before { content: "✓"; color: var(--ok); margin-right: 8px; font-weight: 900; }
.breadcrumbs { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin: 0 0 18px; color: var(--muted); font-size: 13px; }
.breadcrumbs a { color: #fff; }

.seo-library { scroll-margin-top: 80px; }
.topic-search { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px; margin: 22px 0 18px; }
.topic-search label { grid-column: 1 / -1; color: var(--muted); font-size: 13px; font-weight: 800; }
.topic-search input { min-width: 0; min-height: 54px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 14px; outline: none; background: rgba(255,255,255,.055); color: #fff; font: inherit; }
.topic-search input:focus { border-color: var(--ok); box-shadow: 0 0 0 3px rgba(99,245,179,.12); }
.topic-search input::placeholder { color: #9f92a5; }
.topic-search button { min-height: 54px; padding: 11px 17px; border: 0; border-radius: 14px; background: linear-gradient(118deg, var(--hot), var(--orange)); color: #fff; cursor: pointer; font-weight: 900; }
.topic-clusters { display: grid; gap: 12px; }
.topic-cluster { border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.028); }
.topic-cluster[hidden] { display: none; }
.topic-cluster summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 64px; padding: 15px 18px; cursor: pointer; font-size: clamp(18px, 3vw, 24px); font-weight: 900; }
.topic-cluster summary small { flex: 0 0 auto; color: var(--ok); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.topic-cluster > p { margin: 0; padding: 0 18px 16px; color: var(--muted); }
.seo-topic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 0 12px 12px; }
.seo-topic-link { display: grid; gap: 3px; min-height: 70px; padding: 12px 14px; border: 1px solid transparent; border-radius: 13px; background: rgba(255,255,255,.045); color: #fff; text-decoration: none; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.seo-topic-link:hover { transform: translateY(-2px); border-color: rgba(99,245,179,.42); background: rgba(99,245,179,.07); }
.seo-topic-link strong { line-height: 1.18; }
.seo-topic-link span { color: var(--muted); font-size: 11px; }
.seo-topic-link[hidden] { display: none; }
.topic-search-empty { padding: 20px; border: 1px dashed var(--line); border-radius: 14px; color: var(--muted); text-align: center; }
.reading-progress { position: fixed; z-index: 60; top: 0; left: 0; width: 100%; height: 3px; pointer-events: none; background: transparent; }
.reading-progress span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--hot), var(--orange), var(--ok)); box-shadow: 0 0 16px rgba(255,80,126,.55); }

.faq { display: grid; gap: 10px; }
.faq details { border: 1px solid var(--line); border-radius: 15px; background: rgba(255,255,255,.035); }
.faq summary { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 16px; cursor: pointer; font-weight: 850; }
.faq summary::after { content: "+"; color: var(--hot); font-size: 24px; }
.faq details[open] summary::after { content: "−"; }
.faq details p { margin: 0; padding: 0 16px 16px; color: var(--muted); }

.ad-slot { min-height: 90px; display: grid; place-items: center; overflow: hidden; border-radius: 16px; background: rgba(255,255,255,.025); }
.ad-slot .direct-promo-card { width: 100%; }
.ad-frame { width: 100%; min-height: 180px; border: 0; }
.ad-frame--probe { position: absolute; width: 1px; height: 1px; min-height: 1px; opacity: 0; pointer-events: none; }
.site-footer { padding: 34px 0 92px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; }
.footer-row { display: flex; justify-content: space-between; gap: 22px; align-items: center; }
.footer-links { display: flex; gap: 14px; flex-wrap: wrap; }
.counter-link { display: inline-flex; align-items: center; justify-content: center; padding: 7px 9px; border: 1px solid rgba(255,61,121,.72); border-radius: 9px; background: #fff; box-shadow: 0 0 0 3px rgba(255,61,121,.12), 0 7px 20px rgba(0,0,0,.28); transition: transform .18s ease, box-shadow .18s ease; }
.counter-link:hover { transform: translateY(-1px); box-shadow: 0 0 0 3px rgba(255,61,121,.2), 0 9px 24px rgba(0,0,0,.34); }
.counter-link img { display: block; width: 88px; height: 15px; }

.sticky-cta { position: fixed; z-index: 40; left: 50%; bottom: max(12px, env(safe-area-inset-bottom)); width: min(720px, calc(100% - 20px)); transform: translate(-50%, calc(100% + 40px)); opacity: 0; pointer-events: none; display: flex; align-items: center; gap: 10px; padding: 9px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; background: rgba(18,11,23,.94); box-shadow: 0 16px 50px rgba(0,0,0,.5); backdrop-filter: blur(16px); transition: transform .24s ease, opacity .24s ease; }
.sticky-cta.is-visible { transform: translate(-50%, 0); opacity: 1; pointer-events: auto; }
.sticky-cta a { flex: 1; min-height: 56px; display: grid; place-items: center; padding: 10px 14px; border-radius: 13px; background: linear-gradient(118deg, var(--hot), var(--orange)); color: #fff; text-align: center; text-decoration: none; font-weight: 950; line-height: 1.15; }
.sticky-close { width: 46px; height: 46px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; background: rgba(255,255,255,.06); color: #fff; cursor: pointer; font-size: 21px; }

@media (max-width: 820px) {
  .grid, .topic-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .promo-grid { grid-template-columns: 1fr; }
  .promo-banner--text { min-height: 160px; }
  .promo-banner--gif { min-height: 260px; }
  .direct-promo-card { grid-template-columns: 92px minmax(0, 1fr); }
  .direct-promo-visual { width: 92px; height: 92px; }
  .direct-promo-visual span { width: 58px; height: 58px; }
  .direct-promo-visual span:nth-child(2) { width: 76px; height: 76px; }
  .direct-promo-visual span:nth-child(3) { width: 92px; height: 92px; }
  .direct-promo-action { grid-column: 1 / -1; width: 100%; justify-items: stretch; text-align: center; }
  .direct-promo-action small { order: 2; }
}

@media (max-width: 560px) {
  .container, .narrow { width: min(100% - 22px, 1120px); }
  .header-row { min-height: 58px; }
  .live-badge { display: none; }
  .hero { padding-top: 34px; }
  .cta-primary { min-height: 88px; padding-inline: 14px; }
  .telegram-folder-cta { min-height: 64px; padding: 10px 14px; }
  .section { padding: 26px 0; }
  .section-head { display: block; }
  .grid, .topic-grid, .check-list { grid-template-columns: 1fr; }
  .stream-shell, .stream-slot, .stream-placeholder { min-height: 430px; }
  .stream-frame { height: 610px; }
  .gate-card { padding: 28px 17px 22px; }
  .gate-card h2 { margin-inline: 30px; }
  .article-cover { aspect-ratio: 4 / 3; }
  .article-cover img { transform: scale(1.16); }
  .article-inline-cta, .topic-search { grid-template-columns: 1fr; }
  .article-inline-cta .gate-cta { width: 100%; min-width: 0; }
  .seo-topic-grid { grid-template-columns: 1fr; }
  .topic-cluster summary { align-items: flex-start; flex-direction: column; gap: 4px; }
  .footer-row { align-items: flex-start; flex-direction: column; }
  .sticky-cta { border-radius: 15px; }
  .sticky-cta a { font-size: 14px; }
  .telegram-channel-grid { grid-template-columns: 1fr; }
  .telegram-channel-card { grid-template-columns: 78px minmax(0, 1fr); min-height: 132px; padding: 15px; gap: 14px; }
  .telegram-channel-avatar { width: 78px; height: 78px; }
  .telegram-channel-copy strong { font-size: 20px; }
  .direct-promo-card { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .direct-promo-visual { width: 84px; height: 84px; }
  .direct-promo-description { max-width: 38rem; }
  .direct-promo-action { grid-column: auto; }
}

@media (max-width: 380px) {
  .brand { font-size: 18px; }
  .header-actions { gap: 5px; }
  .age-badge { min-height: 32px; padding: 4px 7px; font-size: 10px; }
  .lang-switch { min-width: 36px; min-height: 32px; padding: 4px 7px; font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Long-form editorial articles */
[data-longform-article] { scroll-margin-top: 76px; }
.article-cover--editorial { aspect-ratio: 16 / 8.4; }
.article-cover--editorial img { transform: none; object-position: center; }
.article-meta { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.article-meta span { padding: 7px 10px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.04); color: var(--muted); font-size: 12px; font-weight: 800; }
.article-summary { margin: 0 0 22px; padding: 17px 18px; border-left: 4px solid var(--pink); border-radius: 0 14px 14px 0; background: rgba(255,75,139,.08); font-size: 17px; line-height: 1.65; }
.article-summary strong { color: #fff; }
.article-toc { margin: 22px 0 30px; padding: 18px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.035); }
.article-toc > strong { display: block; margin-bottom: 12px; font-size: 18px; }
.article-toc > div { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
.article-toc a { display: flex; gap: 9px; align-items: center; min-height: 42px; padding: 8px 10px; border-radius: 11px; color: #f8edf9; text-decoration: none; }
.article-toc a:hover { background: rgba(255,255,255,.06); }
.article-toc a span { display: grid; place-items: center; width: 25px; height: 25px; flex: 0 0 auto; border-radius: 50%; background: rgba(255,75,139,.14); color: var(--pink); font-size: 12px; font-weight: 900; }
.article-section { scroll-margin-top: 82px; }
.article-section p { font-size: 17px; line-height: 1.78; }
.article-media-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 22px 0 6px; }
.article-media-actions a { display: grid; place-items: center; min-height: 56px; padding: 12px 14px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; background: linear-gradient(118deg,rgba(255,46,99,.2),rgba(255,138,29,.14)); color: #fff; text-align: center; text-decoration: none; font-weight: 900; }
.editor-note { margin: 30px 0; padding: 18px; border: 1px solid rgba(34,229,166,.3); border-radius: 16px; background: rgba(34,229,166,.055); }
.editor-note strong { color: var(--ok); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.editor-note p { margin: 7px 0 0; color: #dcebe6; font-size: 15px; line-height: 1.65; }
@media (max-width: 620px) {
  .article-body { padding: 20px 17px; }
  .article-toc > div, .article-media-actions { grid-template-columns: 1fr; }
  .article-section p { font-size: 16px; line-height: 1.72; }
  .article-cover--editorial { aspect-ratio: 4 / 3; }
}

/* Compact Telegram channel cards — restored 2026-07-29 */
.telegram-channels { padding-top: 24px; padding-bottom: 30px; }
.telegram-channel-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.telegram-channel-card {
  --channel-accent: #2aabee;
  --channel-rgb: 42, 171, 238;
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: center;
  gap: 17px;
  min-height: 148px;
  padding: 18px;
  border: 1px solid rgba(var(--channel-rgb), .42);
  border-radius: 20px;
  background: radial-gradient(circle at 0 50%, rgba(var(--channel-rgb), .2), transparent 35%), linear-gradient(135deg, rgba(31,21,39,.97), rgba(13,11,19,.97));
  color: #fff;
  text-decoration: none;
  box-shadow: 0 16px 48px rgba(0,0,0,.28);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.telegram-channel-card--2 { --channel-accent: #ff416d; --channel-rgb: 255, 65, 109; }
.telegram-channel-card--3 { --channel-accent: #ff67b3; --channel-rgb: 255, 103, 179; }
.telegram-channel-card--4 { --channel-accent: #ff2e36; --channel-rgb: 255, 46, 54; }
.telegram-channel-card--5 { --channel-accent: #bf72ff; --channel-rgb: 191, 114, 255; }
.telegram-channel-card--6 { --channel-accent: #ff9f43; --channel-rgb: 255, 159, 67; }
.telegram-channel-card--7 { --channel-accent: #42d7c7; --channel-rgb: 66, 215, 199; }
.telegram-channel-card--8 { --channel-accent: #ff6f91; --channel-rgb: 255, 111, 145; }
.telegram-channel-card--9 { --channel-accent: #7d8cff; --channel-rgb: 125, 140, 255; }
.telegram-channel-card--10 { --channel-accent: #ff78b7; --channel-rgb: 255, 120, 183; }
.telegram-channel-card--11 { --channel-accent: #c88cff; --channel-rgb: 200, 140, 255; }
.telegram-channel-card--12 { --channel-accent: #ff525d; --channel-rgb: 255, 82, 93; }
.telegram-channel-card--13 { --channel-accent: #ffad55; --channel-rgb: 255, 173, 85; }
.telegram-channel-card:hover { transform: translateY(-3px); border-color: var(--channel-accent); box-shadow: 0 22px 60px rgba(0,0,0,.4); }
.telegram-channel-card[hidden] { display: none !important; }
.telegram-channel-avatar { grid-row: 1 / span 2; width: 92px; height: 92px; max-width: 92px; border: 2px solid var(--channel-accent); border-radius: 50%; object-fit: cover; box-shadow: 0 10px 34px rgba(var(--channel-rgb), .26); }
.telegram-channel-copy { min-width: 0; display: grid; align-self: end; }
.telegram-channel-copy strong { margin: 2px 0 3px; font-size: clamp(19px, 2.5vw, 25px); line-height: 1.05; letter-spacing: -.025em; }
.telegram-channel-copy > span:last-child { color: var(--muted); font-size: 13px; line-height: 1.35; }
.telegram-channel-meta { color: var(--channel-accent); font-size: 10px; font-weight: 950; letter-spacing: .13em; }
.telegram-channel-action { align-self: start; justify-self: start; min-height: 34px; display: inline-grid; place-items: center; padding: 7px 11px; border-radius: 10px; background: var(--channel-accent); color: #fff; font-size: 11px; font-weight: 950; letter-spacing: .025em; }

@media (max-width: 560px) {
  .telegram-channel-grid { grid-template-columns: 1fr; }
  .telegram-channel-card { grid-template-columns: 78px minmax(0, 1fr); min-height: 132px; padding: 15px; gap: 14px; }
  .telegram-channel-avatar { width: 78px; height: 78px; max-width: 78px; }
  .telegram-channel-copy strong { font-size: 20px; }
}

/* Telegram discovery: channel of the day, freshness badges and random choice */
.telegram-channel-tools { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin: 20px 0 4px; padding: 11px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.035); }
.telegram-channel-counter { color: #86ffd0; font-size: 11px; font-weight: 950; letter-spacing: .075em; line-height: 1.3; }
.telegram-channel-filters { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.telegram-channel-filters button { min-height: 34px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.13); border-radius: 999px; background: rgba(255,255,255,.045); color: #d7cbdc; cursor: pointer; font: inherit; font-size: 9px; font-weight: 950; letter-spacing: .055em; }
.telegram-channel-filters button:hover { border-color: rgba(42,171,238,.58); color: #fff; }
.telegram-channel-filters button[aria-pressed="true"] { border-color: rgba(42,171,238,.7); background: rgba(42,171,238,.18); color: #9ce3ff; box-shadow: inset 0 0 0 1px rgba(42,171,238,.12); }
.telegram-featured-channel {
  display: grid;
  grid-template-columns: 184px minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 4vw, 38px);
  min-height: 226px;
  margin: 24px 0 12px;
  padding: clamp(22px, 4vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(42,171,238,.58);
  border-radius: 26px;
  background: radial-gradient(circle at 12% 50%, rgba(42,171,238,.3), transparent 30%), radial-gradient(circle at 92% 10%, rgba(255,46,99,.2), transparent 28%), linear-gradient(135deg, #191225, #0d1018);
  color: #fff;
  text-decoration: none;
  box-shadow: 0 24px 70px rgba(0,0,0,.36), inset 0 1px rgba(255,255,255,.08);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.telegram-featured-channel:hover { transform: translateY(-3px); border-color: #77d3ff; box-shadow: 0 28px 80px rgba(0,0,0,.44), 0 0 38px rgba(42,171,238,.12); }
.telegram-featured-channel.is-random-pick { animation: channel-pick-pulse .5s ease; }
.telegram-featured-visual { position: relative; display: grid; place-items: center; }
.telegram-featured-visual img { width: 168px; height: 168px; border: 3px solid #2aabee; border-radius: 50%; object-fit: cover; box-shadow: 0 16px 46px rgba(42,171,238,.3); }
.telegram-featured-status { position: absolute; right: -5px; bottom: 5px; padding: 7px 10px; border: 1px solid rgba(255,255,255,.26); border-radius: 999px; background: linear-gradient(118deg, #ff2e63, #ff8a1d); color: #fff; font-size: 10px; font-weight: 950; letter-spacing: .06em; box-shadow: 0 8px 24px rgba(0,0,0,.35); }
.telegram-featured-copy { display: grid; justify-items: start; gap: 7px; min-width: 0; }
.telegram-featured-kicker { color: #63f5b3; font-size: 12px; font-weight: 950; letter-spacing: .14em; }
.telegram-featured-copy strong { font-size: clamp(30px, 5vw, 48px); line-height: 1; letter-spacing: -.045em; }
.telegram-featured-copy > span:not(.telegram-featured-kicker):not(.telegram-featured-action) { max-width: 650px; color: #cec2d2; font-size: 15px; line-height: 1.5; }
.telegram-featured-action { display: inline-grid; min-height: 44px; margin-top: 5px; padding: 10px 15px; place-items: center; border-radius: 12px; background: #2aabee; color: #fff; font-size: 12px; font-weight: 950; letter-spacing: .03em; }
.telegram-random-row { display: flex; align-items: center; gap: 14px; margin: 0 0 20px; padding: 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 16px; background: rgba(255,255,255,.035); }
.telegram-random-button { flex: 0 0 auto; min-height: 48px; padding: 11px 17px; border: 1px solid rgba(42,171,238,.5); border-radius: 13px; background: linear-gradient(135deg, #1686bf, #2aabee); color: #fff; cursor: pointer; font: inherit; font-size: 12px; font-weight: 950; letter-spacing: .035em; box-shadow: 0 10px 26px rgba(42,171,238,.18); }
.telegram-random-button:hover { filter: brightness(1.12); transform: translateY(-1px); }
.telegram-random-status { color: var(--muted); font-size: 13px; line-height: 1.35; }
.telegram-channel-badge { justify-self: start; width: max-content; max-width: 100%; margin: 0 0 5px; padding: 5px 8px; overflow: hidden; border: 1px solid transparent; border-radius: 999px; font-size: 9px; font-weight: 950; letter-spacing: .065em; line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.telegram-channel-badge--new { border-color: rgba(255,103,179,.44); background: rgba(255,103,179,.14); color: #ff9dcd; }
.telegram-channel-badge--today { border-color: rgba(99,245,179,.38); background: rgba(99,245,179,.1); color: #86ffd0; }
.telegram-channel-badge--daily { border-color: rgba(42,171,238,.42); background: rgba(42,171,238,.12); color: #91dcff; }
@keyframes channel-pick-pulse { 0% { transform: scale(.985); } 55% { transform: scale(1.012); } 100% { transform: scale(1); } }

@media (max-width: 660px) {
  .telegram-channel-tools { align-items: stretch; flex-direction: column; }
  .telegram-channel-counter { text-align: center; }
  .telegram-channel-filters { justify-content: center; }
  .telegram-channel-filters button { flex: 1 1 auto; }
  .telegram-featured-channel { grid-template-columns: 104px minmax(0, 1fr); min-height: 174px; gap: 16px; padding: 18px 15px; border-radius: 21px; }
  .telegram-featured-visual img { width: 98px; height: 98px; }
  .telegram-featured-status { right: -7px; bottom: -7px; max-width: 116px; font-size: 8px; text-align: center; }
  .telegram-featured-copy { gap: 5px; }
  .telegram-featured-kicker { font-size: 9px; letter-spacing: .1em; }
  .telegram-featured-copy strong { font-size: clamp(24px, 7vw, 32px); }
  .telegram-featured-copy > span:not(.telegram-featured-kicker):not(.telegram-featured-action) { display: -webkit-box; overflow: hidden; font-size: 12px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .telegram-featured-action { min-height: 38px; padding: 8px 10px; font-size: 10px; }
  .telegram-random-row { align-items: stretch; flex-direction: column; gap: 8px; }
  .telegram-random-button { width: 100%; }
  .telegram-random-status { text-align: center; }
}

/* Compact save-to-phone banner. It never covers or disables the whole page. */
.save-site-preview {
  position: fixed;
  z-index: 120;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  width: min(440px, calc(100% - 28px));
  opacity: 0;
  pointer-events: none;
  transition: opacity .24s ease;
}
.save-site-preview.is-visible { opacity: 1; }
.save-site-card {
  position: relative;
  width: 100%;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 26px;
  background: radial-gradient(circle at 12% 0, rgba(255,46,99,.22), transparent 34%), linear-gradient(145deg, rgba(28,20,35,.98), rgba(10,8,14,.99));
  box-shadow: 0 30px 100px rgba(0,0,0,.68), inset 0 1px rgba(255,255,255,.08);
  transform: translateY(26px) scale(.985);
  pointer-events: auto;
  transition: transform .26s ease;
}
.save-site-preview.is-visible .save-site-card { transform: translateY(0) scale(1); }
.save-site-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 50%;
  background: rgba(255,255,255,.06);
  color: #fff;
  cursor: pointer;
  font-size: 22px;
}
.save-site-brand { display: flex; align-items: center; gap: 14px; padding-right: 42px; }
.save-site-brand img { width: 68px; height: 68px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; box-shadow: 0 12px 34px rgba(255,46,99,.25); }
.save-site-brand span { display: grid; gap: 2px; }
.save-site-brand small { color: #63f5b3; font-size: 10px; font-weight: 950; letter-spacing: .14em; }
.save-site-brand strong { font-size: 18px; letter-spacing: .02em; }
.save-site-card h2 { margin: 22px 0 8px; font-size: clamp(27px, 6vw, 36px); line-height: 1.04; letter-spacing: -.04em; }
.save-site-card > p { margin: 0 0 18px; color: #cfc3d2; font-size: 15px; line-height: 1.5; }
.save-site-primary {
  width: 100%;
  min-height: 56px;
  border: 0;
  border-radius: 15px;
  background: linear-gradient(118deg, var(--hot), var(--orange));
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .035em;
  box-shadow: 0 13px 35px rgba(255,70,80,.25);
}
.save-site-primary.is-complete { background: linear-gradient(118deg, #16a875, #36d49e); }
.save-site-note { display: block; margin-top: 13px; color: #93889a; font-size: 11px; line-height: 1.35; text-align: center; }
.save-site-ios-steps { display: grid; gap: 9px; margin: 4px 0 17px; }
.save-site-ios-steps[hidden] { display: none; }
.save-site-ios-steps span { display: flex; align-items: center; gap: 11px; min-height: 54px; padding: 10px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(255,255,255,.045); color: #d8cddb; font-size: 13px; }
.save-site-ios-steps b { display: grid; place-items: center; width: 30px; height: 30px; flex: 0 0 auto; border-radius: 50%; background: rgba(42,171,238,.18); color: #83d7ff; }
.save-site-open .sticky-cta { opacity: 0 !important; pointer-events: none !important; }

@media (max-width: 560px) {
  .save-site-preview { right: 9px; bottom: max(9px, env(safe-area-inset-bottom)); width: calc(100% - 18px); }
  .save-site-card { max-height: 62vh; overflow-y: auto; padding: 17px 16px 15px; border-radius: 21px; }
  .save-site-close { top: 11px; right: 11px; width: 34px; height: 34px; font-size: 19px; }
  .save-site-brand { gap: 11px; padding-right: 38px; }
  .save-site-brand img { width: 52px; height: 52px; border-radius: 14px; }
  .save-site-brand small { font-size: 8px; }
  .save-site-brand strong { font-size: 15px; }
  .save-site-card h2 { margin: 15px 0 6px; font-size: 25px; }
  .save-site-card > p { margin-bottom: 12px; font-size: 13px; line-height: 1.4; }
  .save-site-primary { min-height: 50px; }
  .save-site-ios-steps { gap: 7px; margin-bottom: 12px; }
  .save-site-ios-steps span { min-height: 46px; padding: 8px 10px; font-size: 12px; }
  .save-site-ios-steps b { width: 27px; height: 27px; }
  .save-site-note { margin-top: 9px; font-size: 9px; }
}

/* Original stories 18+ */
.stories-nav-link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid rgba(255, 80, 126, .34);
  border-radius: 999px;
  background: rgba(255, 46, 99, .09);
  color: #ffd7e3;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .1em;
  text-decoration: none;
}
.stories-nav-link:hover { border-color: rgba(255, 126, 160, .7); background: rgba(255, 46, 99, .17); }
.stories-catalog-hero { padding-bottom: 20px; }
.stories-catalog-actions,
.home-stories-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.stories-catalog-actions a,
.stories-catalog-actions button,
.home-stories-actions a,
.home-stories-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,.15);
  border-radius: 13px;
  background: linear-gradient(118deg, rgba(255,46,99,.22), rgba(255,139,39,.13));
  color: #fff;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .045em;
  text-decoration: none;
}
.stories-catalog-actions a,
.home-stories-actions a { border-color: transparent; background: linear-gradient(118deg, var(--hot), var(--orange)); box-shadow: 0 13px 35px rgba(255,70,80,.2); }
.home-stories { position: relative; overflow: hidden; }
.home-stories::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: 420px;
  height: 420px;
  right: -180px;
  top: 70px;
  border-radius: 50%;
  background: rgba(55, 220, 182, .06);
  filter: blur(12px);
}
.section-more-link { color: #6ef5c3; font-size: 12px; font-weight: 950; letter-spacing: .055em; }
.story-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.story-grid--home { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.story-grid--related { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.story-card {
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(28,20,35,.95), rgba(11,8,14,.98));
  box-shadow: 0 18px 50px rgba(0,0,0,.24);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.story-card:hover { transform: translateY(-3px); border-color: rgba(255,80,126,.42); box-shadow: 0 24px 60px rgba(0,0,0,.38); }
.story-card-cover { position: relative; display: block; overflow: hidden; aspect-ratio: 16 / 9; border-bottom: 1px solid rgba(255,255,255,.1); background: #130d18; }
.story-card-cover::after { content: ""; position: absolute; inset: 52% 0 0; background: linear-gradient(180deg, transparent, rgba(10,7,13,.78)); pointer-events: none; }
.story-cover { width: 100%; height: 100%; background-image: url('/assets/stories-cover-grid.png'); background-repeat: no-repeat; background-size: 500% auto; transition: transform .45s ease; }
.story-card:hover .story-cover { transform: scale(1.035); }
.story-cover--1 { background-position: 0 0; }
.story-cover--2 { background-position: 25% 0; }
.story-cover--3 { background-position: 50% 0; }
.story-cover--4 { background-position: 75% 0; }
.story-cover--5 { background-position: 100% 0; }
.story-cover--6 { background-position: 0 100%; }
.story-cover--7 { background-position: 25% 100%; }
.story-cover--8 { background-position: 50% 100%; }
.story-cover--9 { background-position: 75% 100%; }
.story-cover--10 { background-position: 100% 100%; }
.story-card-body { display: grid; align-content: start; gap: 9px; padding: 18px; }
.story-card-meta { color: #65efbe; font-size: 9px; font-weight: 950; letter-spacing: .11em; }
.story-card h3 { margin: 0; font-size: clamp(21px, 2.2vw, 29px); line-height: 1.05; letter-spacing: -.025em; }
.story-card h3 a { color: #fff; text-decoration: none; }
.story-card p { margin: 0; color: #c8bdcd; font-size: 14px; line-height: 1.53; }
.story-read-link { margin-top: 4px; color: #ff7fa6; font-size: 11px; font-weight: 950; letter-spacing: .055em; text-decoration: none; }
.story-card--compact .story-card-cover { aspect-ratio: 1 / 1; }
.story-card--compact .story-card-body { padding: 14px; }
.story-card--compact .story-card-meta { font-size: 8px; }
.story-card--compact h3 { font-size: clamp(18px, 2vw, 23px); }
.story-card--compact p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: 12px; }
.stories-principles { padding-top: 30px; }
.story-hero { padding-bottom: 18px; }
.article-cover--story { aspect-ratio: 16 / 8.2; }
.article-cover--story .story-cover { position: absolute; inset: 0; }
.article-cover--story::before { content: ""; position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(7,5,10,.18), transparent 55%); pointer-events: none; }
.article-cover--story::after { z-index: 1; }
.article-cover--story figcaption { z-index: 2; }
.story-disclaimer {
  margin: 0 0 20px;
  padding: 15px 17px;
  border: 1px solid rgba(99,245,179,.22);
  border-radius: 14px;
  background: rgba(44,198,145,.065);
}
.story-disclaimer strong { color: #7bf5c9; font-size: 13px; letter-spacing: .035em; }
.story-disclaimer p { margin: 5px 0 0; color: #bfc9c5; font-size: 13px; line-height: 1.5; }
.story-chapter { padding-top: 4px; }
.story-chapter-number { display: block; margin-top: 26px; color: #ff75a0; font-size: 10px; font-weight: 950; letter-spacing: .16em; }
.story-chapter h2 { margin-top: 7px; }
.story-inline-telegram {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  margin: 28px 0 6px;
  padding: 17px;
  border: 1px solid rgba(42,171,238,.3);
  border-radius: 16px;
  background: linear-gradient(118deg, rgba(42,171,238,.13), rgba(255,46,99,.09));
}
.story-inline-telegram span { display: grid; gap: 4px; }
.story-inline-telegram strong { font-size: 17px; }
.story-inline-telegram small { color: #b9b1c1; line-height: 1.45; }
.story-inline-telegram a {
  display: grid;
  place-items: center;
  min-height: 48px;
  padding: 11px 15px;
  border-radius: 12px;
  background: #2aabee;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  text-decoration: none;
  white-space: nowrap;
}
.story-finish {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 22px;
  margin: 34px 0 16px;
  padding: clamp(20px, 4vw, 28px);
  border: 1px solid rgba(255,80,126,.38);
  border-radius: 20px;
  background: radial-gradient(circle at 0 0, rgba(255,46,99,.18), transparent 48%), linear-gradient(135deg, rgba(31,20,37,.98), rgba(12,8,15,.98));
}
.story-finish span { display: grid; gap: 5px; }
.story-finish small { color: #63f5b3; font-size: 9px; font-weight: 950; letter-spacing: .14em; }
.story-finish strong { font-size: clamp(22px, 4vw, 31px); line-height: 1.05; }
.story-finish p { margin: 0; color: #c9bdcd; font-size: 14px; }
.story-finish > a { display: grid; place-items: center; min-height: 54px; padding: 13px 18px; border-radius: 14px; background: linear-gradient(118deg, var(--hot), var(--orange)); color: #fff; font-size: 12px; font-weight: 950; text-decoration: none; white-space: nowrap; }
.story-reader-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 15px 0 28px; }
.story-reader-actions button {
  min-height: 48px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.045);
  color: #f4eaf6;
  cursor: pointer;
  font: inherit;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .045em;
}
.story-reader-actions button.is-saved { border-color: rgba(99,245,179,.42); background: rgba(41,204,147,.1); color: #73f6c6; }
.story-pager { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; padding-top: 24px; border-top: 1px solid var(--line); }
.story-pager a { display: grid; gap: 5px; min-height: 80px; padding: 15px; border: 1px solid var(--line); border-radius: 14px; background: rgba(255,255,255,.035); color: #fff; text-decoration: none; }
.story-pager a:last-child { text-align: right; }
.story-pager small { color: #ff79a2; font-size: 9px; font-weight: 950; letter-spacing: .11em; }
.story-pager strong { align-self: end; font-size: 15px; line-height: 1.2; }
.story-related { padding-top: 12px; }
.story-reading-progress { position: fixed; z-index: 140; top: 0; left: 0; width: 100%; height: 3px; pointer-events: none; background: rgba(255,255,255,.045); }
.story-reading-progress span { display: block; width: 100%; height: 100%; transform: scaleX(0); transform-origin: left center; background: linear-gradient(90deg, #2aabee, #ff2e63, #ff8b27); box-shadow: 0 0 14px rgba(255,46,99,.55); }
.story-continue-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(860px, calc(100% - 32px));
  margin: 0 auto 24px;
  padding: 15px 18px;
  border: 1px solid rgba(99,245,179,.28);
  border-radius: 16px;
  background: linear-gradient(118deg, rgba(36,197,145,.12), rgba(42,171,238,.08));
  color: #fff;
  text-decoration: none;
}
.story-continue-card span { display: grid; gap: 4px; }
.story-continue-card small { color: #6df2c1; font-size: 9px; font-weight: 950; letter-spacing: .13em; }
.story-continue-card strong { font-size: 18px; }
.story-continue-card b { color: #78f3c7; font-size: 15px; white-space: nowrap; }

@media (max-width: 900px) {
  .story-grid--home { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .story-grid--related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .stories-nav-link { display: none; }
  .story-grid,
  .story-grid--home,
  .story-grid--related { grid-template-columns: 1fr; }
  .story-card { display: grid; grid-template-columns: 118px minmax(0,1fr); border-radius: 16px; }
  .story-card-cover,
  .story-card--compact .story-card-cover { aspect-ratio: auto; min-height: 178px; border-right: 1px solid rgba(255,255,255,.1); border-bottom: 0; }
  .story-card-body,
  .story-card--compact .story-card-body { padding: 13px 12px; }
  .story-card h3,
  .story-card--compact h3 { font-size: 19px; }
  .story-card p,
  .story-card--compact p { display: -webkit-box; overflow: hidden; -webkit-line-clamp: 3; -webkit-box-orient: vertical; font-size: 11px; line-height: 1.42; }
  .story-card-meta,
  .story-card--compact .story-card-meta { font-size: 7px; }
  .story-read-link { font-size: 9px; }
  .article-cover--story { aspect-ratio: 4 / 3; }
  .story-inline-telegram,
  .story-finish { grid-template-columns: 1fr; }
  .story-inline-telegram a,
  .story-finish > a { width: 100%; white-space: normal; text-align: center; }
  .story-reader-actions,
  .story-pager { grid-template-columns: 1fr; }
  .story-pager a:last-child { text-align: left; }
  .stories-catalog-actions,
  .home-stories-actions { display: grid; grid-template-columns: 1fr; }
  .stories-catalog-actions > *,
  .home-stories-actions > * { width: 100%; }
}

/* Animated highlight for the main Telegram CTA. */
.cta-primary {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  animation: main-cta-glow 2.6s ease-in-out infinite;
}

.cta-primary::after {
  content: "";
  position: absolute;
  top: -55%;
  left: -38%;
  width: 30%;
  height: 210%;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transform: rotate(18deg);
  animation: main-cta-shine 3.8s ease-in-out infinite;
}

.cta-primary > * {
  position: relative;
  z-index: 1;
}

@keyframes main-cta-glow {
  0%, 100% {
    filter: brightness(1) saturate(1);
    box-shadow: 0 18px 55px rgba(255,46,99,.34), 0 0 0 rgba(255,123,40,0), inset 0 1px rgba(255,255,255,.24);
  }
  50% {
    filter: brightness(1.08) saturate(1.12);
    box-shadow: 0 22px 68px rgba(255,46,99,.52), 0 0 34px rgba(255,123,40,.28), inset 0 1px rgba(255,255,255,.3);
  }
}

@keyframes main-cta-shine {
  0%, 38% { left: -38%; opacity: 0; }
  48% { opacity: .75; }
  70%, 100% { left: 118%; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .cta-primary,
  .cta-primary::after { animation: none !important; }
}

/* Prominent internal link to the city directory. */
.gloryhole-home-link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  width: min(1120px, calc(100% - 32px));
  margin: 6px auto 30px;
  padding: clamp(20px, 4vw, 34px);
  border: 1px solid rgba(255,103,179,.36);
  border-radius: 24px;
  background: radial-gradient(circle at 92% 20%, rgba(42,171,238,.2), transparent 34%), linear-gradient(135deg, rgba(255,46,99,.13), rgba(20,14,27,.96) 58%);
  box-shadow: 0 22px 62px rgba(0,0,0,.32), inset 0 1px rgba(255,255,255,.08);
}
.gloryhole-home-link-copy { display: grid; gap: 7px; }
.gloryhole-home-link small { color: var(--ok); font-size: 10px; font-weight: 950; letter-spacing: .14em; }
.gloryhole-home-link strong { font-size: clamp(24px, 4.8vw, 42px); line-height: 1; letter-spacing: -.04em; }
.gloryhole-home-link p { max-width: 700px; margin: 0; color: var(--muted); }
.gloryhole-home-link-action { display: grid; place-items: center; min-height: 64px; padding: 13px 20px; border: 1px solid rgba(255,255,255,.28); border-radius: 16px; background: linear-gradient(115deg, var(--hot), var(--orange)); color:#fff;text-align:center;text-decoration:none;font-size:14px;font-weight:950;box-shadow:0 14px 38px rgba(255,46,99,.28); }
.gloryhole-home-link-action:hover { transform: translateY(-2px); filter: saturate(1.1); }
@media (max-width: 720px) {
  .gloryhole-home-link { grid-template-columns: 1fr; gap: 15px; margin-bottom: 22px; border-radius: 20px; }
  .gloryhole-home-link-action { width: 100%; }
}
