:root{
  --bg:#ffffff; --ink:#100f16; --mut:#5a5765; --line:rgba(16,15,22,.12);
  --red:#ff2769; --dark:#100f16;
  --r:12px;
  --sp:12px;
  --gap:48px;
  --pad:20px;
}
*,::before,::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.65 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:inherit;text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:0 var(--pad)}

h1,h2{margin:0 0 var(--sp);line-height:1.05;letter-spacing:-.02em;
  text-transform:uppercase;font-weight:800;overflow-wrap:break-word}
h1{font-size:clamp(36px,7vw,64px)}
h2{font-size:clamp(24px,3.6vw,38px)}
p{margin:0 0 var(--sp);color:var(--mut)}
.lead{max-width:62ch;font-size:17px}

.btn{display:inline-block;padding:10px 18px;border:1px solid transparent;border-radius:8px;background:var(--red);color:#ffffff;
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.btn:hover{filter:brightness(1.1)}
.btn.ghost{background:none;border:1px solid var(--line);color:var(--ink)}
.btn.lg{padding:15px 30px;border-radius:12px;font-size:14px;box-shadow:0 10px 26px rgba(255,39,105,.3)}
.hero .ghost{border-color:rgba(255,255,255,.25);color:#ffffff;box-shadow:none}

header{position:sticky;top:0;z-index:9;background:var(--bg);border-bottom:1px solid var(--line)}
header .wrap{display:flex;align-items:center;justify-content:space-between;
  gap:var(--sp);padding-block:var(--sp)}
header img{display:block;width:auto;height:28px;flex-shrink:0}
header nav{display:flex;gap:var(--sp)}

.hero{padding-block:var(--gap);color:#ffffff;
  background:var(--dark) radial-gradient(90% 70% at 15% 0,rgba(255,39,105,.22),transparent 60%) no-repeat}
.hero h1{color:#ffffff}
.hero .lead{color:#b4afc0}
.cta{display:flex;flex-wrap:wrap;gap:var(--sp);margin:calc(var(--sp)*2) 0 0}

main.wrap{padding-block:var(--gap)}
section+section{margin-top:var(--gap)}
section>:last-child{margin-bottom:0}
.tags,ol{margin:0;padding:0;list-style:none}
ol{counter-reset:s}
ol li{counter-increment:s;position:relative;margin-bottom:var(--sp);
  padding-left:calc(var(--sp)*3);color:var(--mut)}
ol li:last-child{margin-bottom:0}
ol li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;
  color:var(--red);font-size:13px;font-weight:800}
.tags{display:flex;flex-wrap:wrap;gap:var(--sp);margin-top:calc(var(--sp)*2)}
.tags li{padding:8px 16px;border:1px solid var(--line);border-radius:99px;font-size:14px;color:var(--mut)}

footer{padding-block:var(--gap);background:var(--dark);color:#888396;font-size:13px}
footer nav{display:flex;flex-wrap:wrap;gap:var(--sp) calc(var(--sp)*2);margin-bottom:calc(var(--sp)*2)}
footer nav a{color:#b4afc0;letter-spacing:.04em;text-transform:uppercase}
footer nav a:hover{color:#ffffff}
footer p{margin:0 0 var(--sp);color:inherit}
footer small{display:block;margin-top:calc(var(--sp)*2);padding-top:calc(var(--sp)*2);
  border-top:1px solid rgba(255,255,255,.12)}


h3,h4,h5{margin:0 0 var(--sp);line-height:1.25;font-weight:800;overflow-wrap:break-word}
h3{font-size:22px;margin-top:calc(var(--sp)*2)}
h4{font-size:18px}
h5{font-size:16px}
main h2{margin-top:var(--gap)}
main h2:first-of-type{margin-top:0}

main img{width:100%;height:auto;margin:var(--sp) 0 calc(var(--sp)*2);border-radius:var(--r)}

main ul:not(.tags){margin:0 0 var(--sp);padding:0;list-style:none}
main ul:not(.tags) li{position:relative;margin-bottom:8px;padding-left:22px;color:var(--mut)}
main ul:not(.tags) li::before{content:"";position:absolute;left:6px;top:11px;width:5px;height:5px;
  border-radius:50%;background:var(--red)}

.tw{overflow-x:auto;margin:var(--sp) 0 calc(var(--sp)*2);border:1px solid var(--line);border-radius:var(--r);
  background:linear-gradient(90deg,transparent,var(--bg) 70%) right/40px 100% no-repeat local,
    radial-gradient(farthest-side at 100%,rgba(16,15,22,.22),transparent) right/14px 100% no-repeat}
table{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
tr>:first-child{position:sticky;left:0;z-index:1;border-right:1px solid var(--line)}
td:first-child{background:var(--bg)}
th,td{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line)}
th{background:#f1f2f6;font-weight:700;white-space:nowrap}
td{color:var(--mut);vertical-align:top}
tbody tr:last-child td{border-bottom:0}

.intro-tldr p{color:#b4afc0;max-width:70ch}
.intro-tldr strong{color:#ffffff}
.quick-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:calc(var(--sp)*2)}
.quick-links a{padding:8px 16px;border:1px solid rgba(255,255,255,.25);border-radius:99px;
  font-size:14px;color:#ffffff}
.quick-links a:hover{background:rgba(255,255,255,.1)}

.content-update{margin-top:var(--gap);font-size:13px}
.content-update p{margin:0}

.btn svg{width:16px;height:16px;vertical-align:-3px;margin-right:8px}
.appmeta{margin:var(--sp) 0 0;font-size:13px;letter-spacing:.02em}
.hero .appmeta{color:#b9b3c2}

@media(max-width:560px){
  :root{--gap:36px;--pad:16px}
  header .ghost{display:none}
  .btn{padding:12px 18px}
  .cta .btn{flex:1 1 100%;text-align:center}
  footer nav{gap:0 calc(var(--sp)*2)}
  footer nav a{padding:12px 0}
  .quick-links a{padding:11px 16px}
  header .wrap>a{padding:8px 0}
}
