p {
    color: #8B008B;
}
p {
    color: #8B008B;
}
h1 {
    background-color: #8B008B;
}
div {
    border-color: #8B008B;
}
...
p {
    color: #A9A9A9;
}
h1 {
    background-color: #A9A9A9;
}
div {
    border-color: #A9A9A9;
}
...
:root {
    --primary-color: #8B008B;
    /* ウェブサイトのメインカラーとして濃い紫色(#8B008B)を、--primary-colorという変数名で保存します */
}
p {
    color: var(--primary-color);
    /* var(変数名)を使って、--primary-color変数の値が必要な場所に挿入します */
}
h1 {
    background-color: var(--primary-color);
    /* var(変数名)を使って、--primary-color変数の値が必要な場所に挿入します */
}
div {
    border-color: var(--primary-color);
    /* var(変数名)を使って、--primary-color変数の値が必要な場所に挿入します */
}
...
:root {
    --primary-color: #A9A9A9; /* 紫色(#8B008B)を濃いグレー(#A9A9A9)に変更する */
}
p {
    color: var(--primary-color);
}
h1 {
    background-color: var(--primary-color);
}
div {
    border-color: var(--primary-color);
}
...
selector { /* セレクタは変数が適用される範囲を決定するために使います。 */
    --primary-color: #8B008B;
    /* --変数名: 値 */
}
p { /* このセレクタは、変数を定義したセレクタの子孫要素でなければなりません */
    color: var(--primary-color); /* color: #8B008B; と同じです */
    /* var(定義した変数名) の形式で、--primary-color変数の値が必要な場所に挿入します */
}
h1 { /* このセレクタは、変数を定義したセレクタの子孫要素でなければなりません */
    background-color: var(--primary-color); /* background-color: #8B008B; と同じです */
    /* var(定義した変数名) の形式で、--primary-color変数の値が必要な場所に挿入します */
}
div { /* このセレクタは、変数を定義したセレクタの子孫要素でなければなりません */
    border-color: var(--primary-color); /* border-color: #8B008B; と同じです */
    /* var(定義した変数名) の形式で、--primary-color変数の値が必要な場所に挿入します */
}
<div class="one">
    one
    <div class="two">
        two
        <div class="three">tree</div>
        <div class="four">four</div>
    </div>
</div>
.two {
    --test: 10px;
}

.three {
    --test: 2em;
}
div {
    fon-size: var(--test);
}
font-size: var(--test) の結果画面
:root {
    --font-size: 15px;
}
p {
    font-size: var(--font-size);
}

@media (max-width: 1024px) {
    :root {
        --font-size: 13px;
    } 
}
var(--変数名[, 代替値]);
:root {
    --primary-color: #00a0e9;
}
.container {
    color: var(--primary-color, #1a1aff);
    background-color: var(--secondary-color, #3333ff);  /* --secondary-color変数は定義されていません */
}
.container {
    background-color: var(--my-var, var(--my-background, pink));
    /* my-varおよび--my-backgroundが定義されていない場合、pinkが適用されます */
}
.container {
  background-color: var(--my-var, --my-background, pink);
  /* 無効です: "--my-background, pink" */
}
.container {
    background-color: var(--my-var, --my-primary-background);
    /* 無効です(代替値がない変数は代替値として使用できません) : "--my-primary-background" */
}

caniuse.comで詳しい情報をご確認ください。