/* Оформление Leyvu: баннеры, рамки, фоны комментариев, эффекты и титулы. Только CSS, без внешних картинок. */
.lv-art{position:relative;overflow:hidden;background:#17181c;isolation:isolate}
.lv-art::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:0}
.lv-art>*{position:relative;z-index:1}
[data-art=banner-dusk],[data-art=comment-ember]{background:radial-gradient(circle at 78% 70%,#ffb38a55 0 9%,transparent 30%),linear-gradient(160deg,#2a1d2b 0%,#8d4a4a 48%,#ff8a5c 78%,#ffd2a1 100%)}
[data-art=banner-ocean],[data-art=comment-wave]{background:radial-gradient(120% 60% at 50% 120%,#3d7fbf66,transparent 60%),repeating-radial-gradient(ellipse at 50% 140%,#ffffff0c 0 2px,transparent 3px 22px),linear-gradient(180deg,#0d1424,#173a66 70%,#2a6aa0)}
[data-art=banner-sakura],[data-art=comment-sakura]{background:radial-gradient(circle at 12% 30%,#ffd1e2 0 3px,transparent 4px),radial-gradient(circle at 34% 68%,#ffc0d6 0 2px,transparent 3px),radial-gradient(circle at 63% 22%,#ffe3ee 0 3px,transparent 4px),radial-gradient(circle at 86% 58%,#ffb3cf 0 2px,transparent 3px),radial-gradient(circle at 80% 10%,#ff9ec4aa,transparent 40%),linear-gradient(170deg,#2b1830,#7a3f63 55%,#e895b4)}
[data-art=banner-city]{background:linear-gradient(0deg,#07080d 0 18%,transparent 18%),repeating-linear-gradient(90deg,#0b0d16 0 26px,#111425 26px 30px,#0b0d16 30px 64px,#151834 64px 70px),radial-gradient(60% 50% at 70% 100%,#ff3fa466,transparent 70%),radial-gradient(50% 40% at 20% 100%,#30c8ff55,transparent 70%),linear-gradient(180deg,#090a18,#1d1840);background-size:auto,100% 46%,auto,auto,auto;background-position:0 0,0 100%,0 0,0 0,0 0;background-repeat:no-repeat}
[data-art=banner-city]::after{background:radial-gradient(circle,#ffe58f 0 1px,transparent 1.5px) 0 0/34px 22px;opacity:.35;mask-image:linear-gradient(0deg,#000 0 46%,transparent 46%);-webkit-mask-image:linear-gradient(0deg,#000 0 46%,transparent 46%)}
[data-art=comment-night]{background:radial-gradient(40% 120% at 85% 100%,#ff3fa455,transparent 70%),radial-gradient(35% 120% at 65% 0%,#30c8ff44,transparent 70%),radial-gradient(circle at 92% 30%,#ffe58f 0 1.5px,transparent 2px),radial-gradient(circle at 78% 70%,#ffe58f 0 1px,transparent 1.5px),linear-gradient(180deg,#0b0c1a,#1d1840)}
[data-art=banner-aurora],[data-art=comment-aurora]{background:radial-gradient(70% 60% at 20% 10%,#3cf0b866,transparent 60%),radial-gradient(60% 70% at 80% 0%,#9b6bff77,transparent 60%),radial-gradient(50% 50% at 50% 60%,#2ab7d544,transparent 70%),linear-gradient(180deg,#061019,#101a33)}
[data-art=banner-winter]{background:radial-gradient(circle at 20% 25%,#fff 0 1.5px,transparent 2px),radial-gradient(circle at 70% 40%,#fff 0 1px,transparent 1.5px),radial-gradient(circle at 45% 70%,#fff 0 1.5px,transparent 2px),linear-gradient(170deg,#18263a,#5c7fa8 60%,#d8e8f6)}
[data-art=banner-ink]{background:radial-gradient(40% 70% at 82% 40%,#00000099,transparent 70%),radial-gradient(30% 50% at 70% 70%,#2a2a2a,transparent 70%),radial-gradient(circle at 18% 35%,#c9362b 0 26px,transparent 27px),linear-gradient(180deg,#efe7d6,#d7cbb3)}
[data-art=banner-ghoul]{background:radial-gradient(30% 80% at 85% 50%,#d9192b88,transparent 70%),repeating-conic-gradient(from 200deg at 90% 50%,#5a0a12 0 4deg,transparent 4deg 13deg),linear-gradient(120deg,#070607 40%,#3a0910)}
[data-art=banner-patron],[data-art=comment-patron]{background:radial-gradient(60% 80% at 75% 0%,#ffd77a77,transparent 60%),linear-gradient(160deg,#1a1022,#4b2b46 55%,#c99a4b)}
[data-art=banner-default]{background:radial-gradient(70% 90% at 0 0,color-mix(in srgb,var(--accent) 30%,transparent),transparent 60%),linear-gradient(180deg,#1c1d22,#141518)}

/* Рамки аватара */
.lv-avatar{--size:96px;position:relative;width:var(--size);height:var(--size);flex:none;border-radius:50%;display:grid;place-items:center;background:var(--panel,#1a1c1e);color:var(--accent,#ff725b);font-weight:800;font-size:calc(var(--size)*.42);line-height:1}
.lv-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.lv-avatar::before{content:"";position:absolute;inset:-4px;border-radius:50%;pointer-events:none;z-index:1}
.lv-avatar[data-frame=frame-coral]::before{border:3px solid var(--accent,#ff725b)}
.lv-avatar[data-frame=frame-mint]::before{border:3px solid #73bda4}
.lv-avatar[data-frame=frame-gold]::before{padding:3px;background:linear-gradient(135deg,#fff1b8,#d5a13c 40%,#8a5a14 60%,#ffe08a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.lv-avatar[data-frame=frame-sakura]::before{inset:-6px;padding:4px;background:conic-gradient(#ffb3cf,#ff7aa8,#ffe0ec,#ff9ec4,#ffb3cf);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.lv-avatar[data-frame=frame-sakura]::after{content:"";position:absolute;width:30%;height:30%;right:-6%;bottom:-2%;z-index:2;background:radial-gradient(circle at 50% 30%,#ffd1e2 0 22%,transparent 23%),radial-gradient(circle at 30% 60%,#ff9ec4 0 22%,transparent 23%),radial-gradient(circle at 70% 60%,#ffb3cf 0 22%,transparent 23%)}
.lv-avatar[data-frame=frame-neon]::before{inset:-5px;padding:3px;background:conic-gradient(from var(--lv-spin,0deg),#30c8ff,#b06bff,#ff3fa4,#30c8ff);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 6px #b06bffaa);animation:lv-spin 8s linear infinite}
.lv-avatar[data-frame=frame-ghoul]::before{inset:-5px;border:3px solid #1b0306;box-shadow:0 0 0 2px #d9192b,0 0 14px #d9192b88}
.lv-avatar[data-frame=frame-ghoul]::after{content:"";position:absolute;right:-8%;top:-6%;width:34%;height:34%;z-index:2;border-radius:50%;background:radial-gradient(circle at 40% 40%,#ff2b3d 0 18%,#2a0004 19% 60%,transparent 61%)}
.lv-avatar[data-frame=frame-patron]::before{inset:-5px;padding:3px;background:linear-gradient(135deg,#ffe9a8,#c99a4b,#fff3cc,#b07a2a);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;filter:drop-shadow(0 0 8px #ffd77a88)}
.lv-avatar[data-frame=frame-patron]::after{content:"";position:absolute;top:-22%;left:50%;width:38%;height:24%;translate:-50% 0;z-index:2;background:linear-gradient(135deg,#ffe9a8,#c99a4b);clip-path:polygon(0 100%,0 20%,25% 60%,50% 0,75% 60%,100% 20%,100% 100%)}
@property --lv-spin{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes lv-spin{to{--lv-spin:360deg}}

/* Титул под ником */
.lv-title{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:3px 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--lv-rarity) 55%,transparent);background:color-mix(in srgb,var(--lv-rarity) 16%,#0008);color:color-mix(in srgb,var(--lv-rarity) 35%,#fff);font-size:12px;font-weight:700;letter-spacing:.02em;line-height:1.2;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.lv-title svg{width:14px;height:14px;flex:none}
[data-rarity=common]{--lv-rarity:#a9adb5}[data-rarity=rare]{--lv-rarity:#5aa9ff}[data-rarity=epic]{--lv-rarity:#b77bff}[data-rarity=legendary]{--lv-rarity:#ffb547}[data-rarity=exclusive]{--lv-rarity:#ff6fae}
.lv-rarity{display:inline-flex;align-items:center;gap:6px;color:var(--lv-rarity);font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.lv-rarity::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}

/* Фон комментария: картинка затемняется слева, чтобы текст оставался читаемым на любой ширине */
.lv-comment-art{position:relative;isolation:isolate;border-radius:12px;overflow:hidden}
.lv-comment-art::before{content:"";position:absolute;inset:0;z-index:-2;background:inherit}
.lv-comment-art[data-art]{background-size:cover;background-position:center}
.lv-comment-art[data-art]::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,color-mix(in srgb,var(--bg,#101112) 92%,transparent) 0%,color-mix(in srgb,var(--bg,#101112) 80%,transparent) 55%,color-mix(in srgb,var(--bg,#101112) 45%,transparent) 100%)}
@media(max-width:640px){.lv-comment-art[data-art]::after{background:color-mix(in srgb,var(--bg,#101112) 84%,transparent)}}
@media(prefers-contrast:more){.lv-comment-art[data-art]::after{background:var(--bg,#101112)}}

/* Эффекты профиля: частицы над баннером, не перехватывают клики */
.lv-effect{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.lv-effect i{position:absolute;top:-10%;left:var(--x);width:var(--s);height:var(--s);border-radius:50%;background:#fff;opacity:.8;animation:lv-fall var(--d) linear var(--delay) infinite}
.lv-effect[data-effect=effect-rain] i{width:1.5px;height:calc(var(--s)*4);border-radius:1px;background:linear-gradient(#fff0,#cfe6ffcc);animation-duration:calc(var(--d)/3)}
.lv-effect[data-effect=effect-sakura] i{width:calc(var(--s)*1.8);height:var(--s);border-radius:80% 0 80% 0;background:#ffb3cf;animation-name:lv-drift}
.lv-effect[data-effect=effect-fireflies] i{top:auto;bottom:var(--y);background:#ffe58f;box-shadow:0 0 10px 3px #ffd54f88;animation:lv-glow var(--d) ease-in-out var(--delay) infinite alternate}
.lv-effect[data-effect=effect-stars] i{width:2px;height:2px;box-shadow:0 0 6px 2px #fff;animation:lv-shoot calc(var(--d)*.6) ease-in var(--delay) infinite}
@keyframes lv-fall{to{transform:translate3d(20px,360px,0)}}
@keyframes lv-drift{to{transform:translate3d(60px,360px,0) rotate(540deg)}}
@keyframes lv-glow{0%{opacity:.1;transform:translate(0,0)}100%{opacity:.9;transform:translate(14px,-18px)}}
@keyframes lv-shoot{0%{opacity:0;transform:translate(0,0)}10%{opacity:1}60%,100%{opacity:0;transform:translate(-120px,90px)}}

@media(prefers-reduced-motion:reduce){.lv-effect i{animation:none!important;opacity:.35}.lv-effect[data-effect=effect-rain] i,.lv-effect[data-effect=effect-stars] i{display:none}.lv-avatar[data-frame=frame-neon]::before{animation:none}}
html[data-reduce-effects] .lv-effect{display:none}

/* Мини-профиль */
.pv-mini{width:min(340px,100%);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--panel);box-shadow:0 22px 60px #000a}
.pv-mini-banner{height:84px}
.pv-mini-body{display:flex;align-items:flex-end;gap:12px;padding:0 16px;margin-top:-30px;position:relative}
.pv-mini-body .lv-avatar{box-shadow:0 0 0 4px var(--panel)}
.pv-mini-names{display:grid;gap:2px;min-width:0;padding-bottom:2px}
.pv-mini-names strong{font-size:17px;overflow-wrap:anywhere}.pv-mini-names>span{color:var(--muted);font-size:13px}
.pv-mini-names .lv-title{justify-self:start;margin-top:4px}
.pv-mini-bio{margin:12px 16px 0;color:var(--ink);font-size:13px;line-height:1.5}
.pv-mini-bio.is-muted{color:var(--muted);display:flex;align-items:center;gap:6px}
.pv-mini-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 16px 0}
.pv-mini-stats div{display:flex;flex-direction:column-reverse;align-items:center;padding:8px 4px;border-radius:10px;background:var(--bg)}
.pv-mini-stats dt{color:var(--muted);font-size:11px}.pv-mini-stats dd{margin:0;font-weight:800;font-size:16px}
.pv-mini-actions{display:flex;gap:8px;padding:14px 16px 16px}
.pv-mini-actions .button{flex:1;justify-content:center;display:inline-flex;align-items:center;gap:8px}

.pv-mini :is(a,button).button{font-size:14px;line-height:1.2}.pv-mini .button>span{font-size:inherit}.pv-mini .button svg{width:17px;height:17px}
.lv-mini-pop{position:fixed;z-index:950;width:340px;max-width:calc(100vw - 24px);animation:lv-mini-in .2s cubic-bezier(.2,.8,.2,1)}
.lv-mini-pop .pv-mini{width:100%}
.lv-mini-pop.is-sheet{left:0!important;right:0;bottom:0;top:auto!important;width:auto;max-width:none;padding:0 8px calc(8px + env(safe-area-inset-bottom));animation-name:lv-sheet-in}
.lv-mini-pop.is-leaving{animation:lv-mini-out .18s ease-in forwards}
.lv-mini-close{position:absolute;top:8px;right:8px;z-index:3;width:36px;height:36px;display:grid;place-items:center;border:0;border-radius:10px;background:#0009;color:#fff;cursor:pointer}
.lv-mini-pop.is-sheet .lv-mini-close{right:16px}
.pv-mini.is-loading .pv-mini-bio{padding-bottom:16px;color:var(--muted,#97999d)}
@keyframes lv-mini-in{from{opacity:0;transform:translateY(-6px) scale(.98)}}
@keyframes lv-sheet-in{from{transform:translateY(100%)}}
@keyframes lv-mini-out{to{opacity:0;transform:translateY(-4px)}}
@media(prefers-reduced-motion:reduce){.lv-mini-pop,.lv-mini-pop.is-leaving{animation:none}}
[data-mini-profile]{cursor:pointer}
.v2-comment.lv-comment-art{padding-left:14px;padding-right:14px;margin:8px 0;border:1px solid color-mix(in srgb,var(--line,#2b2d30) 70%,transparent)}
.v2-comment .lv-title{min-height:22px;padding:1px 8px;font-size:11px}
.v2-comment-avatar[data-frame]{overflow:visible;border:0;box-shadow:0 0 0 2px var(--accent,#ff725b)}.v2-comment-avatar[data-frame] img{border-radius:50%}
.v2-comment-avatar[data-frame=frame-coral]{box-shadow:0 0 0 2px var(--accent,#ff725b)}.v2-comment-avatar[data-frame=frame-mint]{box-shadow:0 0 0 2px #73bda4}.v2-comment-avatar[data-frame=frame-gold]{box-shadow:0 0 0 2px #d5a13c,0 0 8px #d5a13c66}.v2-comment-avatar[data-frame=frame-sakura]{box-shadow:0 0 0 2px #ff9ec4}.v2-comment-avatar[data-frame=frame-neon]{box-shadow:0 0 0 2px #b06bff,0 0 10px #30c8ff88}.v2-comment-avatar[data-frame=frame-ghoul]{box-shadow:0 0 0 2px #d9192b,0 0 10px #d9192b88}.v2-comment-avatar[data-frame=frame-patron]{box-shadow:0 0 0 2px #ffd77a,0 0 10px #ffd77a88}
.v3-supporter{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;border:1px solid #ffd77a66;color:#ffd77a;font-size:11px;font-weight:700}
/* Достижения тайтла на странице аниме */
.ta-section .title-rail-heading{display:flex;align-items:center;gap:12px}
.ta-count{padding:2px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent,#ff725b) 16%,transparent);font-size:13px;font-weight:700}
.ta-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.ta-item{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:14px;border:1px solid var(--line,#2b2d30);border-radius:12px;background:var(--panel,#1a1c1e)}
.ta-item.is-earned{border-color:color-mix(in srgb,var(--lv-rarity) 50%,var(--line,#2b2d30))}
.ta-icon{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--lv-rarity) 14%,transparent);color:var(--muted,#97999d)}
.ta-item.is-earned .ta-icon{color:var(--lv-rarity)}
.ta-item strong{font-size:15px}.ta-item p{margin:4px 0 8px;color:var(--muted,#97999d);font-size:13px;line-height:1.45}
.ta-item small{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted,#97999d)}.ta-item small svg{width:14px;height:14px}
.ta-reward{color:#ffc857!important;margin-top:4px}.ta-done{color:var(--v2-success,#78bd9d)!important}
.ta-bar{display:block;height:6px;border-radius:999px;background:var(--line,#2b2d30);overflow:hidden;margin-bottom:4px}.ta-bar i{display:block;height:100%;background:var(--accent,#ff725b)}
.ta-hint{color:var(--muted,#97999d);font-size:13px}.ta-hint a{color:var(--accent,#ff725b)}
/* Предметы с палитрой (до появления картинки) и рамки-картинки */
.lv-avatar.has-ring::before{inset:-5px;padding:3px;background:var(--lv-ring);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.lv-avatar.has-frame-img::before,.lv-avatar.has-frame-img::after{display:none}
.lv-avatar .lv-frame-img{position:absolute;inset:-16%;width:132%;height:132%;max-width:none;border-radius:0;object-fit:contain;z-index:2;pointer-events:none}
