/* Автоген: python gen_cosmetics_css.py */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@700&family=Oswald:wght@600&family=Raleway:wght@700&family=Montserrat:wght@700&family=Pacifico&family=Lobster&family=Bebas+Neue&family=Anton&family=Permanent+Marker&family=Caveat:wght@700&family=Comfortaa:wght@700&family=Exo+2:wght@700&family=Russo+One&family=Tektur:wght@700&family=Unbounded:wght@700&family=Rubik:wght@700&family=Nunito:wght@800&family=Kanit:wght@700&family=Orbitron:wght@700&family=Press+Start+2P&family=Righteous&family=Staatliches&family=Kalam:wght@700&family=Indie+Flower&family=Shadows+Into+Light&family=Bangers&family=Creepster&family=Amatic+SC:wght@700&family=Great+Vibes&family=Cinzel:wght@700&family=Playfair+Display:ital,wght@1,700&family=Merriweather:wght@700&family=Josefin+Sans:wght@700&family=Archivo+Black&family=Boogaloo&family=Fredoka:wght@600&family=Baloo+2:wght@700&family=Luckiest+Guy&family=Shantell+Sans:wght@700&family=Saira+Condensed:wght@700&display=swap');

/* --- Рамки (новые): CSS-переменные --- */
.avatar.cos-frame-ruby,
.avatar.cos-frame-emerald,
.avatar.cos-frame-sapphire,
.avatar.cos-frame-amethyst,
.avatar.cos-frame-coral,
.avatar.cos-frame-mint,
.avatar.cos-frame-lavender,
.avatar.cos-frame-rose,
.avatar.cos-frame-copper,
.avatar.cos-frame-platinum,
.avatar.cos-frame-obsidian,
.avatar.cos-frame-azure,
.avatar.cos-frame-crimson,
.avatar.cos-frame-violet,
.avatar.cos-frame-teal,
.avatar.cos-frame-lime,
.avatar.cos-frame-peach,
.avatar.cos-frame-sunset,
.avatar.cos-frame-ocean,
.avatar.cos-frame-forest,
.avatar.cos-frame-midnight,
.avatar.cos-frame-toxic,
.avatar.cos-frame-candy,
.avatar.cos-frame-wine,
.avatar.cos-frame-chocolate,
.avatar.cos-frame-sand,
.avatar.cos-frame-sky,
.avatar.cos-frame-storm,
.avatar.cos-frame-lava,
.avatar.cos-frame-frost,
.avatar.cos-frame-shadow,
.avatar.cos-frame-holo,
.avatar.cos-frame-prism,
.avatar.cos-frame-cosmic,
.avatar.cos-frame-galaxy,
.avatar.cos-frame-nebula,
.avatar.cos-frame-solar,
.avatar.cos-frame-lunar,
.avatar.cos-frame-ember,
.avatar.cos-frame-ash,
.avatar.cos-frame-jade,
.avatar.cos-frame-berry,
.avatar.cos-frame-honey,
.avatar.cos-frame-slate,
.avatar.cos-frame-electric {
    box-shadow: 0 0 0 2px var(--cos-fc), 0 0 14px var(--cos-fg);
}

.cos-frame-ruby { --cos-fc: #e0115f; --cos-fg: rgba(224,17,95,.55); }
.cos-frame-emerald { --cos-fc: #50c878; --cos-fg: rgba(80,200,120,.5); }
.cos-frame-sapphire { --cos-fc: #0f52ba; --cos-fg: rgba(15,82,186,.55); }
.cos-frame-amethyst { --cos-fc: #9966cc; --cos-fg: rgba(153,102,204,.5); }
.cos-frame-coral { --cos-fc: #ff7f50; --cos-fg: rgba(255,127,80,.5); }
.cos-frame-mint { --cos-fc: #3eb489; --cos-fg: rgba(62,180,137,.5); }
.cos-frame-lavender { --cos-fc: #b57edc; --cos-fg: rgba(181,126,220,.5); }
.cos-frame-rose { --cos-fc: #ff4d8d; --cos-fg: rgba(255,77,141,.5); }
.cos-frame-copper { --cos-fc: #da8a67; --cos-fg: rgba(218,138,103,.5); }
.cos-frame-platinum { --cos-fc: #e5e4e2; --cos-fg: rgba(229,228,226,.55); }
.cos-frame-obsidian { --cos-fc: #4a4a55; --cos-fg: rgba(74,74,85,.65); }
.cos-frame-azure { --cos-fc: #007fff; --cos-fg: rgba(0,127,255,.55); }
.cos-frame-crimson { --cos-fc: #dc143c; --cos-fg: rgba(220,20,60,.55); }
.cos-frame-violet { --cos-fc: #8f00ff; --cos-fg: rgba(143,0,255,.5); }
.cos-frame-teal { --cos-fc: #008080; --cos-fg: rgba(0,128,128,.5); }
.cos-frame-lime { --cos-fc: #32cd32; --cos-fg: rgba(50,205,50,.5); }
.cos-frame-peach { --cos-fc: #ffb07c; --cos-fg: rgba(255,176,124,.5); }
.cos-frame-sunset { --cos-fc: #ff6b35; --cos-fg: rgba(255,107,53,.55); }
.avatar.cos-frame-sunset { animation: cosFramePulse 1.5s ease-in-out infinite alternate; }
.cos-frame-ocean { --cos-fc: #006994; --cos-fg: rgba(0,105,148,.55); }
.cos-frame-forest { --cos-fc: #228b22; --cos-fg: rgba(34,139,34,.5); }
.cos-frame-midnight { --cos-fc: #191970; --cos-fg: rgba(25,25,112,.6); }
.cos-frame-toxic { --cos-fc: #39ff14; --cos-fg: rgba(57,255,20,.45); }
.avatar.cos-frame-toxic { animation: cosFramePulse 1.5s ease-in-out infinite alternate; }
.cos-frame-candy { --cos-fc: #ff6eb4; --cos-fg: rgba(255,110,180,.5); }
.cos-frame-wine { --cos-fc: #722f37; --cos-fg: rgba(114,47,55,.55); }
.cos-frame-chocolate { --cos-fc: #7b3f00; --cos-fg: rgba(123,63,0,.5); }
.cos-frame-sand { --cos-fc: #c2b280; --cos-fg: rgba(194,178,128,.5); }
.cos-frame-sky { --cos-fc: #87ceeb; --cos-fg: rgba(135,206,235,.55); }
.cos-frame-storm { --cos-fc: #71797e; --cos-fg: rgba(113,121,126,.55); }
.cos-frame-lava { --cos-fc: #ff4500; --cos-fg: rgba(255,69,0,.65); }
.avatar.cos-frame-lava { animation: cosFramePulse 1.5s ease-in-out infinite alternate; }
.cos-frame-frost { --cos-fc: #a5f2f3; --cos-fg: rgba(165,242,243,.55); }
.cos-frame-shadow { --cos-fc: #3d3d4a; --cos-fg: rgba(61,61,74,.7); }
.cos-frame-holo { --cos-fc: #e0b0ff; --cos-fg: rgba(180,120,255,.6); }
.avatar.cos-frame-holo { animation: cosFramePulse 1.5s ease-in-out infinite alternate; }
.cos-frame-prism { --cos-fc: #ff6ec7; --cos-fg: rgba(255,110,199,.55); }
.avatar.cos-frame-prism { animation: cosFramePulse 1.5s ease-in-out infinite alternate; }
.cos-frame-cosmic { --cos-fc: #6c5ce7; --cos-fg: rgba(108,92,231,.6); }
.avatar.cos-frame-cosmic { animation: cosFramePulse 1.5s ease-in-out infinite alternate; }
.cos-frame-galaxy { --cos-fc: #4834d4; --cos-fg: rgba(72,52,212,.6); }
.avatar.cos-frame-galaxy { animation: cosFramePulse 1.5s ease-in-out infinite alternate; }
.cos-frame-nebula { --cos-fc: #a29bfe; --cos-fg: rgba(162,155,254,.6); }
.avatar.cos-frame-nebula { animation: cosFramePulse 1.5s ease-in-out infinite alternate; }
.cos-frame-solar { --cos-fc: #ffd700; --cos-fg: rgba(255,215,0,.6); }
.cos-frame-lunar { --cos-fc: #c0c8d8; --cos-fg: rgba(192,200,216,.55); }
.cos-frame-ember { --cos-fc: #ff5722; --cos-fg: rgba(255,87,34,.6); }
.cos-frame-ash { --cos-fc: #b2beb5; --cos-fg: rgba(178,190,181,.5); }
.cos-frame-jade { --cos-fc: #00a86b; --cos-fg: rgba(0,168,107,.5); }
.cos-frame-berry { --cos-fc: #8b008b; --cos-fg: rgba(139,0,139,.5); }
.cos-frame-honey { --cos-fc: #eb9605; --cos-fg: rgba(235,150,5,.55); }
.cos-frame-slate { --cos-fc: #708090; --cos-fg: rgba(112,128,144,.55); }
.cos-frame-electric { --cos-fc: #00d4ff; --cos-fg: rgba(0,212,255,.65); }
.avatar.cos-frame-electric { animation: cosFramePulse 1.5s ease-in-out infinite alternate; }

/* --- Шрифты (новые) --- */
.cos-font-roboto { font-family: "Roboto", system-ui, sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-oswald { font-family: "Oswald", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-raleway { font-family: "Raleway", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-montserrat { font-family: "Montserrat", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-pacifico { font-family: "Pacifico", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-lobster { font-family: "Lobster", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-bebas { font-family: "Bebas Neue", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-anton { font-family: "Anton", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-marker { font-family: "Permanent Marker", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-caveat { font-family: "Caveat", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-comfortaa { font-family: "Comfortaa", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-exo2 { font-family: "Exo 2", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-russo { font-family: "Russo One", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-tektur { font-family: "Tektur", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-unbounded { font-family: "Unbounded", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-rubik { font-family: "Rubik", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-nunito { font-family: "Nunito", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-kanit { font-family: "Kanit", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-orbitron { font-family: "Orbitron", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-press { font-family: "Press Start 2P", monospace; font-weight: 700; letter-spacing: .02em; }
.cos-font-righteous { font-family: "Righteous", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-staat { font-family: "Staatliches", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-kalam { font-family: "Kalam", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-indie { font-family: "Indie Flower", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-shadows { font-family: "Shadows Into Light", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-bangers { font-family: "Bangers", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-creepster { font-family: "Creepster", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-amatic { font-family: "Amatic SC", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-vibes { font-family: "Great Vibes", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-cinzel { font-family: "Cinzel", serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-playfair { font-family: "Playfair Display", serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-merri { font-family: "Merriweather", serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-josefin { font-family: "Josefin Sans", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-archivo { font-family: "Archivo Black", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-boogaloo { font-family: "Boogaloo", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-fredoka { font-family: "Fredoka", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-baloo { font-family: "Baloo 2", sans-serif; font-weight: 700; letter-spacing: .02em; }
.cos-font-lucky { font-family: "Luckiest Guy", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-shantell { font-family: "Shantell Sans", cursive; font-weight: 700; letter-spacing: .02em; }
.cos-font-saira { font-family: "Saira Condensed", sans-serif; font-weight: 700; letter-spacing: .02em; }

/* --- Анимации аватар --- */
.avatar.cos-anim-av-halo::before {
    content: ''; position: absolute; inset: -8px; border-radius: inherit;
    border: 2px solid rgba(255,220,100,.7);
    box-shadow: 0 0 18px rgba(255,200,80,.5);
    animation: cosPulse 2s ease-in-out infinite; pointer-events: none;
}
.avatar.cos-anim-av-orbit::after {
    content: ''; position: absolute; inset: -6px; border-radius: inherit;
    border: 2px dashed color-mix(in srgb, var(--accent) 80%, #fff);
    animation: cosSpin 3s linear infinite; pointer-events: none;
}
.avatar.cos-anim-av-ripple::before {
    content: ''; position: absolute; inset: -4px; border-radius: inherit;
    border: 2px solid rgba(100,200,255,.5); animation: cosRipple 1.8s ease-out infinite; pointer-events: none;
}
.avatar.cos-anim-av-thunder { animation: cosThunder 1.2s steps(2) infinite; }
.avatar.cos-anim-av-cosmic_dust::after {
    content: '✦'; position: absolute; font-size: 10px; color: #ffe566;
    animation: cosSparkle 1s ease-in-out infinite; top: 0; right: 0; pointer-events: none;
}
.avatar.cos-anim-av-bounce { animation: cosBounce 1s ease-in-out infinite; }
.avatar.cos-anim-av-spin { animation: cosSpin 4s linear infinite; }
.avatar.cos-anim-av-heartbeat { animation: cosHeartbeat 1.1s ease-in-out infinite; }

/* --- Анимации ник --- */
.cos-anim-nm-shimmer {
    background: linear-gradient(90deg, #fff 0%, #aaa 45%, #fff 55%, #ccc 100%);
    background-size: 200% auto; -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent; animation: cosShimmer 2s linear infinite;
}
.cos-anim-nm-neon {
    color: #0ff; text-shadow: 0 0 6px #0ff, 0 0 14px #f0f, 0 0 22px #0ff;
    animation: cosNeonText 1.4s ease-in-out infinite alternate;
}
.cos-anim-nm-ice {
    color: #b8f0ff; text-shadow: 0 0 8px #6ee7ff, 0 0 16px #4fc3f7;
}
.cos-anim-nm-gold {
    background: linear-gradient(180deg, #fff6b0, #d4a017, #fff6b0);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent;
}
.cos-anim-nm-toxic { color: #39ff14; text-shadow: 0 0 10px #39ff14; }
.cos-anim-nm-wave { display: inline-block; animation: cosWave 2s ease-in-out infinite; }
.cos-anim-nm-matrix {
    color: #0f0; font-family: ui-monospace, monospace;
    text-shadow: 0 0 8px #0f0; animation: cosGlitch 3s steps(2) infinite;
}

@keyframes cosFramePulse {
    0% { filter: brightness(1); }
    100% { filter: brightness(1.25); }
}
@keyframes cosSpin { to { transform: rotate(360deg); } }
@keyframes cosRipple {
    0% { transform: scale(1); opacity: .8; }
    100% { transform: scale(1.25); opacity: 0; }
}
@keyframes cosThunder {
    0%, 90%, 100% { filter: none; }
    92%, 96% { filter: brightness(1.8) drop-shadow(0 0 8px #fff); }
}
@keyframes cosBounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-4px); }
}
@keyframes cosHeartbeat {
    0%, 100% { transform: scale(1); }
    25% { transform: scale(1.08); }
}
@keyframes cosShimmer { to { background-position: 200% center; } }
@keyframes cosNeonText {
    from { text-shadow: 0 0 6px #0ff, 0 0 14px #f0f; }
    to { text-shadow: 0 0 10px #f0f, 0 0 22px #0ff; }
}
@keyframes cosWave {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-2px) skewX(-2deg); }
}
