/* BDL — тёмно-фиолетовая кожа, строчка, стальные заклёпки */
@font-face{font-family:"Oswald";src:url(fonts/Oswald.woff) format("woff");font-weight:500 700;font-display:swap}
@font-face{font-family:"Manrope";src:url(fonts/Manrope.woff) format("woff");font-weight:200 800;font-display:swap}
@font-face{font-family:"Great Vibes";src:url(fonts/GreatVibes.woff) format("woff");font-display:swap}

:root{--bg:#0e0714;--text:#f1e8fb;--mute:#a893bf;--violet:#8f6ab8;--pink:#b8648f;--gold:#c9a473;
  --rivet:radial-gradient(circle at 38% 32%,#fff 0,#e6e9ee 14%,#a7adb8 34%,#5c626d 56%,#24262b 70%,rgba(0,0,0,.55) 74%,transparent 80%)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:96px;-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text);font:15px/1.5 Manrope,system-ui,sans-serif;
  background:radial-gradient(900px 500px at 85% -10%,rgba(120,80,170,.16),transparent 60%),radial-gradient(700px 500px at -10% 40%,rgba(150,70,110,.08),transparent 60%),var(--bg)}
a{color:inherit;text-decoration:none}
img{max-width:100%}
main{max-width:1240px;margin:0 auto}

.leather{background-color:#1d0e2b;background-image:linear-gradient(165deg,rgba(255,255,255,.06),rgba(6,0,14,.35) 70%),url(img/leather.jpg);
  background-size:auto,228px 456px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 -2px 6px rgba(0,0,0,.45),0 10px 30px rgba(0,0,0,.5)}
.stitch{position:relative}
.stitch::after{content:"";position:absolute;inset:9px;border:1.5px dashed rgba(180,150,210,.32);border-radius:inherit;pointer-events:none}
.stitch::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;border-radius:inherit;
  background:var(--rivet),var(--rivet),var(--rivet),var(--rivet);background-repeat:no-repeat;background-size:12px 12px;
  background-position:4px 4px,calc(100% - 4px) 4px,4px calc(100% - 4px),calc(100% - 4px) calc(100% - 4px)}

/* шапка */
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:14px;padding:12px max(20px,calc((100% - 1240px)/2 + 28px));
  padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid rgba(190,130,255,.18)}
.brand{display:flex;align-items:center;gap:12px;margin-right:auto;min-width:0}
.brand img{width:54px;height:54px;border-radius:50%;box-shadow:0 0 0 2px #6e4a82,0 4px 12px rgba(0,0,0,.5)}
.bdl{font-family:Oswald;font-weight:700;font-size:34px;line-height:1;background:linear-gradient(180deg,#fff 0%,#d9c9ee 45%,#7e6a96 52%,#efe6fa 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.scr{font-family:"Great Vibes";font-size:32px;color:#c98aab;text-shadow:0 0 6px rgba(184,100,143,.35);transform:translateY(5px);white-space:nowrap}
nav{display:flex;gap:6px}
nav a{font-family:Oswald;text-transform:uppercase;letter-spacing:.08em;font-size:13px;padding:9px 14px;border-radius:12px;color:#d9c9ee;white-space:nowrap}
nav a.on,nav a:hover{color:#fff;background:linear-gradient(180deg,#5d3f80,#3e2659);box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.lang{font-family:Oswald;font-size:12px;letter-spacing:.1em;color:var(--mute);background:none;border:1px solid rgba(190,130,255,.25);border-radius:10px;padding:7px 10px;cursor:pointer}
.lang b{font-weight:500}.lang b.on{color:#fff}

/* кнопки */
.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.row.center{justify-content:center}
.btn{display:inline-block;font-family:Oswald;text-transform:uppercase;letter-spacing:.08em;font-weight:600;font-size:13px;padding:10px 16px;border-radius:12px;color:#ece3f6;
  background:linear-gradient(180deg,#5d3f80,#3e2659);box-shadow:0 4px 10px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.14);transition:filter .15s,transform .15s}
.btn.pink{background:linear-gradient(180deg,#7d3f62,#552642)}
.btn:hover{filter:brightness(1.15)}.btn:active{transform:translateY(1px)}
.mini{display:inline-block;font-family:Oswald;text-transform:uppercase;letter-spacing:.08em;font-size:12px;color:var(--gold);border:1px solid rgba(232,180,106,.4);border-radius:999px;padding:6px 12px}
.mini:hover{background:rgba(232,180,106,.1)}

/* баннер */
.banner{margin:28px}
.banner img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 14px 40px rgba(0,0,0,.6)}
.banner .row{padding:16px 0 4px}

/* заголовки разделов */
.sec{margin:40px 28px 16px;display:flex;align-items:baseline;gap:14px}
.sec h2{margin:0;font-family:Oswald;text-transform:uppercase;letter-spacing:.12em;font-size:22px;font-weight:600}
.sec span{font-family:"Great Vibes";font-size:28px;color:#c98aab;white-space:nowrap}
.sec::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,rgba(180,150,210,.35),transparent)}

/* плагины */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:0 28px}
.card{border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.cover{position:relative;margin:12px 12px 0;border-radius:12px;aspect-ratio:1/1;overflow:hidden}
.cover.img img{display:block;width:100%;height:100%;object-fit:cover}
.cover.ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  background:radial-gradient(260px 140px at 80% 0%,color-mix(in srgb,var(--c) 55%,transparent),transparent 70%),linear-gradient(160deg,color-mix(in srgb,var(--c) 30%,#140a1f),#0d0614);
  border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}
.cover.ph img{width:120px;height:120px;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--c) 70%,#000)}
.cn{font-family:Oswald;text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:26px;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.cb{padding:14px 22px 22px;display:flex;flex-direction:column;flex:1}
.ct{font-weight:700;font-size:17px}
.cb p{margin:4px 0 14px;color:var(--mute);font-size:14px;flex:1}

/* пресет */
.wrap{margin:0 28px}
.mp{border-radius:18px;padding:26px 30px;display:flex;gap:28px;align-items:center}
.mpc{flex:none;width:230px;height:230px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.55);object-fit:cover}
.mpb{position:relative;z-index:1}
.mp .t{font-weight:700;font-size:19px}.mp .v{font-family:Oswald;font-size:13px;letter-spacing:.1em;color:var(--gold);margin-left:8px}
.mp p{margin:6px 0 12px;color:var(--mute);font-size:14px}.mp p.small{font-size:13px}
.worlds{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 6px}
.worlds span{font-family:Oswald;letter-spacing:.08em;font-size:14px;padding:7px 14px;border-radius:999px;background:rgba(0,0,0,.3);border:1px solid rgba(190,150,220,.3)}

/* регексы */
.lore{border-radius:18px;padding:22px 28px;display:flex;gap:22px;align-items:center;margin-bottom:16px}
.lic{flex:none;width:84px;height:84px;border-radius:14px;display:grid;place-items:center;font-size:42px;background:linear-gradient(160deg,#3a2352,#0d0614);border:1px solid rgba(190,150,220,.3);position:relative;z-index:1}
.lb{position:relative;z-index:1}
.lore .t{font-weight:700;font-size:18px}.lore .v{font-family:Oswald;font-size:13px;letter-spacing:.1em;color:var(--gold);margin-left:8px}
.lore .tag{font-family:Oswald;text-transform:uppercase;font-size:11px;letter-spacing:.1em;color:var(--mute);border:1px solid rgba(190,150,220,.3);border-radius:999px;padding:3px 9px;margin-left:10px;vertical-align:2px}
.lore p{margin:6px 0 12px;color:var(--mute);font-size:14px}
.packs{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:0 28px}
.pk{border-radius:16px;padding:14px 14px 18px;text-align:center}
.sw{height:84px;border-radius:10px;margin-bottom:10px;overflow:hidden;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 35%,#0d0614));box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}
.sw img{width:100%;height:100%;object-fit:cover;display:block}
.pn{font-family:Oswald;text-transform:uppercase;letter-spacing:.06em;font-size:16px;margin-bottom:10px}

/* гайды */
.guides{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:0 28px}
.gd{display:block;border-radius:16px;padding:22px 24px}
.gd b{font-size:16px}.gd p{color:var(--mute);font-size:14px;margin:6px 0 12px}
.gd:hover .mini{background:rgba(232,180,106,.1)}

/* автор */
.author{margin:0 28px;display:grid;grid-template-columns:1.1fr 1fr;gap:18px}
.ab{border-radius:18px;padding:26px 30px}
.ab h3{margin:0 0 6px;font-family:"Great Vibes";font-weight:400;font-size:38px;color:#e6d9f2}
.ab p{color:#cdbbe0;margin:0 0 16px}
.ban2{display:block;width:100%;height:auto;border-radius:12px;margin-bottom:14px;box-shadow:0 6px 18px rgba(0,0,0,.5)}
.news .n{padding:12px 0;border-bottom:1px dashed rgba(180,150,210,.2)}.news .n:last-child{border:0}
.news small{font-family:Oswald;letter-spacing:.1em;color:var(--gold);font-size:12px}
.empty{color:var(--mute);font-style:italic;padding:18px 0}

footer{max-width:1240px;margin:44px auto 0;padding:22px 28px calc(30px + env(safe-area-inset-bottom));border-top:1px solid rgba(190,130,255,.15);color:var(--mute);font-size:13px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* планшет */
@media (max-width:980px){
  .scr{display:none}
  .grid{grid-template-columns:repeat(2,1fr)}
  .packs{grid-template-columns:repeat(3,1fr)}
  .author{grid-template-columns:1fr}
  nav a{padding:8px 10px;font-size:12px}
}
/* телефон */
@media (max-width:640px){
  html{scroll-padding-top:120px}
  .top{flex-wrap:wrap;gap:8px 10px;padding-left:14px;padding-right:14px}
  .brand img{width:42px;height:42px}.bdl{font-size:28px}
  nav{order:3;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  nav::-webkit-scrollbar{display:none}
  .banner{margin:16px 14px}.banner img{border-radius:14px}
  .sec{margin:32px 14px 12px}.sec h2{font-size:19px}.sec span{font-size:24px}
  .grid,.guides{grid-template-columns:1fr;margin:0 14px}
  .packs{grid-template-columns:repeat(2,1fr);margin:0 14px}
  .wrap,.author{margin:0 14px}
  .mp{flex-direction:column;align-items:stretch;padding:22px}
  .mpc{width:100%;height:auto;aspect-ratio:1/1}
  .lore{flex-direction:column;align-items:flex-start;padding:22px}
  .ab{padding:22px}
  footer{padding-left:14px;padding-right:14px}
}
