::selection { background: #EFA66E; color: #faf4e8; }

/* Ссылки в текстах на светлом фоне: терракота (контраст 4,6:1) вместо стандартного #ff8562 (2,2:1) */
#rec962435781 a,
#rec915709354 .tn-atom a,
#rec915754663 .tn-atom a,
#rec958987826 .tn-atom a,
#rec916103791 a,
#rec951594506 a { color: #A85A22 !important; }

/* Футер: подпись согласия не мельче 12 px, ссылка в ней — фирменный оранжевый на тёмном */
#rec949009141 .t-checkbox__control,
#rec951087031 .t-checkbox__control { font-size: 12px !important; line-height: 1.3 !important; }
#rec949009141 .t-checkbox__control a,
#rec951087031 .t-checkbox__control a { color: #EFA66E !important; }

/* «Достижения» (О студии и её окно): логотипы организаторов одним цветом — кремовым на зелёных плитках, тёмным на оранжевой */
:is(#rec850822283, #rec836071196) :is(
  .tn-elem[data-elem-id="1732626793972"],
  .tn-elem[data-elem-id="1732627174099"],
  .tn-elem[data-elem-id="1732626353981"],
  .tn-elem[data-elem-id="1732629486166"],
  .tn-elem[data-elem-id="1733407898678"],
  .tn-elem[data-elem-id="1733408700593"]
) img { filter: brightness(0) invert(1) sepia(0.12); opacity: 0.92; }
:is(#rec850822283, #rec836071196) .tn-elem[data-elem-id="1732621851438"] img { filter: brightness(0); opacity: 0.85; }

/* Видимый фокус для навигации с клавиатуры */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
.t-submit:focus-visible {
  outline: 2px solid #EFA66E;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Режим «меньше анимации» (системная настройка посетителя) */
@media (prefers-reduced-motion: reduce) {
  .cb-cursor,
  #transitionEffect { display: none !important; }
  .t-animate {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
    animation: none !important;
  }
  *, *::before, *::after { scroll-behavior: auto !important; }
}

/* Переходы между страницами средствами браузера: мягкий наплыв без задержки.
   Части нижней панели скрипт меню называет sm-dock-N — они остаются на месте.
   Где браузер этого не умеет, работает прежний переход со стеклом. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: 0.3s cubic-bezier(0.4, 0, 0.2, 1) both sm-vt-out; }
::view-transition-new(root) { animation: 0.36s cubic-bezier(0.2, 0.8, 0.2, 1) both sm-vt-in; }
@keyframes sm-vt-out { to { opacity: 0; filter: blur(12px); } }
@keyframes sm-vt-in { from { opacity: 0; filter: blur(12px); } }
@media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } }

/* Плёночное зерно: едва заметная «киношная» фактура поверх страницы */
body::after { content: ""; position: fixed; inset: 0; z-index: 2147482000; pointer-events: none; opacity: 0.05; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); background-size: 180px 180px; }

/* Линия прогресса чтения на длинных страницах (класс sm-long ставит скрипт) */
@supports (animation-timeline: scroll()) {
  @media (prefers-reduced-motion: no-preference) {
    html.sm-long body::before { content: ""; position: fixed; left: 0; top: 0; z-index: 99998; width: 100%; height: 3px; background: #efa66e; transform-origin: 0 50%; transform: scaleX(0); pointer-events: none; animation: sm-progress linear both; animation-timeline: scroll(root block); }
    @keyframes sm-progress { to { transform: scaleX(1); } }
  }
}

/* Световое пятно на карточках: мягкий блик идёт за курсором (класс sm-spot и координаты ставит скрипт) */
.sm-spot .tn-atom { position: relative; }
.sm-spot .tn-atom::after { content: ""; position: absolute; inset: 0; border-radius: inherit; background: radial-gradient(300px circle at var(--sx, 50%) var(--sy, 50%), rgba(250, 244, 232, 0.2), transparent 65%); opacity: 0; transition: opacity 0.35s; pointer-events: none; }
.sm-spot.sm-lit .tn-atom::after { opacity: 1; }

/* Ровные переносы: заголовки без висячих слов, абзацы без одиноких слов в последней строке */
.t-title, .t-section__title, .t-feed__post-title, .t-name { text-wrap: balance; }
.t-text, .t-descr { text-wrap: pretty; }

/* Мелкие ссылки на телефоне: область нажатия больше, вид прежний */
.t-feed__parts-switch-btn { position: relative; }
.t-feed__parts-switch-btn::after { content: ""; position: absolute; inset: -7px -2px; }
:is(#rec830970429, #rec831156616) .tn-elem:is([data-elem-id="1733084833622"], [data-elem-id="1743063452089"], [data-elem-id="1733084833624"], [data-elem-id="1733084833625"], [data-elem-id="1733084833626"], [data-elem-id="1733085123371"], [data-elem-id="1733085123377"], [data-elem-id="1733085123380"], [data-elem-id="1733085123384"], [data-elem-id="1743090645261"]) .tn-atom { position: relative; }
:is(#rec830970429, #rec831156616) .tn-elem:is([data-elem-id="1733084833622"], [data-elem-id="1743063452089"], [data-elem-id="1733084833624"], [data-elem-id="1733084833625"], [data-elem-id="1733084833626"], [data-elem-id="1733085123371"], [data-elem-id="1733085123377"], [data-elem-id="1733085123380"], [data-elem-id="1733085123384"], [data-elem-id="1743090645261"]) .tn-atom::after { content: ""; position: absolute; inset: -10px -4px; }
:is(#rec915709354, #rec915754663, #rec958987826) .tn-atom a { position: relative; }
:is(#rec915709354, #rec915754663, #rec958987826) .tn-atom a::after { content: ""; position: absolute; inset: -12px -3px; }
