/* ==========================================================================
   page_plus.css — 🎨 оформление страниц и пабликов, 🏆 трофеи на частях
   страницы, 🖼 фотоальбомы, 🔞 размытие 18+, 🗞 подвкладки ленты (30.10.2026)
   Логика — js/page_plus.js, каталог — services/page_style.py.
   Анимации — только transform/opacity/background-position, у
   prefers-reduced-motion всё замирает.
   ========================================================================== */

/* --------------------------------------------------------------------------
   🗞 Переключатель лент — как вкладки «Свойств» в XP: светлая полоса с двумя
   аккуратными вкладками (по ширине текста, не на весь экран), под ней белая
   панель с кнопками-переключателями и подсказкой, что сейчас за лента.
   Всё на #feed-tabs.feed-nav: общие .tabs/.tab из style.css и xp_pages.css
   (и их мобильные !important) перебиваем точнее, а не порядком файлов.
   display не трогаем: ui_posts.js ставит flex, hideAllContainers — none (inline).
   -------------------------------------------------------------------------- */
#feed-tabs.feed-nav {
    position: relative;
    z-index: 2;   /* выше панели подвкладок: активная вкладка перекрывает её верхнюю рамку */
    flex-wrap: nowrap !important;
    align-items: flex-end !important;
    gap: 2px;
    margin: 0 !important;
    padding: 6px 8px 0 !important;
    overflow: visible !important;
    background: linear-gradient(180deg, #fbfaf5 0%, #efede2 100%) !important;
    border: 1px solid #a9b7d1 !important;
    border-bottom: 0 !important;
    box-shadow: inset 0 1px 0 #fff !important;
    border-radius: 0 !important;
}
#feed-tabs.feed-nav .feed-nav-tab {
    position: relative;
    overflow: visible !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 !important;
    padding: 5px 14px 5px 9px !important;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    color: #33415e !important;
    font: 12px Tahoma, sans-serif !important;
    font-weight: normal !important;
    text-shadow: none !important;
    background: linear-gradient(180deg, #ffffff 0%, #f3f2ec 55%, #e4e2d6 100%) !important;
    border: 1px solid #b6bfcf !important;
    border-bottom: 0 !important;
    border-radius: 3px 3px 0 0 !important;   /* у вкладок XP уголки скруглены — это часть «того самого» вида */
    box-shadow: none !important;
}
#feed-tabs.feed-nav .feed-nav-tab:hover {
    color: #0b2a6b !important;
    box-shadow: inset 0 2px 0 #ffc83c !important;
}
#feed-tabs.feed-nav .feed-nav-tab.active {
    z-index: 2;
    color: #0b2a6b !important;
    padding-top: 7px !important;
    padding-bottom: 7px !important;
    margin-bottom: -1px !important;
    background: #ffffff !important;
    border-color: #a9b7d1 !important;
    box-shadow: inset 0 3px 0 #e68b2c, inset 0 2px 0 #ffc83c !important;
}
/* перемычка: белый низ активной вкладки закрывает рамку панели — вкладка и панель одно целое */
#feed-tabs.feed-nav .feed-nav-tab.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -2px;
    height: 3px;
    background: #fff;
}
.feed-nav-ico { flex-shrink: 0; display: flex; align-items: center; }
.feed-nav-ico .xpi { width: 20px !important; height: 20px !important; margin: 0 !important; }
.feed-nav-text { display: flex; align-items: baseline; gap: 6px; min-width: 0; line-height: 1.2; }
.feed-nav-text b { font-weight: bold; }
#feed-tabs.feed-nav .feed-nav-tab:not(.active) .feed-nav-text b { font-weight: normal; }
.feed-nav-text small { display: none; }

/* Панель подвкладок */
.feed-subtabs {
    display: flex;
    align-items: center;
    gap: 4px;
    margin: 0 0 12px;
    padding: 7px 8px;
    background: #fff;
    border: 1px solid #a9b7d1;
    box-shadow: 0 1px 3px rgba(0, 30, 100, 0.1);
    position: relative;
    z-index: 1;
}
.feed-subtab {
    position: relative;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 12px 4px 8px;
    font: 12px Tahoma, sans-serif;
    color: #33415e;
    cursor: pointer;
    white-space: nowrap;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 0 !important;
    -webkit-tap-highlight-color: transparent;
}
.feed-subtab .xpi { width: 16px; height: 16px; flex-shrink: 0; }
.feed-subtab:hover { color: #0b2a6b; background: #eef3fd; border-color: #c5d5f2; }
/* выбранная — «нажатая» кнопка панели инструментов XP */
.feed-subtab.active {
    color: #0b2a6b;
    font-weight: bold;
    background: linear-gradient(180deg, #e3ecfb 0%, #d4e1f8 100%);
    border-color: #7f9db9 #c5d5f2 #c5d5f2 #7f9db9;
    box-shadow: inset 1px 1px 2px rgba(0, 30, 100, 0.15);
}
.feed-subtabs-hint {
    margin-left: auto;
    padding-left: 10px;
    color: #6b7385;
    font: 11px Tahoma, sans-serif;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: 0;
}
body.df-guest .feed-subtabs { border-top: 1px solid #a9b7d1; }

/* --------------------------------------------------------------------------
   🔞 Записи 18+
   -------------------------------------------------------------------------- */
.nsfw-badge {
    display: inline-block;
    margin-left: 6px;
    padding: 0 4px;
    font: bold 10px/14px Tahoma, sans-serif;
    color: #fff;
    background: #c0182a;
    border: 1px solid #7a0010;
    vertical-align: 1px;
    border-radius: 0 !important;
}
.nsfw-box { position: relative; contain: paint; }
.nsfw-box:not(.is-open) .nsfw-content {
    filter: blur(22px) saturate(0.6);
    max-height: 320px;
    overflow: hidden;
    user-select: none;
    pointer-events: none;
    min-height: 120px;
}
.nsfw-cover {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    padding: 12px;
    cursor: pointer;
    color: #fff;
    font: 12px Tahoma, sans-serif;
    text-shadow: 1px 1px 0 #000;
    background: repeating-linear-gradient(135deg, rgba(20, 10, 14, 0.62) 0 14px, rgba(40, 12, 20, 0.62) 14px 28px);
    border: 1px dashed rgba(255, 255, 255, 0.45);
    border-radius: 0 !important;
}
.nsfw-cover:hover .nsfw-cover-mark { transform: scale(1.06); }
.nsfw-cover-mark {
    display: inline-block;
    padding: 2px 10px;
    font: bold 22px Tahoma, sans-serif;
    background: #c0182a;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5);
    transition: transform 0.12s;
}
.nsfw-cover-title { font-weight: bold; font-size: 13px; }
.nsfw-cover-hint { font-size: 11px; opacity: 0.85; }

.xpv-win.is-nsfw-hidden #xpv-media,
.xpv-win.is-nsfw-hidden #xpv-doc { filter: blur(24px) saturate(0.6); pointer-events: none; user-select: none; }
.xpv-win #xpv-main { position: relative; }
.xpv-nsfw-cover { display: none; }
.xpv-win.is-nsfw-hidden .xpv-nsfw-cover { display: flex; }

/* --------------------------------------------------------------------------
   🎨 Цвет страницы (акцент): --dfp-a основной, --dfp-b светлый, --dfp-c тёмный
   -------------------------------------------------------------------------- */
.dfp-acc .profile-header-card { border-color: var(--dfp-c) !important; }
.dfp-acc .profile-header-card .profile-info-wrap {
    background: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, color-mix(in srgb, var(--dfp-b) 28%, #fff) 100%);
}
.dfp-acc #profile-widgets-row {
    background: linear-gradient(180deg, var(--dfp-a) 0%, var(--dfp-c) 100%);
    border-color: var(--dfp-c);
}
.dfp-acc #profile-widgets-row .xp-widget-title { color: var(--dfp-c); }
.dfp-acc #profile-widgets-row .xp-widget-more,
.dfp-acc .profile-header-card a { color: var(--dfp-a); }
.dfp-acc #wall-title-container .wall-title,
.dfp-acc .community-wall-header {
    background: linear-gradient(180deg, var(--dfp-a) 0%, var(--dfp-c) 100%) !important;
    color: #fff !important;
    border-color: var(--dfp-c) !important;
}
.dfp-acc .community-wall-header h3 { color: #fff !important; }
.dfp-acc .profile-actions-row .btn-primary,
.dfp-acc #comm-actions .btn-primary {
    background: linear-gradient(180deg, var(--dfp-b) 0%, var(--dfp-a) 55%, var(--dfp-c) 100%) !important;
    border-color: var(--dfp-c) !important;
    color: #fff !important;
}

/* Шрифты страницы — только для шапки, виджетов и заголовков: текст записей не трогаем */
.dfp-font-verdana .profile-header-card, .dfp-font-verdana #profile-widgets-row, .dfp-font-verdana .wall-title { font-family: Verdana, Tahoma, sans-serif !important; }
.dfp-font-trebuchet .profile-header-card, .dfp-font-trebuchet #profile-widgets-row, .dfp-font-trebuchet .wall-title { font-family: "Trebuchet MS", Tahoma, sans-serif !important; }
.dfp-font-georgia .profile-header-card, .dfp-font-georgia #profile-widgets-row, .dfp-font-georgia .wall-title { font-family: Georgia, "Times New Roman", serif !important; }
.dfp-font-courier .profile-header-card, .dfp-font-courier #profile-widgets-row, .dfp-font-courier .wall-title { font-family: "Courier New", monospace !important; }
.dfp-font-verdana .profile-name, .dfp-font-trebuchet .profile-name, .dfp-font-georgia .profile-name, .dfp-font-courier .profile-name { font-family: inherit !important; }

/* Панели */
.dfp-card-flat .profile-header-card,
.dfp-card-flat #profile-widgets-row .xp-profile-widget { box-shadow: none !important; }
.dfp-card-flat #profile-widgets-row .xp-widget-title { background: color-mix(in srgb, var(--dfp-b, #c9d7f2) 35%, #fff) !important; }
.dfp-card-glass .profile-header-card .profile-info-wrap,
.dfp-card-glass #profile-widgets-row .xp-profile-widget {
    background: rgba(255, 255, 255, 0.72) !important;
    backdrop-filter: blur(6px) saturate(1.3);
    -webkit-backdrop-filter: blur(6px) saturate(1.3);
}
.dfp-card-glass #profile-widgets-row { background: linear-gradient(135deg, color-mix(in srgb, var(--dfp-a) 70%, transparent), color-mix(in srgb, var(--dfp-c) 80%, transparent)) !important; }

/* Имя в шапке (без трофея) */
.dfp-nick-accent .profile-name .season-nick,
.dfp-nick-accent .profile-name .dfp-name-t { color: var(--dfp-a) !important; -webkit-text-fill-color: var(--dfp-a); background: none !important; }
.dfp-nick-shine .profile-name .season-nick,
.dfp-nick-shine .profile-name .dfp-name-t,
.dfp-nick-rainbow .profile-name .season-nick,
.dfp-nick-rainbow .profile-name .dfp-name-t,
.dfp-nick-glitch .profile-name .season-nick,
.dfp-nick-glitch .profile-name .dfp-name-t {
    background-size: 300% 100% !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    animation: dfp-nick-run 6s linear infinite;
}
.dfp-nick-shine .profile-name .season-nick,
.dfp-nick-shine .profile-name .dfp-name-t {
    background-image: linear-gradient(100deg, var(--dfp-c) 0%, var(--dfp-a) 35%, #fff 50%, var(--dfp-a) 65%, var(--dfp-c) 100%) !important;
}
.dfp-nick-rainbow .profile-name .season-nick,
.dfp-nick-rainbow .profile-name .dfp-name-t {
    background-image: linear-gradient(90deg, #e2312a, #f08c1a, #e9c81b, #3aa52e, #2f7fe0, #7a3fd0, #e2312a) !important;
}
.dfp-nick-glitch .profile-name .season-nick,
.dfp-nick-glitch .profile-name .dfp-name-t {
    background-image: linear-gradient(90deg, #111 0%, var(--dfp-a) 30%, #111 50%, var(--dfp-b) 70%, #111 100%) !important;
    animation: dfp-nick-run 3s steps(6) infinite;
    filter: drop-shadow(1px 0 0 rgba(255, 0, 80, 0.6)) drop-shadow(-1px 0 0 rgba(0, 220, 255, 0.6));
}
@keyframes dfp-nick-run { from { background-position: 0% 50%; } to { background-position: 300% 50%; } }

/* --------------------------------------------------------------------------
   🎨 Обложки (вешаются на .profile-cover)
   -------------------------------------------------------------------------- */
.profile-cover[class*="dfp-ban-"]:not(.dfp-ban-sky)::before,
.profile-cover[class*="dfp-ban-"]:not(.dfp-ban-sky)::after { display: none; }
.profile-cover.dfp-ban-grid {
    background:
        linear-gradient(rgba(255, 255, 255, 0.35) 1px, transparent 1px) 0 0 / 12px 12px,
        linear-gradient(90deg, rgba(255, 255, 255, 0.35) 1px, transparent 1px) 0 0 / 12px 12px,
        linear-gradient(180deg, var(--dfp-a, #245edb), var(--dfp-c, #0a246a)) !important;
}
.profile-cover.dfp-ban-honey {
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='48' viewBox='0 0 28 48'%3E%3Cpath d='M14 0l14 8v16l-14 8L0 24V8zM14 32l14 8v16M0 40l14-8' fill='none' stroke='%23fff' stroke-opacity='.28' stroke-width='1.2'/%3E%3C/svg%3E") 0 0 / 28px 48px,
        linear-gradient(160deg, #f6c445 0%, #e39a12 55%, #a35f00 100%) !important;
}
.profile-cover.dfp-ban-waves {
    background:
        radial-gradient(120% 60% at 50% 120%, var(--dfp-c, #0a246a) 40%, transparent 41%),
        radial-gradient(120% 60% at 20% 105%, var(--dfp-a, #245edb) 40%, transparent 41%),
        radial-gradient(120% 60% at 80% 95%, color-mix(in srgb, var(--dfp-b, #7da2e1) 80%, #fff) 40%, transparent 41%),
        linear-gradient(180deg, color-mix(in srgb, var(--dfp-b, #7da2e1) 40%, #fff), var(--dfp-b, #7da2e1)) !important;
}
.profile-cover.dfp-ban-stars {
    background:
        radial-gradient(1.4px 1.4px at 12% 22%, #fff 99%, transparent),
        radial-gradient(1px 1px at 28% 64%, #fff 99%, transparent),
        radial-gradient(1.6px 1.6px at 47% 31%, #fff 99%, transparent),
        radial-gradient(1px 1px at 63% 78%, #fff 99%, transparent),
        radial-gradient(1.3px 1.3px at 78% 18%, #fff 99%, transparent),
        radial-gradient(1px 1px at 91% 55%, #fff 99%, transparent),
        radial-gradient(1px 1px at 6% 80%, #fff 99%, transparent),
        radial-gradient(80% 120% at 70% 0%, color-mix(in srgb, var(--dfp-a, #245edb) 60%, transparent), transparent 70%),
        linear-gradient(180deg, #050a1f 0%, #101a44 100%) !important;
}
.profile-cover.dfp-ban-dots {
    background:
        radial-gradient(circle, rgba(255, 255, 255, 0.45) 2.2px, transparent 2.6px) 0 0 / 16px 16px,
        linear-gradient(135deg, var(--dfp-b, #7da2e1), var(--dfp-a, #245edb)) !important;
}
.profile-cover.dfp-ban-aurora {
    background: linear-gradient(115deg, #061a2b 0%, #0c3b4a 30%, #1aa37a 45%, #6ef0c2 52%, #2a6be0 62%, #7a3fd0 78%, #061a2b 100%) !important;
    background-size: 220% 100% !important;
    animation: dfp-aurora 16s ease-in-out infinite alternate;
}
@keyframes dfp-aurora { from { background-position: 0% 50%; } to { background-position: 100% 50%; } }
.profile-cover.dfp-ban-matrix {
    background:
        repeating-linear-gradient(90deg, rgba(0, 255, 120, 0.16) 0 2px, transparent 2px 14px),
        repeating-linear-gradient(180deg, rgba(0, 255, 120, 0.22) 0 1px, transparent 1px 7px),
        linear-gradient(180deg, #021006, #04220e) !important;
    background-size: 14px 100%, 100% 7px, auto !important;
    animation: dfp-matrix 3s linear infinite;
}
@keyframes dfp-matrix { from { background-position: 0 0, 0 0, 0 0; } to { background-position: 0 0, 0 70px, 0 0; } }
.profile-cover.dfp-ban-wings {
    background:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='60' viewBox='0 0 120 60'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.35' stroke-width='1'%3E%3Cpath d='M60 30C40 8 10 6 4 14s14 22 56 16zM60 30C80 8 110 6 116 14s-14 22-56 16zM60 30C44 44 18 54 12 48s12-14 48-18zM60 30c16 14 42 24 48 18s-12-14-48-18z'/%3E%3Cpath d='M20 14l20 12M100 14 80 26M24 48l16-12M96 48 80 36'/%3E%3C/g%3E%3C/svg%3E") center / 160px 80px,
        radial-gradient(120% 120% at 50% 0%, color-mix(in srgb, var(--dfp-b, #7da2e1) 70%, #fff), var(--dfp-a, #245edb) 60%, var(--dfp-c, #0a246a)) !important;
}
.profile-cover.dfp-ban-comet {
    background:
        linear-gradient(160deg, transparent 40%, rgba(255, 255, 255, 0.85) 49.6%, transparent 50%) 0 0 / 100% 100% no-repeat,
        radial-gradient(1.2px 1.2px at 20% 30%, #fff 99%, transparent),
        radial-gradient(1px 1px at 80% 60%, #fff 99%, transparent),
        linear-gradient(180deg, #14061f, #3a0d4a) !important;
}
.dfp-motto {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 10px;
    z-index: 3;
    color: #fff;
    font: italic bold 14px "Trebuchet MS", Tahoma, sans-serif;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.65), 0 0 8px rgba(0, 0, 0, 0.35);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    pointer-events: none;
}

/* Кнопка «Оформить страницу» в своей шапке */
.dfp-own-btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 6px;
    padding: 3px 9px;
    font: 11px Tahoma, sans-serif;
    cursor: pointer;
    color: #000;
    background: linear-gradient(180deg, #fff 0%, #ece9d8 100%);
    border: 1px solid #7f9db9;
    border-radius: 0 !important;
}
.dfp-own-btn:hover { border-color: #316ac5; box-shadow: inset 0 0 0 1px #c1d2ee; }
.dfp-own-btn .xpi { width: 16px; height: 16px; }

/* --------------------------------------------------------------------------
   🏆 Палитры трофеев (сезон II). Новый сезон — добавить .dfp-t-s<N>-<tier>.
   --tp-a светлый металл, --tp-b тёмный фон, --tp-c средний, --tp-g свечение
   -------------------------------------------------------------------------- */
[class*="dfp-t-"] { --tp-a: #c9cfdb; --tp-b: #2a2f38; --tp-c: #7b8496; --tp-g: rgba(200, 210, 230, 0.55); }
.dfp-t-s2-r1  { --tp-a: #f3d77a; --tp-b: #1c1304; --tp-c: #8a6100; --tp-g: rgba(255, 214, 90, 0.65); }
.dfp-t-s2-r2  { --tp-a: #e3e8ee; --tp-b: #1e2228; --tp-c: #5c6670; --tp-g: rgba(220, 230, 240, 0.6); }
.dfp-t-s2-r3  { --tp-a: #f0c08a; --tp-b: #2a170a; --tp-c: #8a5326; --tp-g: rgba(230, 160, 90, 0.6); }
.dfp-t-s2-r10 { --tp-a: #c2ccd6; --tp-b: #181c20; --tp-c: #4a5560; --tp-g: rgba(160, 180, 200, 0.55); }
.dfp-t-s2-r50 { --tp-a: #c6d27a; --tp-b: #232912; --tp-c: #5a6432; --tp-g: rgba(170, 190, 90, 0.5); }
.dfp-t-s2-s3  { --tp-a: #ffb070; --tp-b: #3a0605; --tp-c: #9c1d16; --tp-g: rgba(255, 110, 60, 0.6); }
.dfp-t-s2-s10 { --tp-a: #e8a868; --tp-b: #2e1907; --tp-c: #8a5320; --tp-g: rgba(220, 140, 70, 0.55); }
.dfp-t-s2-s50 { --tp-a: #b5c27a; --tp-b: #1c220e; --tp-c: #4f5a2c; --tp-g: rgba(150, 170, 90, 0.5); }
.dfp-t-s2-hw  { --tp-a: #ffb04a; --tp-b: #12081a; --tp-c: #c2540a; --tp-g: rgba(255, 140, 40, 0.7); }

/* Слот «Фон страницы» — вешается на .desktop-background */
.desktop-background.dfp-pg {
    filter: none !important;
    -webkit-filter: none !important;
    background:
        radial-gradient(70% 55% at 50% 0%, color-mix(in srgb, var(--tp-g) 70%, transparent) 0%, transparent 70%),
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='28' viewBox='0 0 48 28'%3E%3Cpath d='M12 0l12 7v14l-12 7L0 21V7zM36 14l12 7v14M24 7l12 7' fill='none' stroke='%23fff' stroke-opacity='.07' stroke-width='1'/%3E%3C/svg%3E") 0 0 / 48px 28px,
        linear-gradient(180deg, var(--tp-c) 0%, var(--tp-b) 70%) !important;
    background-attachment: fixed !important;
}
.desktop-background.dfp-pg::after {
    content: "";
    position: absolute;
    right: 4vw;
    bottom: 4vh;
    width: min(38vw, 360px);
    height: min(38vw, 360px);
    background: var(--dfp-emblem, none) center / contain no-repeat;
    opacity: 0.09;
    pointer-events: none;
}
.desktop-background.dfp-t-s2-hw.dfp-pg {
    background:
        radial-gradient(40% 30% at 80% 18%, rgba(255, 220, 140, 0.35) 0%, transparent 70%),
        radial-gradient(70% 55% at 50% 100%, rgba(194, 84, 10, 0.45) 0%, transparent 70%),
        linear-gradient(180deg, #1c0f26 0%, #0a0510 80%) !important;
}

/* Слот «Шапка» */
.profile-header-card.dfp-th {
    position: relative;
    border: 2px solid var(--tp-c) !important;
    box-shadow: 0 0 0 1px var(--tp-b), 0 0 16px var(--tp-g), 0 2px 10px rgba(0, 0, 0, 0.25) !important;
}
.profile-header-card.dfp-th .profile-info-wrap {
    background:
        linear-gradient(180deg, color-mix(in srgb, var(--tp-a) 18%, #fff) 0%, #fff 45%, color-mix(in srgb, var(--tp-a) 30%, #fff) 100%) !important;
    border-top: 2px solid var(--tp-c);
}
.profile-header-card.dfp-th .profile-cover { filter: saturate(0.85); }
.profile-header-card.dfp-th .profile-cover::marker { content: none; }
.dfp-emblem {
    position: absolute;
    top: 8px;
    right: 8px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 6px;
    max-width: 60%;
    padding: 3px 8px 3px 4px;
    color: var(--tp-a);
    font: bold 11px Tahoma, sans-serif;
    text-shadow: 1px 1px 0 #000;
    background: linear-gradient(180deg, color-mix(in srgb, var(--tp-b) 85%, transparent), color-mix(in srgb, var(--tp-b) 95%, transparent));
    border: 1px solid var(--tp-c);
    box-shadow: 0 0 10px var(--tp-g);
    pointer-events: none;
}
.dfp-emblem img { width: 28px; height: 28px; flex-shrink: 0; filter: drop-shadow(0 0 4px var(--tp-g)); }
.dfp-emblem span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.profile-header-card.dfp-th .profile-cover > .dfp-glint {
    position: absolute;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(105deg, transparent 38%, color-mix(in srgb, var(--tp-a) 55%, transparent) 49%, rgba(255, 255, 255, 0.7) 50%, color-mix(in srgb, var(--tp-a) 55%, transparent) 51%, transparent 62%);
    transform: translateX(-120%);
    animation: dfp-glint 9s ease-in-out infinite;
}
@keyframes dfp-glint { 0%, 70% { transform: translateX(-120%); } 100% { transform: translateX(120%); } }

/* Слот «Имя» — переливающийся металл трофея поверх любых цветов сезона */
.dfp-tn .season-nick,
.dfp-tn .dfp-name-t {
    background-image: linear-gradient(100deg, var(--tp-c) 0%, var(--tp-a) 30%, #fff 45%, var(--tp-a) 60%, var(--tp-c) 80%, var(--tp-a) 100%) !important;
    background-size: 300% 100% !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-shadow: none !important;
    filter: drop-shadow(0 0 3px var(--tp-g)) drop-shadow(1px 1px 0 color-mix(in srgb, var(--tp-b) 70%, transparent));
    animation: dfp-nick-run 5s linear infinite !important;
}
.dfp-tn .dfp-nick-ico {
    display: inline-block;
    width: 18px;
    height: 18px;
    margin-left: 4px;
    vertical-align: -3px;
    filter: drop-shadow(0 0 3px var(--tp-g));
    animation: dfp-bob 3.2s ease-in-out infinite;
}
@keyframes dfp-bob { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-2px) rotate(-4deg); } }

/* Слот «Виджеты» */
#profile-widgets-row.dfp-tw {
    background: linear-gradient(180deg, var(--tp-c) 0%, var(--tp-b) 100%) !important;
    border-color: var(--tp-c) !important;
    box-shadow: 0 0 14px var(--tp-g), inset 0 1px 0 color-mix(in srgb, var(--tp-a) 40%, transparent) !important;
}
#profile-widgets-row.dfp-tw .xp-widget-title {
    background: linear-gradient(180deg, color-mix(in srgb, var(--tp-a) 45%, #fff) 0%, color-mix(in srgb, var(--tp-a) 75%, var(--tp-c)) 100%) !important;
    color: var(--tp-b) !important;
    border-bottom: 1px solid var(--tp-c);
}
#profile-widgets-row.dfp-tw .xp-widget-more { color: var(--tp-b) !important; }

/* Слот «Стена» */
.dfp-twall .wall-title,
.dfp-twall.community-wall-header {
    background: linear-gradient(180deg, var(--tp-c) 0%, var(--tp-b) 100%) !important;
    color: var(--tp-a) !important;
    border: 1px solid var(--tp-c) !important;
    text-shadow: 1px 1px 0 #000;
    box-shadow: 0 0 10px var(--tp-g);
}
.dfp-twall.community-wall-header h3 { color: var(--tp-a) !important; }
#wall-container.dfp-twall > .wall-post,
#comm-wall-container.dfp-twall > .wall-post { border-left: 3px solid var(--tp-c) !important; }
#comm-tabs-container.dfp-twall .xp-tab-btn.active { box-shadow: inset 0 3px 0 var(--tp-c) !important; }

/* --------------------------------------------------------------------------
   Правила и метки паблика
   -------------------------------------------------------------------------- */
.dfp-comm-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    margin: 8px 0 0;
}
.dfp-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 1px 7px;
    font: 11px Tahoma, sans-serif;
    background: #f1efe7;
    border: 1px solid #b6b29c;
    border-radius: 0 !important;
}
.dfp-chip .xpi { width: 14px; height: 14px; }
.dfp-chip.is-adult { background: #c0182a; color: #fff; border-color: #7a0010; font-weight: bold; }
.dfp-chip.is-off { color: #666; }
.dfp-chip.is-ban { background: #fff0f0; color: #a00; border-color: #e0a0a0; }
.dfp-chip button {
    margin-left: 4px;
    padding: 0 5px;
    font: 10px Tahoma, sans-serif;
    cursor: pointer;
    border: 1px solid #999;
    background: #fff;
    border-radius: 0 !important;
}
.dfp-rules-box {
    margin-top: 10px !important;
    padding: 0 !important;
    border: 1px solid #b6b29c !important;
    background: #fffef4 !important;
}
.dfp-rules-box summary {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    cursor: pointer;
    font: bold 11px Tahoma, sans-serif;
    background: linear-gradient(180deg, #fff8d8, #f3e7b0);
    border-bottom: 1px solid #d8c98a;
    list-style: none;
}
.dfp-rules-box summary::-webkit-details-marker { display: none; }
.dfp-rules-box summary .xpi { width: 16px; height: 16px; }
.dfp-rules-text { padding: 8px 12px 10px; font: 12px/1.45 Tahoma, sans-serif; white-space: pre-wrap; word-break: break-word; }

/* --------------------------------------------------------------------------
   🖼 Виджет «Фотоальбомы» в профиле
   -------------------------------------------------------------------------- */
.dfp-alb-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3px;
    padding: 6px;
}
.dfp-alb-grid a { position: relative; display: block; aspect-ratio: 1; overflow: hidden; background: #dde3ee; }
.dfp-alb-grid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.2s; }
.dfp-alb-grid a:hover img { transform: scale(1.06); }
.dfp-alb-empty { padding: 12px; text-align: center; color: #555; font-size: 11px; }
.dfp-alb-empty .btn { margin-top: 6px; }

/* --------------------------------------------------------------------------
   Окна модуля (своя рамка XP, как у «Свойств сообщества»)
   -------------------------------------------------------------------------- */
.dfp-overlay {
    position: fixed;
    inset: 0;
    z-index: 100050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
    background: rgba(0, 0, 0, 0.42);
}
.dfp-win {
    display: flex;
    flex-direction: column;
    width: 100%;
    max-width: 620px;
    max-height: min(92vh, 820px);
    background: #ece9d8;
    border: 3px solid #0831d9;
    border-top: 0;
    border-radius: 8px 8px 0 0 !important;
    box-shadow: 0 0 0 1px rgba(0, 20, 90, 0.4), 4px 8px 26px rgba(0, 0, 0, 0.45);
    font: 11px Tahoma, sans-serif;
    color: #000;
    overflow: hidden;
    animation: dfp-in 0.14s ease-out;
}
.dfp-win.is-wide { max-width: 860px; }
.dfp-win.is-narrow { max-width: 460px; }
@keyframes dfp-in { from { opacity: 0; transform: scale(0.97); } to { opacity: 1; transform: none; } }
.dfp-win .xpa-caption { border-radius: 7px 7px 0 0 / 8px 8px 0 0 !important; }
.dfp-tabs { display: flex; gap: 1px; padding: 6px 8px 0; overflow-x: auto; scrollbar-width: none; flex-shrink: 0; }
.dfp-tabs::-webkit-scrollbar { display: none; }
.dfp-tab {
    flex-shrink: 0;
    margin-bottom: -1px;
    padding: 3px 10px;
    font: 11px Tahoma, sans-serif;
    color: #000;
    cursor: pointer;
    background: linear-gradient(180deg, #ffffff 0%, #f4f3ee 60%, #e6e4da 100%);
    border: 1px solid #919b9c;
    border-bottom: 0;
    border-radius: 3px 3px 0 0 !important;
}
.dfp-tab:hover { box-shadow: inset 0 2px 0 #ffc83c; }
.dfp-tab.active { padding: 5px 12px 4px; background: #fcfcfe; box-shadow: inset 0 3px 0 #e68b2c, inset 0 2px 0 #ffc83c; position: relative; z-index: 1; }
.dfp-body {
    flex: 1;
    min-height: 200px;
    margin: 0 8px;
    padding: 12px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #fcfcfe;
    border: 1px solid #919b9c;
}
.dfp-body.no-tabs { margin-top: 8px; }
.dfp-foot { display: flex; justify-content: flex-end; gap: 6px; padding: 8px; flex-shrink: 0; flex-wrap: wrap; }
.dfp-foot .dfp-foot-note { margin-right: auto; align-self: center; color: #555; }

.dfp-group { margin: 0 0 12px; padding: 8px 10px 10px; border: 1px solid #d0d0bf; }
.dfp-group > legend { padding: 0 4px; color: #0046d5; font-weight: bold; }
.dfp-hint { margin: 2px 0 8px; color: #555; line-height: 1.4; }
.dfp-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dfp-check { display: flex; align-items: flex-start; gap: 6px; margin: 4px 0; cursor: pointer; line-height: 1.35; }
.dfp-check input { margin-top: 1px; }

.dfp-swatches { display: flex; flex-wrap: wrap; gap: 6px; }
.dfp-swatch {
    position: relative;
    width: 38px;
    height: 30px;
    padding: 0;
    cursor: pointer;
    border: 1px solid #555;
    border-radius: 0 !important;
    background: linear-gradient(135deg, var(--sw-b) 0%, var(--sw-a) 50%, var(--sw-c) 100%);
}
.dfp-swatch.active { outline: 2px solid #e68b2c; outline-offset: 1px; }
.dfp-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 6px; }
.dfp-tile {
    position: relative;
    padding: 6px 6px 6px 8px;
    text-align: left;
    font: 11px Tahoma, sans-serif;
    cursor: pointer;
    color: #000;
    background: linear-gradient(180deg, #fff, #f1efe2);
    border: 1px solid #b6b29c;
    border-radius: 0 !important;
}
.dfp-tile:hover { border-color: #316ac5; }
.dfp-tile.active { border-color: #e68b2c; box-shadow: inset 0 0 0 1px #ffc83c; font-weight: bold; }
.dfp-locked { opacity: 0.62; }
.dfp-lock {
    position: absolute;
    top: -6px;
    right: -6px;
    padding: 0 3px;
    font: bold 9px/13px Tahoma, sans-serif;
    color: #fff;
    background: #b8860b;
    border: 1px solid #5a3e00;
    white-space: nowrap;
}
.dfp-lock.is-shop { background: #2f7fe0; border-color: #0a3a80; }
.dfp-swatch .dfp-lock { top: -7px; right: -7px; }

.dfp-widgets-list { display: flex; flex-direction: column; gap: 3px; }
.dfp-widget-item { display: flex; align-items: center; gap: 6px; padding: 3px 6px; background: #fff; border: 1px solid #d0d0bf; }
.dfp-widget-item label { flex: 1; display: flex; align-items: center; gap: 5px; cursor: pointer; }
.dfp-widget-item button { min-width: 24px; padding: 0 4px; cursor: pointer; font: 11px Tahoma, sans-serif; border-radius: 0 !important; }

.dfp-slot {
    display: grid;
    grid-template-columns: 40px 1fr;
    gap: 4px 10px;
    align-items: center;
    padding: 8px;
    margin-bottom: 6px;
    background: #fff;
    border: 1px solid #d0d0bf;
}
.dfp-slot-ico { grid-row: span 2; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; background: #f1efe7; border: 1px solid #d0d0bf; }
.dfp-slot-ico img { width: 34px; height: 34px; }
.dfp-slot-ico .xpi { width: 24px; height: 24px; opacity: 0.4; }
.dfp-slot-title { font-weight: bold; }
.dfp-slot-title small { font-weight: normal; color: #666; margin-left: 4px; }
.dfp-slot select { width: 100%; max-width: 320px; }
.dfp-empty { padding: 16px; text-align: center; color: #555; line-height: 1.5; }
.dfp-empty .xpi { width: 32px; height: 32px; display: block; margin: 0 auto 6px; }

.dfp-rules-list { margin: 6px 0 10px 18px; padding: 0; line-height: 1.5; }
.dfp-rules-list li { margin-bottom: 5px; }

/* Альбомы: окно */
.dfp-albums { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 10px; }
.dfp-album {
    display: flex;
    flex-direction: column;
    text-align: left;
    padding: 0;
    cursor: pointer;
    background: #fff;
    border: 1px solid #b6b29c;
    box-shadow: 2px 2px 0 #d8d5c4, 4px 4px 0 #ecead9;
    border-radius: 0 !important;
    font: 11px Tahoma, sans-serif;
    color: #000;
}
.dfp-album:hover { border-color: #316ac5; }
.dfp-album-cover { aspect-ratio: 4 / 3; background: #dde3ee center / cover no-repeat; display: flex; align-items: center; justify-content: center; }
.dfp-album-cover .xpi { width: 40px; height: 40px; opacity: 0.55; }
.dfp-album-meta { padding: 5px 7px 6px; }
.dfp-album-title { font-weight: bold; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.dfp-album-sub { color: #666; margin-top: 2px; }
.dfp-photos { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: 4px; }
.dfp-photo { position: relative; aspect-ratio: 1; overflow: hidden; background: #dde3ee; cursor: zoom-in; }
.dfp-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dfp-photo-tools { position: absolute; right: 2px; top: 2px; display: none; gap: 2px; }
.dfp-photo:hover .dfp-photo-tools, .dfp-photo:focus-within .dfp-photo-tools { display: flex; }
.dfp-photo-tools button { padding: 1px 3px; cursor: pointer; background: rgba(255, 255, 255, 0.92); border: 1px solid #777; border-radius: 0 !important; }
.dfp-photo-tools .xpi { width: 14px; height: 14px; display: block; }
.dfp-photo.is-cover::after { content: "обложка"; position: absolute; left: 0; bottom: 0; padding: 0 4px; font-size: 10px; color: #fff; background: rgba(0, 70, 213, 0.85); }
.dfp-crumbs { display: flex; align-items: center; gap: 6px; margin-bottom: 8px; flex-wrap: wrap; }
.dfp-crumbs a { color: #0046d5; cursor: pointer; }
.dfp-form-grid { display: grid; grid-template-columns: auto 1fr; gap: 6px 8px; align-items: center; margin-bottom: 10px; }
.dfp-form-grid .input-field { margin: 0 !important; }

.dfp-viewer {
    position: fixed;
    inset: 0;
    z-index: 100060;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.88);
}
.dfp-viewer img { max-width: 94vw; max-height: 86vh; object-fit: contain; box-shadow: 0 6px 30px rgba(0, 0, 0, 0.6); }
.dfp-viewer-cap { position: absolute; left: 0; right: 0; bottom: 10px; text-align: center; color: #fff; font: 12px Tahoma, sans-serif; text-shadow: 1px 1px 0 #000; padding: 0 50px; }
.dfp-viewer button {
    position: absolute;
    top: 50%;
    width: 44px;
    height: 60px;
    margin-top: -30px;
    font: bold 24px Tahoma, sans-serif;
    color: #fff;
    cursor: pointer;
    background: rgba(255, 255, 255, 0.12);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 0 !important;
}
.dfp-viewer .dfp-v-prev { left: 8px; }
.dfp-viewer .dfp-v-next { right: 8px; }
.dfp-viewer .dfp-v-close { top: 30px; right: 8px; height: 44px; margin: 0; }

@media (max-width: 768px) {
    .dfp-overlay { padding: 0; align-items: stretch; }
    .dfp-win, .dfp-win.is-wide, .dfp-win.is-narrow { max-width: none; max-height: none; height: 100%; border-radius: 0 !important; }
    .dfp-win .xpa-caption { border-radius: 0 !important; }
    .dfp-emblem { max-width: 70%; font-size: 10px; }
    .dfp-emblem img { width: 22px; height: 22px; }
    .dfp-tiles { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); }
    .dfp-albums { grid-template-columns: repeat(2, 1fr); }
    .dfp-photos { grid-template-columns: repeat(3, 1fr); }
    .dfp-motto { font-size: 12px; }
    /* на телефоне — на всю ширину, крупнее под палец, подсказку прячем */
    #feed-tabs.feed-nav { padding: 6px 6px 0 !important; }
    #feed-tabs.feed-nav .feed-nav-tab { flex: 1 1 0 !important; justify-content: center; padding: 8px 6px !important; font-size: 13px !important; }
    #feed-tabs.feed-nav .feed-nav-tab.active { padding-top: 10px !important; padding-bottom: 9px !important; }
    .feed-subtabs { padding: 6px; gap: 4px; }
    .feed-subtab { flex: 1 1 0; justify-content: center; padding: 8px 6px; font-size: 13px; }
    .feed-subtabs-hint { display: none; }
    .desktop-background.dfp-pg { background-attachment: scroll !important; }
}

@media (prefers-reduced-motion: reduce) {
    .dfp-tn .season-nick, .dfp-tn .dfp-name-t, .dfp-tn .dfp-nick-ico,
    [class*="dfp-nick-"] .profile-name .season-nick, [class*="dfp-nick-"] .profile-name .dfp-name-t,
    .profile-cover.dfp-ban-aurora, .profile-cover.dfp-ban-matrix,
    .profile-header-card.dfp-th .profile-cover > .dfp-glint { animation: none !important; }
}

/* Галочки 18+ / «в общей ленте» в окне «Создание записи» */
.post-visibility-row.dfp-post-flags { display: block !important; padding-top: 4px; }
.dfp-post-flags label.dfp-check { display: flex; margin: 3px 0; font-size: 11px; }
.dfp-post-flags a { color: #0046d5; }
