/* Живой фон «liquid glass» для всех страниц, кроме главной (у неё свой). Подключает tools/liquid_bg.py, палитру выбирает liquid.js. */
html.lq-on{background:var(--lq-bg,#121014)}
html.lq-on body{background:transparent!important}
html.lq-on body::before,html.lq-on body::after{display:none!important}
.liquid{position:fixed;inset:-20vmax;z-index:-1;pointer-events:none;overflow:hidden}
.liquid i{position:absolute;border-radius:50%;opacity:.62;will-change:transform}
.liquid .a{width:70vmax;height:70vmax;left:-5vmax;top:-10vmax;background:radial-gradient(circle,var(--l1),transparent 62%);animation:lqa 26s ease-in-out infinite alternate}
.liquid .b{width:62vmax;height:62vmax;right:-8vmax;top:22vmax;background:radial-gradient(circle,var(--l2),transparent 62%);animation:lqb 32s ease-in-out infinite alternate}
.liquid .c{width:50vmax;height:50vmax;left:20vmax;bottom:-12vmax;background:radial-gradient(circle,var(--l3),transparent 62%);animation:lqc 28s ease-in-out infinite alternate}
@keyframes lqa{to{transform:translate3d(18vmax,14vmax,0) scale(1.12)}}
@keyframes lqb{to{transform:translate3d(-20vmax,-10vmax,0) scale(.9)}}
@keyframes lqc{to{transform:translate3d(-14vmax,-18vmax,0) scale(1.15)}}
@media (max-width:760px){.liquid i{opacity:.5}}
@media (prefers-reduced-motion:reduce){.liquid i{animation:none}}
/* 10 палитр: все в красно-синей гамме, как на главной (меняется только оттенок и порядок пятен) */
.lq-0{--l1:rgba(255,59,70,.5);--l2:rgba(139,107,255,.38);--l3:rgba(255,138,143,.28)}
.lq-1{--l1:rgba(90,110,255,.46);--l2:rgba(255,59,70,.4);--l3:rgba(170,100,255,.28)}
.lq-2{--l1:rgba(255,70,110,.48);--l2:rgba(80,130,255,.4);--l3:rgba(150,90,255,.28)}
.lq-3{--l1:rgba(139,107,255,.46);--l2:rgba(255,80,90,.4);--l3:rgba(80,140,255,.28)}
.lq-4{--l1:rgba(255,59,70,.46);--l2:rgba(60,120,255,.42);--l3:rgba(200,90,220,.26)}
.lq-5{--l1:rgba(170,80,255,.44);--l2:rgba(255,59,90,.38);--l3:rgba(100,120,255,.28)}
.lq-6{--l1:rgba(255,90,100,.46);--l2:rgba(110,100,255,.4);--l3:rgba(60,150,255,.24)}
.lq-7{--l1:rgba(70,110,255,.46);--l2:rgba(220,60,130,.4);--l3:rgba(255,110,120,.26)}
.lq-8{--l1:rgba(255,50,80,.48);--l2:rgba(150,90,255,.38);--l3:rgba(70,120,255,.28)}
.lq-9{--l1:rgba(120,90,255,.46);--l2:rgba(255,70,80,.42);--l3:rgba(255,130,170,.24)}
/* полупрозрачные «стеклянные» карточки поверх фона */
html.lq-on body .glass{background:rgba(36,26,32,.58);backdrop-filter:blur(20px) saturate(1.5);-webkit-backdrop-filter:blur(20px) saturate(1.5);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,230,235,.1)}
html[data-theme="light"].lq-on{background:#f6f1f2}
html[data-theme="light"] .liquid i{opacity:.32}
html[data-theme="light"].lq-on body .glass{background:rgba(255,255,255,.6);box-shadow:inset 0 1px 0 rgba(255,255,255,.8),inset 0 0 0 1px rgba(40,20,25,.08)}
