/*
             ___
  __      __/ _ \ _ __  _ __   __ _
  \ \ /\ / / | | | '_ \| '_ \ / _` |
   \ V  V /| |_| | | | | | | | (_| |
    \_/\_/  \___/|_| |_|_| |_|\__,_|

  made by w0nna · HANC Studio
*/

/* Studio 2.0: публичный changelog (дизайн: Changelog.dc.html). Hero + бегущая строка версий, timeline из
   карточек релизов, большой footer. Резиновая версия artboard 1440px; ниже 900px одна колонка. */

/* ── hero-блок ─────────────────────────────────────────────────────────────── */
.cl-hero{position:relative;min-height:560px;overflow:clip;display:flex;flex-direction:column}
.cl-glow{position:absolute;left:50%;top:-440px;width:1200px;height:900px;margin-left:-600px;border-radius:50%;background:radial-gradient(closest-side,var(--hero-glow),transparent);pointer-events:none}
.cl-head{position:relative;z-index:2;width:min(1200px,100% - 32px);box-sizing:border-box;margin:190px auto 64px;display:grid;grid-template-columns:1fr 360px;align-items:end;gap:40px}
.cl-head-l{display:flex;flex-direction:column;gap:20px;min-width:0}
.cl-h1{font-size:clamp(40px,7vw,80px);letter-spacing:-0.055em;overflow-wrap:anywhere}
.cl-head-r{display:flex;flex-direction:column;gap:16px;padding-bottom:12px}
.cl-head-r p{margin:0;font-size:17px;line-height:1.55;color:var(--ink2)}
.cl-head-r div{display:flex;gap:10px}
.cl-btn-s{height:46px;padding:0 18px;display:flex;align-items:center;box-sizing:border-box;background:var(--tint);border:1px solid var(--line2);border-radius:999px;color:var(--ink);font-size:14.5px;font-weight:600}
.cl-ticker{position:relative;margin-top:auto;height:64px;flex-shrink:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;display:flex;align-items:center}
.cl-track{display:flex;gap:48px;padding-right:48px;width:max-content;white-space:nowrap;animation:cl-tick 40s linear infinite;font-family:"Onest",system-ui,sans-serif;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.cl-track b{color:var(--vhi);font-weight:500;text-transform:none}
.cl-ticker:hover .cl-track{animation-play-state:paused}
@keyframes cl-tick{to{transform:translateX(-50%)}}

/* ── таймлайн ─────────────────────────────────────────────────────────── */
.cl-wrap{position:relative;display:block;width:min(1200px,100% - 32px);margin:0 auto;padding:100px 0 140px}
.cl-line{position:absolute;left:299px;top:100px;bottom:140px;width:3px;overflow:hidden;background:linear-gradient(90deg,transparent 1px,var(--line2) 1px,var(--line2) 2px,transparent 2px)}
.cl-line i{position:absolute;left:0;top:-260px;width:3px;height:260px;border-radius:3px;background:linear-gradient(180deg,transparent,#9868f8,#ffffff,#9868f8,transparent);animation:cl-run 7s cubic-bezier(.45,0,.55,1) infinite}
@keyframes cl-run{from{top:-260px}to{top:100%}}
.cl-rel{position:relative;display:grid;grid-template-columns:300px minmax(0,1fr);margin-bottom:90px}
.cl-rel:last-child{margin-bottom:0}
.cl-side{position:sticky;top:110px;align-self:start;box-sizing:border-box;min-width:0;padding-right:48px;display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right}
.cl-latest{height:26px;padding:0 10px;display:flex;align-items:center;border-radius:999px;background:#7c3aed;font-size:11px;letter-spacing:0.12em;color:#fff}
.cl-ver{max-width:100%;font-family:"Unbounded",sans-serif;font-weight:700;font-size:var(--vs,88px);line-height:.95;letter-spacing:-0.07em;background-image:linear-gradient(180deg,var(--ink),#9868f8);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding:0 .04em;overflow-wrap:anywhere}
.cl-date{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink3)}
.cl-dot{position:absolute;left:293px;top:30px;width:15px;height:15px;box-sizing:border-box;border-radius:5px;background:var(--canvas);border:2px solid #9868f8;box-shadow:0 0 0 6px var(--canvas),0 0 24px #7c3aed;transform:rotate(45deg)}
.cl-dot.dim{opacity:.6}
.cl-card{margin-left:48px;min-width:0;padding:40px 44px;border-radius:32px;background:var(--s1);border:1px solid var(--line);display:flex;flex-direction:column;gap:26px}
.cl-card.hero{background:linear-gradient(145deg,var(--card-top),var(--s1) 60%);border-color:var(--vline)}
.cl-title{font-size:34px;letter-spacing:-0.04em;overflow-wrap:anywhere}
.cl-title.sm{font-size:26px;line-height:1.12;letter-spacing:-0.035em}
.cl-group{display:flex;flex-direction:column;gap:12px}
.cl-kind{margin:0;align-self:flex-start;min-height:26px;padding:4px 10px;box-sizing:border-box;display:flex;align-items:center;border-radius:8px;font-family:"Onest",system-ui,sans-serif;font-size:11px;font-weight:500;line-height:1.3;letter-spacing:.12em;text-transform:uppercase}
.k-new{background:#7c3aed;color:#fff}
.k-imp{background:var(--vsoft);color:var(--vhi);border:1px solid var(--vline)}
.k-fix{background:var(--tint2);color:var(--ink2)}
.cl-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.cl-item{position:relative;padding-left:22px;font-size:16px;line-height:1.6;color:var(--ink)}
.cl-item::before{content:"";position:absolute;left:0;top:11px;width:10px;height:2px;background:var(--vhi)}
.cl-item small{display:block;font-size:14px;color:var(--ink3)}
.cl-p{margin:0;font-size:16px;line-height:1.6;color:var(--ink2)}
.cl-empty{margin:0;padding:40px 0;text-align:center;font-size:17px;color:var(--ink2)}

/* необязательное видео релиза (блок из дизайна; нативные controls заменяют макетный scrub bar) */
.cl-vid{position:relative;margin:0;aspect-ratio:16/9;border-radius:22px;overflow:hidden;border:1px solid var(--line2);background:radial-gradient(ellipse 60% 70% at 30% 30%,#7c3aed55,transparent 60%),radial-gradient(ellipse 50% 60% at 85% 90%,#b79bff33,transparent 60%),var(--s2)}
.cl-vid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:transparent}
.cl-vtag{position:absolute;left:18px;top:18px;height:28px;padding:0 12px;display:flex;align-items:center;gap:8px;border-radius:999px;background:#000000a6;border:1px solid #ffffff24;font-family:"Onest",system-ui,sans-serif;font-size:11px;letter-spacing:.12em;color:#e9e1ff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none}
.cl-play{position:absolute;left:50%;top:50%;width:84px;height:84px;margin:-42px 0 0 -42px;display:flex;align-items:center;justify-content:center;border-radius:999px;background:#ffffff;color:#0a0a0a;box-shadow:0 0 0 12px #ffffff1f,0 20px 50px -10px #7c3aedcc;transition:transform 300ms cubic-bezier(.2,.8,.2,1),box-shadow 300ms,opacity 200ms;pointer-events:none}
.cl-vid:hover .cl-play{transform:scale(1.08);box-shadow:0 0 0 18px #ffffff14,0 20px 60px -10px #7c3aed}
.cl-vid.sm .cl-play{width:64px;height:64px;margin:-32px 0 0 -32px}
.cl-vid.is-playing .cl-play,.cl-vid.is-playing .cl-vtag{opacity:0}
/* Промо Studio 2.0 в последней карточке: страница плеера (public/studio2/promo) заполняет кадр 16:9 и помечает свой iframe
   атрибутом data-playing, пока играет, и это прячет тег — так же, как play overlay делает для видео релиза. */
.cl-promo{background:#000}
.cl-promo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#000}
.cl-promo .cl-vtag{transition:opacity 240ms}
.cl-promo iframe[data-playing] ~ .cl-vtag{opacity:0}

/* ── подвал ───────────────────────────────────────────────────────────── */
.cl-foot{position:relative;min-height:600px;box-sizing:border-box;padding:72px 0 230px;overflow:clip;background:var(--canvas)}
.cl-foot-in{position:relative;z-index:2;width:min(1200px,100% - 32px);margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:36px;text-align:center}
.cl-foot-brand{display:flex;flex-direction:column;align-items:center;gap:16px}
.cl-foot-logo{display:flex;align-items:center;gap:10px;color:var(--ink)}
.cl-foot-logo img{display:block;width:30px;height:28px}
.cl-foot-logo .hs-disp{font-size:18px;letter-spacing:-0.03em}
.cl-foot-logo .hs-disp span{color:var(--ink3);font-weight:500}
.cl-foot-brand p{margin:0;max-width:420px;font-size:15px;line-height:1.55;color:var(--ink2)}
.cl-foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 28px;font-size:14.5px}
.cl-foot-nav a{color:var(--ink2)}
.cl-foot-hanc{display:flex;align-items:center;gap:6px}
.cl-foot-hanc span{width:8px;height:8px;border-radius:999px;background:#ff6a1a;box-shadow:0 0 8px #ff6a1a}
.cl-foot-row{width:100%;padding-top:24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 28px;border-top:1px solid var(--line);font-size:13px;color:var(--ink3)}
.cl-foot-row .hs-mono{font-size:12px;letter-spacing:0.08em}
.cl-foot-big{position:absolute;left:0;right:0;bottom:-70px;z-index:1;text-align:center;font-family:"Unbounded",sans-serif;font-size:300px;line-height:1;font-weight:700;letter-spacing:-0.07em;background-image:linear-gradient(180deg,var(--big-a) 0%,var(--big-b) 60%,transparent 85%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;pointer-events:none;white-space:nowrap}

/* ── адаптив ───────────────────────────────────────────────────────── */
@media (max-width:1100px){
  .cl-head{grid-template-columns:1fr 300px}
  .cl-rel{grid-template-columns:240px minmax(0,1fr)}
  .cl-line{left:239px}
  .cl-dot{left:233px}
  .cl-side{padding-right:40px}
  .cl-card{margin-left:40px;padding:34px 34px}
}
@media (max-width:899px){
  .cl-hero{min-height:0}
  .cl-head{grid-template-columns:1fr;gap:24px;margin:128px auto 48px}
  .cl-head-r{padding-bottom:0}
  .cl-wrap{padding:56px 0 80px}
  .cl-line,.cl-dot{display:none}
  .cl-rel{grid-template-columns:minmax(0,1fr);gap:16px;margin-bottom:48px}
  .cl-side{position:static;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-start;text-align:left;padding-right:0;gap:8px 14px}
  .cl-ver{font-size:calc(var(--vs,88px) * .66)}
  .cl-card{margin-left:0;padding:28px 22px;border-radius:24px;gap:22px}
  .cl-title{font-size:26px}
  .cl-title.sm{font-size:22px}
  .cl-vid{border-radius:16px}
  .cl-foot{min-height:0;padding:56px 0 150px}
  .cl-foot-nav{gap:6px 20px}
  .cl-foot-big{font-size:clamp(120px,34vw,300px);bottom:-30px}
}
@media (prefers-reduced-motion:reduce){
  .cl-track,.cl-line i{animation:none!important}
  .cl-line i{display:none}
}
