/* 🔮 «Обряд Теней» — именной трофей (scripts/oneoff/2026_11_04_grant_shadow_rite.py).
   Части: скин интерфейса (df-skin-s3-shadow), трофей на странице и в паблике
   (dfp-t-s3-shadow), опции оформления страницы (accent/banner/card/nick_fx = shadow).
   Вся графика своя, из SVG в этом файле: чужих персонажей и иконок тут нет и не будет. */
:root {
    --rite-sigil: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 400'%3E%3Cg fill='none' stroke='%235ff5d8'%3E%3Ccircle cx='200' cy='200' r='194' stroke-width='2'/%3E%3Ccircle cx='200' cy='200' r='176' stroke-width='14' stroke-opacity='.45' stroke-dasharray='3 15'/%3E%3Ccircle cx='200' cy='200' r='156' stroke-width='1.5'/%3E%3C/g%3E%3Cg fill='none' stroke='%23c9a4ff' stroke-width='2'%3E%3Cpath d='M200 46 333 277H67z'/%3E%3Cpath d='M200 354 67 123h266z'/%3E%3Ccircle cx='200' cy='200' r='77'/%3E%3C/g%3E%3Cg fill='%235ff5d8'%3E%3Ccircle cx='200' cy='46' r='6'/%3E%3Ccircle cx='333' cy='123' r='6'/%3E%3Ccircle cx='333' cy='277' r='6'/%3E%3Ccircle cx='200' cy='354' r='6'/%3E%3Ccircle cx='67' cy='277' r='6'/%3E%3Ccircle cx='67' cy='123' r='6'/%3E%3C/g%3E%3C/svg%3E");
    --rite-wave: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='24' viewBox='0 0 120 24'%3E%3Cpath d='M0 12c15-12 25-12 40 0s25 12 40 0 25-12 40 0' fill='none' stroke='%235ff5d8' stroke-opacity='.3' stroke-width='1.4'/%3E%3C/svg%3E");
    --rite-motes: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cg fill='%235ff5d8'%3E%3Ccircle cx='40' cy='60' r='1.6' fill-opacity='.8'/%3E%3Ccircle cx='220' cy='30' r='1.1' fill-opacity='.5'/%3E%3Ccircle cx='120' cy='170' r='1.4' fill-opacity='.6'/%3E%3C/g%3E%3Cg fill='%23e8a8ff'%3E%3Ccircle cx='270' cy='130' r='1.5' fill-opacity='.7'/%3E%3Ccircle cx='70' cy='250' r='1.2' fill-opacity='.6'/%3E%3Ccircle cx='190' cy='270' r='1.7' fill-opacity='.7'/%3E%3C/g%3E%3C/svg%3E");
    --rite-night: radial-gradient(60% 45% at 50% 42%, rgba(106, 47, 196, 0.55) 0%, transparent 72%), radial-gradient(50% 35% at 50% 105%, rgba(50, 205, 180, 0.28) 0%, transparent 70%), linear-gradient(180deg, #170a2c 0%, #0d0717 75%);
    --rite-cap: linear-gradient(180deg, #6a3bb4 0%, #3a1a70 12%, #1f0d3e 58%, #2c1458 88%, #32cdb4 96%, #157a6c 100%);
    --rite-panel: linear-gradient(180deg, rgba(248, 243, 255, 0.95) 0%, rgba(231, 219, 250, 0.93) 100%);
}

.trophy-tile.trophy-s3-shadow {
    --tt-icon: url("/static/trophies/s3_shadow.svg");
    --sk-cap: var(--rite-cap);
    --sk-panel: linear-gradient(#f6f0ff, #d6c4f2);
    --sk-task: linear-gradient(#35186a, #120826);
    --sk-task-btn: linear-gradient(#7ff7e0, #1c8f7e);
}

/* ---------- Скин всего интерфейса у владельца ---------- */
html.df-skin-s3-shadow {
    --xp-blue-dark: #1f0d3e; --xp-blue-luna: #6a2fc4; --xp-blue-light: #a77cf0;
    --xp-blue-gradient: var(--rite-cap);
    --xp-window-border: #4a2596; --app-btn-primary: #6a2fc4; --app-btn-primary-hover: #4a1f96;
    --xp-orange-accent: #32cdb4;
    --sk-cap: var(--rite-cap);
    --sk-cap-shadow: #000;
    --sk-pattern: var(--rite-wave);
    --sk-pattern-soft: var(--rite-wave);
    --sk-panel: linear-gradient(to bottom, #f6f0ff 0%, #dccdf4 100%);
    --sk-panel-edge: #6a43a8;
    --sk-strip-a: #2c1458; --sk-strip-b: #120826; --sk-strip-text: #bdfff0;
    --sk-task: linear-gradient(180deg, #3f1f7c 0%, #1f0d3e 14%, #120826 60%, #1f0d3e 100%);
    --sk-task-btn: linear-gradient(180deg, #8d5be0 0%, #5a2bb0 52%, #2c1458 100%);
    --sk-hi: #6a2fc4; --sk-mid: #8d5be0; --sk-hi-text: #fff;
}
html.df-skin-s3-shadow .desktop-background:not(.dfp-pg) {
    filter: none !important; -webkit-filter: none !important;
    background: var(--rite-motes) 0 0 / 300px 300px repeat, var(--rite-night) !important;
    background-attachment: fixed !important;
}
/* Волна тени по заголовку. Полоса света едет сама, текст выше неё (z-index в trophies.css). */
html.df-skin-s3-shadow .ie6-header-zone .xp-title-bar::after,
html.df-skin-s3-shadow .xpv-title::after {
    content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
    background: linear-gradient(100deg, transparent 38%, rgba(95, 245, 216, 0.1) 45%, rgba(95, 245, 216, 0.46) 50%, rgba(232, 168, 255, 0.2) 55%, transparent 63%) 0 0 / 280% 100% no-repeat;
    animation: df-rite-wave 7s ease-in-out infinite;
}
html.df-skin-s3-shadow .ie6-header-zone .xp-title-icon {
    background-image: url("/static/trophies/s3_shadow.svg") !important; background-size: 18px 18px !important;
}
html.df-skin-s3-shadow .season-strip a,
html.df-skin-s3-shadow .season-strip .season-timer-value { color: #7ff7e0 !important; }
html.df-skin-s3-shadow .btn-primary,
html.df-skin-s3-shadow .xp-btn-primary {
    background: linear-gradient(180deg, #8d5be0 0%, #5a2bb0 52%, #3a1a70 100%) !important;
    color: #fff !important; text-shadow: 0 1px 0 #1f0d3e; border-color: #2c1458 !important;
}
html.df-skin-s3-shadow .btn-primary:hover,
html.df-skin-s3-shadow .xp-btn-primary:hover { box-shadow: 0 0 8px rgba(95, 245, 216, 0.75); }
@keyframes df-rite-wave { from { background-position: 130% 0; } to { background-position: -30% 0; } }

/* ---------- Трофей на странице и в паблике ---------- */
.dfp-t-s3-shadow { --tp-a: #bdfff0; --tp-b: #1f0d3e; --tp-c: #6a2fc4; --tp-g: rgba(141, 91, 224, 0.8); }
.desktop-background.dfp-t-s3-shadow.dfp-pg {
    background: var(--rite-motes) 0 0 / 300px 300px repeat, var(--rite-night) !important;
    background-attachment: fixed !important;
}
/* Круг обряда — отдельным слоем: крутить фон нельзя, а transform у псевдоэлемента дешёвый. */
.desktop-background.dfp-t-s3-shadow.dfp-pg::before {
    content: ""; position: fixed; top: 50%; left: 50%; z-index: 0; pointer-events: none;
    width: min(92vmin, 860px); height: min(92vmin, 860px);
    margin: calc(min(92vmin, 860px) / -2) 0 0 calc(min(92vmin, 860px) / -2);
    background: var(--rite-sigil) center / contain no-repeat;
    opacity: 0.2;
    animation: dfp-rite-spin 120s linear infinite;
}
.desktop-background.dfp-t-s3-shadow.dfp-pg::after { opacity: 0.14; }
@keyframes dfp-rite-spin { to { transform: rotate(360deg); } }

.profile-header-card.dfp-th.dfp-t-s3-shadow {
    border: 1px solid #c9a4ff !important;
    box-shadow: 0 0 0 2px #2c1458, 0 0 22px var(--tp-g), 0 6px 18px rgba(13, 7, 23, 0.55) !important;
}
.profile-header-card.dfp-th.dfp-t-s3-shadow .profile-cover,
.profile-cover.dfp-ban-shadow {
    position: relative; overflow: hidden; filter: none;
    background: var(--rite-sigil) center / 260px 260px no-repeat, var(--rite-wave) 0 0 / 120px 24px repeat, var(--rite-night) !important;
}
.profile-header-card.dfp-th.dfp-t-s3-shadow .profile-info-wrap { background: var(--rite-panel) !important; border-top: 1px solid #c9a4ff; }
.dfp-t-s3-shadow .dfp-emblem { color: #fff; text-shadow: 0 1px 1px #000; background: var(--rite-cap); border-color: #c9a4ff; }

.dfp-tn.dfp-t-s3-shadow .season-nick,
.dfp-tn.dfp-t-s3-shadow .dfp-name-t {
    background-image: linear-gradient(100deg, #4a1f96 0%, #8d36d8 28%, #d040b8 46%, #18a892 62%, #6a2fc4 82%, #4a1f96 100%) !important;
    filter: drop-shadow(0 1px 0 rgba(255, 255, 255, 0.85)) drop-shadow(0 0 5px var(--tp-g));
}

#profile-widgets-row.dfp-tw.dfp-t-s3-shadow { background: var(--rite-panel) !important; border-color: #8d5be0 !important; }
#profile-widgets-row.dfp-tw.dfp-t-s3-shadow .xp-widget-title {
    background: var(--rite-wave), var(--rite-cap) !important; color: #fff !important; text-shadow: 0 1px 0 #000; border-bottom: 1px solid #32cdb4;
}
#profile-widgets-row.dfp-tw.dfp-t-s3-shadow .xp-widget-more { color: #bdfff0 !important; }
#profile-widgets-row.dfp-tw.dfp-t-s3-shadow .xp-profile-widget { background: rgba(255, 255, 255, 0.86) !important; border-color: #c9a4ff !important; }

.dfp-twall.dfp-t-s3-shadow .wall-title,
.dfp-twall.community-wall-header.dfp-t-s3-shadow {
    background: var(--rite-wave), var(--rite-cap) !important; color: #fff !important; text-shadow: 0 1px 0 #000;
    border: 1px solid #8d5be0 !important;
}
.dfp-twall.community-wall-header.dfp-t-s3-shadow h3 { color: #fff !important; }
#wall-container.dfp-twall.dfp-t-s3-shadow > .wall-post,
#comm-wall-container.dfp-twall.dfp-t-s3-shadow > .wall-post {
    border: 1px solid #c9a4ff !important; border-left: 3px solid #32cdb4 !important;
    background: var(--rite-panel) !important;
    box-shadow: 0 3px 12px rgba(13, 7, 23, 0.5) !important;
}

/* ---------- Опции редактора оформления (открывает трофей) ---------- */
.dfp-card-shadow .profile-header-card { background: var(--rite-night) !important; box-shadow: 0 0 0 1px #c9a4ff, 0 0 0 3px #2c1458, 0 6px 18px rgba(13, 7, 23, 0.5) !important; }
.dfp-card-shadow .profile-header-card .profile-info-wrap,
.dfp-card-shadow #profile-widgets-row .xp-profile-widget,
.dfp-card-shadow .wall-post {
    background: var(--rite-panel) !important;
    border-color: #c9a4ff !important;
    box-shadow: 0 3px 12px rgba(13, 7, 23, 0.4) !important;
}
.dfp-card-shadow #profile-widgets-row { padding: 6px; background: var(--rite-cap) !important; }
.dfp-card-shadow #profile-widgets-row .xp-widget-title,
.dfp-card-shadow #wall-title-container .wall-title,
.dfp-card-shadow .community-wall-header { background: var(--rite-wave), var(--rite-cap) !important; color: #fff !important; text-shadow: 0 1px 0 #000; }
.dfp-card-shadow .community-wall-header h3,
.dfp-card-shadow #profile-widgets-row .xp-widget-title .xp-widget-more { color: #fff !important; }
.dfp-card-shadow .profile-actions-row .btn-primary,
.dfp-card-shadow #comm-actions .btn-primary { background: linear-gradient(180deg, #8d5be0, #3a1a70) !important; color: #fff !important; border-color: #2c1458 !important; }

.dfp-nick-shadow .profile-name .season-nick,
.dfp-nick-shadow .profile-name .dfp-name-t {
    background-image: linear-gradient(100deg, #4a1f96 0%, #8d36d8 28%, #d040b8 46%, #18a892 62%, #6a2fc4 82%, #4a1f96 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 1px 0 rgba(255, 255, 255, 0.85)) drop-shadow(0 0 4px rgba(141, 91, 224, 0.75));
    animation: dfp-nick-run 6s linear infinite !important;
}

@media (prefers-reduced-motion: reduce) {
    html.df-skin-s3-shadow .ie6-header-zone .xp-title-bar::after,
    html.df-skin-s3-shadow .xpv-title::after,
    .desktop-background.dfp-t-s3-shadow.dfp-pg::before,
    .dfp-nick-shadow .profile-name .season-nick,
    .dfp-nick-shadow .profile-name .dfp-name-t { animation: none !important; }
}
