/* ============================================================
   1. トークン — 色とサイズはここにしか書かない
   規則: docs/superpowers/specs/2026-08-16-design-system-design.md
   ============================================================ */
:root {
  /* 面 —— 2026-09-05 管理画面刷新で暖色へ寄せた（公開フォームの地色と地続きにする） */
  --ground: #f5f3ef;        /* ページ地 */
  --ground-soft: #fbfaf7;   /* 帯（フィルタ行） */
  --surface: #ffffff;       /* カード・テーブルの面 */
  --surface-alt: #faf7f3;   /* 行ホバー */

  /* 文字 — 2段階で足りる。#7a8798 は白地に3.65:1で AA を割るため廃止した */
  --ink: #0f1a26;
  --ink-2: #5c6b7d;

  /* 罫 */
  --rule: #e3ddd4;
  --rule-2: #eeeae3;
  /* 入力欄・ボタンの枠。WCAG 1.4.11（非文字 3:1）を満たす値にした（決定4）。
     白地 3.618 / --ground 3.265 / --surface-alt 3.388（実測）。
     旧 #ccd6e0 は白地 1.472、ハンドオフの #cbc3b7 でも 1.746 で割っていた。 */
  --rule-strong: #8f857a;   /* 入力欄・ボタンの枠 */

  /* 主要色 */
  --navy: #16305a;
  --blue: #1f6fb2;
  /* エラー・環境バナー・削除・中止・満席に加え、金銭の異常（返金待ち・送信失敗・
     入金額の不一致・残席の負数）にも使う（密度設計 2026-09-10 依頼者裁定）。 */
  --alert: #b3342a;
  --ok: #166b42;
  /* #a5691a から darken した。承認待ちの数字は行ホバー時に --surface-alt の
     上に載り、そこで 4.36:1 まで落ちて AA を割っていた。
     この値は明るい面すべてに対して最小 4.872:1（--bg-quiet で最小、:35参照） */
  --warn: #925a13;

  /* 淡色の地。#efebe4 だと --blue が 4.446:1 で AA を割る（実測。テストが落ちる）。
     #f1ede6 なら --blue 4.528 / --ink-2 4.669 / --warn 4.872（決定3）。 */
  --bg-quiet: #f1ede6;
  --bg-ok: #e7f0e9;
  --bg-alert: #fdf1ee;

  /* 塗りの上に載るテキスト */
  --on-fill: #ffffff;

  /* 影 */
  --shadow-card: rgba(74, 58, 38, .06);
  --shadow-btn: rgba(31, 111, 178, .3);
  /* モーダルの背景暗転。--shadow-card（カードの薄い影）とは用途が違う
     （レビュー指摘 F3: 不透明度5%ではモーダルの暗転として機能しない）。 */
  --shadow-modal: rgba(16, 32, 52, .45);

  /* 破壊操作の hover用に段3で導入したトークン（決定2）。2026-09-10に
     決定2が撤回され（密度設計。02-components.css の .delete-btn / 階層3
     ".btn-danger" のコメント参照）、hover の塗りは --alert（濃さを変えない
     単一の赤）に統一したため、このトークンは現在どの規則からも参照
     されていない。EXPECTED_FILLS（tests/test_style_guard.py）が固定して
     いるためトークン自体は残す——値を消すとコントラスト検査の判定表と
     ずれる。 */
  --alert-hover: #8f2a22;

  /* 密度設計（2026-09-10）で新設。階層3（不可逆・金銭）ボタンの平常時の枠と、
     押せない状態の面・文字。実際にどの規則が使うか（配線）は別タスクの担務で、
     ここではトークンの値だけを定義する。コントラスト比はいずれも意図的に
     AA(4.5:1)・非文字UI(3:1) の対象外——tests/test_style_guard.py の
     test_密度設計の免除トークンは意図的にコントラスト検査の外にある が
     判定表（INK_TOKENS/FILLS）から外れていることを固定する。
     実測: --rule-alert 白地1.732:1・--rule-alert-2 白地1.486:1・
     --ink-disabled 白地3.103:1／--fill-disabled上2.754:1。 */
  --rule-alert: #e0bdb6;
  --rule-alert-2: #e6cfc9;
  --fill-disabled: #f4f1ec;
  --ink-disabled: #9a9186;

  /* 文字サイズ — 6段階。増やさない。
     --fs-2xl の許可セレクタは FS_2XL_SELECTORS（tests/test_style_guard.py）が
     唯一の出どころ（2026-08-18 ユーザー承認で導入。現状は body.public h1 のみ）。
     他の用途には使わない — 使うとこの段の意味が薄れる。 */
  /* --fs-xs はテーブル見出し・ピル・カウンタに加え、表の副次情報
     （フリガナ・日付・区分・集計ラベル）と行下・欄下の注記にも使う
     （密度設計 2026-09-10 依頼者裁定）。 */
  --fs-xs: 11px;
  --fs-sm: 13px;
  --fs-md: 14px;
  --fs-lg: 16px;
  --fs-xl: 18px;
  --fs-2xl: 24px;

  /* 確定案（Claude Design 2026-09-05）の刷新で増えた段。
     6段階の意味づけ（xs/sm/md/lg/xl/2xl）は管理画面がそのまま使い続けるので残し、
     公開申込フォームだけが使う段は px 値そのままの名前にする。
     **ここに無い値は使えない**（tests/test_style_guard.py の FONT_SCALE と集合一致）。
     本文スケール(11-19)を超える段は、サイズごとに使用セレクタを
     LARGE_FS_SELECTORS で固定する — 大きい字が野放しにならないようにするため。 */
  --fs-9-5: 9.5px;   /* PEARS のキッカーだけ。名前が長く 11px では折り返すため */
  --fs-12: 12px;     /* ステップ帯・参加区分バッジ */
  --fs-15: 15px;     /* 案内文・エラー文・サイドバーの行 */
  --fs-17: 17px;     /* 主ボタン・PCヘッダー帯の開催情報 */
  --fs-19: 19px;     /* スティッキーバーのコース名・PCのカード見出し */
  --fs-20: 20px;     /* 確認画面の見出し */
  --fs-21: 21px;     /* 同 PC */
  --fs-23: 23px;     /* 完了画面の見出し */
  --fs-26: 26px;     /* 完了画面の✓・確認PCサイドバーのコース名 */
  --fs-30: 30px;     /* 受講料の数字・和名コース名 */
  --fs-32: 32px;     /* 同 PC */
  --fs-46: 46px;     /* 和名コース名 PC */
  --fs-54: 54px;     /* 完了画面のコース名 */
  --fs-58: 58px;     /* ヘッダー帯のコース名 */
  --fs-92: 92px;     /* 同 PC（和名併記時） */
  --fs-110: 110px;   /* 同 PC */

  /* 余白 — 8段。増やさない（設計 §4.2、実測由来）。
     padding / margin / gap は必ずこのどれかを var() で参照する。
     絶対値が2.5px以下の値と負値（罫線の位置合わせ）だけがスケール外
     — それらはリテラルのまま残す（tests/test_style_guard.py が判定）。 */
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-64: 64px;

  /* 刷新で増えた段。既存8段は管理画面がそのまま使う。 */
  --space-3: 3px;    /* バッジの上下 */
  --space-5: 5px;    /* 参加区分バッジの上下 */
  --space-6: 6px;    /* ステップ帯の間隔 */
  --space-10: 10px;  /* スティッキーバー・サイドバーの間隔 */
  --space-14: 14px;  /* カード間・確認行の間隔 */
  --space-18: 18px;  /* エラー総覧・安心ブロックの内側 */
  --space-20: 20px;  /* カードの内側 */
  --space-22: 22px;  /* 同 PC */
  --space-28: 28px;  /* PC の水平パディング */
  --space-30: 30px;  /* PC ヘッダー帯の下側 */
  --space-36: 36px;  /* PC ヘッダー帯の上側 */


  /* ===== 公開申込フォームの中立色（確定案 §K）=====
     管理画面の --ground / --ink 等はそのまま。刷新は公開フォームだけなので、
     既存トークンの値を書き換えず、別の名前で足す。 */
  --form-ground: #f7f6f4;        /* ページ地 */
  --form-frame: #e2e0dc;         /* 外枠 */
  --form-sticky-rule: #eeece9;   /* スティッキーバーの下罫 */
  --form-inert: #efedea;         /* 未通過ステップ・セグメント容器・仕切り */
  --form-tag-bg: #f2f0ed;        /* 任意バッジの地・概要の上罫 */
  --form-row-rule: #f4f2ef;      /* 選択肢・確認行の罫 */
  --form-input-bg: #faf9f7;      /* 入力欄の地 */
  /* 指摘F: 確定案の値 #cfcbc5 は入力欄の地(--form-input-bg)に対し1.54:1、
     白地に対し1.615:1 で、WCAG 1.4.11（非文字コントラスト3:1）を割って
     いた（実測）。白・入力欄の地の両方に対して3:1を超えるまで暗くした
     （tests/test_course_palette.py で固定。逸脱の記録は
     docs/superpowers/specs/2026-09-05-apply-redesign-inventory.md §M）。 */
  --form-input-rule: #908d89;    /* 入力欄の枠 */
  --form-policy-rule: #e4e1dc;   /* ポリシー枠・サイドバー安心ブロックの枠 */
  /* 指摘F: 確定案の値 #ddd9d3 は白地に対し1.41:1しかなかった（実測）。
     同じく3:1を超えるまで暗くした。 */
  --form-btn-rule: #8f8c89;      /* 副ボタンの枠 */
  --form-btn-off-bg: #dfdcd7;    /* 非活性ボタンの地 */
  --form-btn-off-ink: #5f5b57;   /* 非活性ボタンの字 */
  --form-text: #14181d;          /* 本文 */
  --form-text-2: #4d545c;        /* 副文 */
  --form-label: #5c6b7d;         /* ラベル・placeholder */
  --form-link-quiet: #5a5f66;    /* フッターリンク */
  --form-text-off: #9aa1a9;      /* 送信中に非活性化した副ボタンの字 */
  --form-shadow-card: rgba(20, 24, 29, .06);
  --form-shadow-frame-near: rgba(20, 24, 29, .05);
  --form-shadow-frame-far: rgba(20, 24, 29, .08);
  --form-spinner-track: rgba(255, 255, 255, .4);


  /* ===== コース別パレット（sRGB フォールバック） =====
     **scripts/course_palette.py が唯一の出どころ。** 手で書かない・手で直さない。
     5つの基準色から17段を導出したもので、tests/test_course_palette.py が
     生成結果とこのファイルの中身を照合する。
     [data-course] 側の別名は static/03-public.css にあり、そちらには
     リテラルを1つも書かない（「:root の外に色を書かない」を保つため）。

     ここは oklch ではなく sRGB の実値（2026-09-05 追加）。oklch() は
     Safari 15.4 / Chrome 111 / Firefox 113 以降でしか解釈できず、
     申込者は病院の端末から申し込むことが多い（院内PCはブラウザが古い
     ままのことがある）。非対応ブラウザで var() 展開後の値が invalid at
     computed-value time になると、CSS Variables の仕様上カスケードで
     下の宣言に戻るのではなく unset（background-color の initial である
     transparent）になる。主ボタンは `background: var(--c-main)` だけで
     塗っているため、これが起きると背景が透明になり、白文字（--on-fill）
     だけが残って「この内容で申し込む」を押す場所が見えなくなる。
     対応ブラウザ向けの oklch 本体は、この :root が閉じた直後の
     `@supports (color: oklch(0 0 0))` に入れてあり、そちらが後勝ちで
     同じカスタムプロパティを上書きする。 */
  --course-acls-main: #b32228;
  --course-acls-deep: #8b131a;
  --course-acls-tint: #fff7f6;
  --course-acls-soft: #ffdfda;
  --course-acls-line: rgba(179, 34, 40, .3);
  --course-acls-ring: rgba(179, 34, 40, .16);
  --course-acls-shadow: rgba(179, 34, 40, .28);
  --course-acls-err-bg: #ffece9;
  --course-acls-err-line: #e0615c;
  --course-acls-err-ink: #9b0f1b;
  --course-acls-err-field-bg: #fff2ef;
  --course-acls-err-field-line: #c92f33;
  --course-acls-link: #a50d1c;
  --course-acls-assure-line: #f1ceca;
  --course-acls-review-fee-bg: #fff4f3;
  --course-acls-step-done-ink: #940015;
  --course-acls-submitting: #8d1a1e;
  --course-ncls-main: #1666aa;
  --course-ncls-deep: #084c83;
  --course-ncls-tint: #f6fbff;
  --course-ncls-soft: #daeeff;
  --course-ncls-line: rgba(22, 102, 170, .3);
  --course-ncls-ring: rgba(22, 102, 170, .16);
  --course-ncls-shadow: rgba(22, 102, 170, .28);
  --course-ncls-err-bg: #e5f6ff;
  --course-ncls-err-line: #3093ec;
  --course-ncls-err-ink: #0051ab;
  --course-ncls-err-field-bg: #ecf8ff;
  --course-ncls-err-field-line: #0072da;
  --course-ncls-link: #0056b6;
  --course-ncls-assure-line: #c4daf2;
  --course-ncls-review-fee-bg: #f1f8ff;
  --course-ncls-step-done-ink: #004ba4;
  --course-ncls-submitting: #004d9a;
  --course-ncls-ep-main: #5b646f;
  --course-ncls-ep-deep: #444b53;
  --course-ncls-ep-tint: #f9fafb;
  --course-ncls-ep-soft: #e8ebef;
  --course-ncls-ep-line: rgba(91, 100, 111, .3);
  --course-ncls-ep-ring: rgba(91, 100, 111, .16);
  --course-ncls-ep-shadow: rgba(91, 100, 111, .28);
  --course-ncls-ep-err-bg: #e5f6ff;
  --course-ncls-ep-err-line: #3093ec;
  --course-ncls-ep-err-ink: #0051ab;
  --course-ncls-ep-err-field-bg: #ecf8ff;
  --course-ncls-ep-err-field-line: #0072da;
  --course-ncls-ep-link: #0056b6;
  --course-ncls-ep-assure-line: #c4daf2;
  --course-ncls-ep-review-fee-bg: #f1f8ff;
  --course-ncls-ep-step-done-ink: #004ba4;
  --course-ncls-ep-submitting: #004d9a;
  --course-ncls-inst-main: #253a6c;
  --course-ncls-inst-deep: #14244b;
  --course-ncls-inst-tint: #f8fafe;
  --course-ncls-inst-soft: #e3ebfd;
  --course-ncls-inst-line: rgba(37, 58, 108, .3);
  --course-ncls-inst-ring: rgba(37, 58, 108, .16);
  --course-ncls-inst-shadow: rgba(37, 58, 108, .28);
  --course-ncls-inst-err-bg: #eaf4ff;
  --course-ncls-inst-err-line: #5e8af0;
  --course-ncls-inst-err-ink: #2347ae;
  --course-ncls-inst-err-field-bg: #f0f7ff;
  --course-ncls-inst-err-field-line: #3967df;
  --course-ncls-inst-link: #254cba;
  --course-ncls-inst-assure-line: #cbd8f3;
  --course-ncls-inst-review-fee-bg: #f3f7ff;
  --course-ncls-inst-step-done-ink: #1e41a8;
  --course-ncls-inst-submitting: #23459d;
  --course-pears-main: #7d45a2;
  --course-pears-deep: #5f317d;
  --course-pears-tint: #fcf9ff;
  --course-pears-soft: #f4e4ff;
  --course-pears-line: rgba(125, 69, 162, .3);
  --course-pears-ring: rgba(125, 69, 162, .16);
  --course-pears-shadow: rgba(125, 69, 162, .28);
  --course-pears-err-bg: #faeeff;
  --course-pears-err-line: #ad70d7;
  --course-pears-err-ink: #6f2c96;
  --course-pears-err-field-bg: #fbf3ff;
  --course-pears-err-field-line: #9347c2;
  --course-pears-link: #762ea1;
  --course-pears-assure-line: #e0d1ec;
  --course-pears-review-fee-bg: #f9f5fd;
  --course-pears-step-done-ink: #692590;
  --course-pears-submitting: #662d88;
  --course-acls-inst-main: #7b0f31;
  --course-acls-inst-deep: #57001d;
  --course-acls-inst-tint: #fff8f9;
  --course-acls-inst-soft: #ffe1e5;
  --course-acls-inst-line: rgba(123, 15, 49, .3);
  --course-acls-inst-ring: rgba(123, 15, 49, .16);
  --course-acls-inst-shadow: rgba(123, 15, 49, .28);
  --course-acls-inst-err-bg: #ffecef;
  --course-acls-inst-err-line: #de5f79;
  --course-acls-inst-err-ink: #990b3d;
  --course-acls-inst-err-field-bg: #fff1f3;
  --course-acls-inst-err-field-line: #c62c58;
  --course-acls-inst-link: #a30841;
  --course-acls-inst-assure-line: #f0cdd1;
  --course-acls-inst-review-fee-bg: #fff4f5;
  --course-acls-inst-step-done-ink: #920037;
  --course-acls-inst-submitting: #8b173a;
  --course-default-main: #16558c;
  --course-default-deep: #073c68;
  --course-default-tint: #f7fbff;
  --course-default-soft: #dcedff;
  --course-default-line: rgba(22, 85, 140, .3);
  --course-default-ring: rgba(22, 85, 140, .16);
  --course-default-shadow: rgba(22, 85, 140, .28);
  --course-default-err-bg: #e5f6ff;
  --course-default-err-line: #3093ec;
  --course-default-err-ink: #0051ab;
  --course-default-err-field-bg: #ecf8ff;
  --course-default-err-field-line: #0072da;
  --course-default-link: #0056b6;
  --course-default-assure-line: #c4daf2;
  --course-default-review-fee-bg: #f1f8ff;
  --course-default-step-done-ink: #004ba4;
  --course-default-submitting: #004d9a;

  --radius: 8px;
  --radius-card: 12px;  /* 管理画面のカード（2026-09-05 管理画面刷新） */

  /* 刷新で増えた角丸。確定案に実在する値だけ。
     ピルの 999px と、チェック/ラジオ印の 50% は直書きのまま（トークン化する意味がない）。 */
  --radius-7: 7px;    /* チェックボックスの印 */
  --radius-13: 13px;  /* セグメントタブの中身 */
  --radius-14: 14px;  /* 入力欄・ポリシー枠・受付枠 */
  --radius-16: 16px;  /* セグメント容器・告知 */
  --radius-20: 20px;  /* カード */

  /* 書体。**これが無いと var(--font-head) は無効宣言になり、書体が当たらないまま
     テストだけ緑になる**（第1版の欠陥。実ブラウザの computed style で確認済み）。
     フォールバックを必ず付ける——サブセットに無い字が素の既定書体に落ちると
     多くの環境で明朝になる。--font-body は既存 body（02-components.css）の
     6段フォールバックをそのまま持ってくる（レビュー Important3。Noto は
     サブセットなので収録漏れの字――例:「髙」、tests/test_font_char_coverage.py
     で確認済み――は Hiragino が無い Windows で "Yu Gothic" が拾う。
     "Yu Gothic" / system-ui を落とすと一気に総称 sans-serif へ落ち、氏名が
     1字だけ別書体になる環境が増える）。 */
  --font-head: "Zen Maru Gothic", "Noto Sans JP", sans-serif;
  --font-body: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN",
               "Yu Gothic", system-ui, sans-serif;
}

/* ===== コース別パレット（oklch 本体） =====
   対応ブラウザ（Safari 15.4 / Chrome 111 / Firefox 113 以降）だけがこの
   @supports の中に入り、上の :root で先に定義した sRGB フォールバックを
   同じカスタムプロパティ名で上書きする（カスケードは後勝ち）。
   非対応ブラウザではこのブロックごと無視されるため、フォールバックが
   そのまま使われ続ける——古いブラウザで主ボタンが透明になり
   「この内容で申し込む」を押す場所が見えなくなる事故を防ぐため。
   scripts/course_palette.py が唯一の出どころ。手で書かない・手で直さない。 */
@supports (color: oklch(0 0 0)) {
  :root {
    --course-acls-main: oklch(0.5 0.18 25);
    --course-acls-deep: oklch(0.41 0.153 25);
    --course-acls-tint: oklch(0.985 0.011 25);
    --course-acls-soft: oklch(0.94 0.05 25);
    --course-acls-line: oklch(0.5 0.18 25 / .30);
    --course-acls-ring: oklch(0.5 0.18 25 / .16);
    --course-acls-shadow: oklch(0.5 0.18 25 / .28);
    --course-acls-err-bg: oklch(0.965 0.03 25);
    --course-acls-err-line: oklch(0.65 0.16 25);
    --course-acls-err-ink: oklch(0.44 0.17 25);
    --course-acls-err-field-bg: oklch(0.975 0.022 25);
    --course-acls-err-field-line: oklch(0.55 0.19 25);
    --course-acls-link: oklch(0.46 0.18 25);
    --course-acls-assure-line: oklch(0.88 0.04 25);
    --course-acls-review-fee-bg: oklch(0.975 0.012 25);
    --course-acls-step-done-ink: oklch(0.42 0.17 25);
    --course-acls-submitting: oklch(0.42 0.15 25);
    --course-ncls-main: oklch(0.5 0.13 250);
    --course-ncls-deep: oklch(0.41 0.111 250);
    --course-ncls-tint: oklch(0.985 0.008 250);
    --course-ncls-soft: oklch(0.94 0.036 250);
    --course-ncls-line: oklch(0.5 0.13 250 / .30);
    --course-ncls-ring: oklch(0.5 0.13 250 / .16);
    --course-ncls-shadow: oklch(0.5 0.13 250 / .28);
    --course-ncls-err-bg: oklch(0.965 0.03 250);
    --course-ncls-err-line: oklch(0.65 0.16 250);
    --course-ncls-err-ink: oklch(0.44 0.17 250);
    --course-ncls-err-field-bg: oklch(0.975 0.022 250);
    --course-ncls-err-field-line: oklch(0.55 0.19 250);
    --course-ncls-link: oklch(0.46 0.18 250);
    --course-ncls-assure-line: oklch(0.88 0.04 250);
    --course-ncls-review-fee-bg: oklch(0.975 0.012 250);
    --course-ncls-step-done-ink: oklch(0.42 0.17 250);
    --course-ncls-submitting: oklch(0.42 0.15 250);
    --course-ncls-ep-main: oklch(0.5 0.02 250);
    --course-ncls-ep-deep: oklch(0.41 0.017 250);
    --course-ncls-ep-tint: oklch(0.985 0.001 250);
    --course-ncls-ep-soft: oklch(0.94 0.006 250);
    --course-ncls-ep-line: oklch(0.5 0.02 250 / .30);
    --course-ncls-ep-ring: oklch(0.5 0.02 250 / .16);
    --course-ncls-ep-shadow: oklch(0.5 0.02 250 / .28);
    --course-ncls-ep-err-bg: oklch(0.965 0.03 250);
    --course-ncls-ep-err-line: oklch(0.65 0.16 250);
    --course-ncls-ep-err-ink: oklch(0.44 0.17 250);
    --course-ncls-ep-err-field-bg: oklch(0.975 0.022 250);
    --course-ncls-ep-err-field-line: oklch(0.55 0.19 250);
    --course-ncls-ep-link: oklch(0.46 0.18 250);
    --course-ncls-ep-assure-line: oklch(0.88 0.04 250);
    --course-ncls-ep-review-fee-bg: oklch(0.975 0.012 250);
    --course-ncls-ep-step-done-ink: oklch(0.42 0.17 250);
    --course-ncls-ep-submitting: oklch(0.42 0.15 250);
    --course-ncls-inst-main: oklch(0.36 0.09 265);
    --course-ncls-inst-deep: oklch(0.27 0.076 265);
    --course-ncls-inst-tint: oklch(0.985 0.005 265);
    --course-ncls-inst-soft: oklch(0.94 0.025 265);
    --course-ncls-inst-line: oklch(0.36 0.09 265 / .30);
    --course-ncls-inst-ring: oklch(0.36 0.09 265 / .16);
    --course-ncls-inst-shadow: oklch(0.36 0.09 265 / .28);
    --course-ncls-inst-err-bg: oklch(0.965 0.03 265);
    --course-ncls-inst-err-line: oklch(0.65 0.16 265);
    --course-ncls-inst-err-ink: oklch(0.44 0.17 265);
    --course-ncls-inst-err-field-bg: oklch(0.975 0.022 265);
    --course-ncls-inst-err-field-line: oklch(0.55 0.19 265);
    --course-ncls-inst-link: oklch(0.46 0.18 265);
    --course-ncls-inst-assure-line: oklch(0.88 0.04 265);
    --course-ncls-inst-review-fee-bg: oklch(0.975 0.012 265);
    --course-ncls-inst-step-done-ink: oklch(0.42 0.17 265);
    --course-ncls-inst-submitting: oklch(0.42 0.15 265);
    --course-pears-main: oklch(0.5 0.15 310);
    --course-pears-deep: oklch(0.41 0.128 310);
    --course-pears-tint: oklch(0.985 0.009 310);
    --course-pears-soft: oklch(0.94 0.042 310);
    --course-pears-line: oklch(0.5 0.15 310 / .30);
    --course-pears-ring: oklch(0.5 0.15 310 / .16);
    --course-pears-shadow: oklch(0.5 0.15 310 / .28);
    --course-pears-err-bg: oklch(0.965 0.03 310);
    --course-pears-err-line: oklch(0.65 0.16 310);
    --course-pears-err-ink: oklch(0.44 0.17 310);
    --course-pears-err-field-bg: oklch(0.975 0.022 310);
    --course-pears-err-field-line: oklch(0.55 0.19 310);
    --course-pears-link: oklch(0.46 0.18 310);
    --course-pears-assure-line: oklch(0.88 0.04 310);
    --course-pears-review-fee-bg: oklch(0.975 0.012 310);
    --course-pears-step-done-ink: oklch(0.42 0.17 310);
    --course-pears-submitting: oklch(0.42 0.15 310);
    --course-acls-inst-main: oklch(0.38 0.14 10);
    --course-acls-inst-deep: oklch(0.29 0.119 10);
    --course-acls-inst-tint: oklch(0.985 0.008 10);
    --course-acls-inst-soft: oklch(0.94 0.039 10);
    --course-acls-inst-line: oklch(0.38 0.14 10 / .30);
    --course-acls-inst-ring: oklch(0.38 0.14 10 / .16);
    --course-acls-inst-shadow: oklch(0.38 0.14 10 / .28);
    --course-acls-inst-err-bg: oklch(0.965 0.03 10);
    --course-acls-inst-err-line: oklch(0.65 0.16 10);
    --course-acls-inst-err-ink: oklch(0.44 0.17 10);
    --course-acls-inst-err-field-bg: oklch(0.975 0.022 10);
    --course-acls-inst-err-field-line: oklch(0.55 0.19 10);
    --course-acls-inst-link: oklch(0.46 0.18 10);
    --course-acls-inst-assure-line: oklch(0.88 0.04 10);
    --course-acls-inst-review-fee-bg: oklch(0.975 0.012 10);
    --course-acls-inst-step-done-ink: oklch(0.42 0.17 10);
    --course-acls-inst-submitting: oklch(0.42 0.15 10);
    --course-default-main: oklch(0.44 0.11 250);
    --course-default-deep: oklch(0.35 0.093 250);
    --course-default-tint: oklch(0.985 0.007 250);
    --course-default-soft: oklch(0.94 0.031 250);
    --course-default-line: oklch(0.44 0.11 250 / .30);
    --course-default-ring: oklch(0.44 0.11 250 / .16);
    --course-default-shadow: oklch(0.44 0.11 250 / .28);
    --course-default-err-bg: oklch(0.965 0.03 250);
    --course-default-err-line: oklch(0.65 0.16 250);
    --course-default-err-ink: oklch(0.44 0.17 250);
    --course-default-err-field-bg: oklch(0.975 0.022 250);
    --course-default-err-field-line: oklch(0.55 0.19 250);
    --course-default-link: oklch(0.46 0.18 250);
    --course-default-assure-line: oklch(0.88 0.04 250);
    --course-default-review-fee-bg: oklch(0.975 0.012 250);
    --course-default-step-done-ink: oklch(0.42 0.17 250);
    --course-default-submitting: oklch(0.42 0.15 250);
  }
}

