/* Color is a route cue, never the only label. Move judgements keep their own
   green/amber/red palette; these tokens never target squares or chess pieces. */
/* sRGB fallback for older embedded browsers; identical role assignments. */
:root{
 --plans-ink:#17457c;--plans-surface:#dfedfe;--plans-edge:#87a7d0;
 --moves-ink:#5d3e07;--moves-surface:#ffecc1;--moves-edge:#c9a567;
 --practice-ink:#004856;--practice-surface:#d1f2f8;--practice-edge:#6daab5;
 --games-ink:#762e1d;--games-surface:#ffe4da;--games-edge:#ce9581;
 --catalog-ink:#024539;--catalog-surface:#d8f2ea;--catalog-edge:#76ab9c;
 --study-ink:#1a2028;--study-muted:#444e5b;
}
@supports(color:oklch(50% .1 100)){
:root{
 --plans-ink:oklch(39% .105 255);--plans-surface:oklch(94% .028 255);--plans-edge:oklch(72% .07 255);
 --moves-ink:oklch(39% .078 75);--moves-surface:oklch(95% .06 85);--moves-edge:oklch(74% .09 80);
 --practice-ink:oklch(37% .068 215);--practice-surface:oklch(94% .035 210);--practice-edge:oklch(70% .065 210);
 --games-ink:oklch(40% .105 35);--games-surface:oklch(94% .035 40);--games-edge:oklch(72% .075 40);
 --catalog-ink:oklch(35% .065 175);--catalog-surface:oklch(94% .03 175);--catalog-edge:oklch(70% .06 175);
 --study-ink:oklch(24% .018 255);--study-muted:oklch(42% .025 255);
}
}
body{background:#f7f8fa;background:oklch(98% .003 255)}
.tile-courses{--route-ink:var(--catalog-ink);--route-surface:var(--catalog-surface);--route-edge:var(--catalog-edge)}
.tile-plans,[data-path-section="plans"]{--route-ink:var(--plans-ink);--route-surface:var(--plans-surface);--route-edge:var(--plans-edge)}
.tile-themes,[data-path-section="lines"]{--route-ink:var(--moves-ink);--route-surface:var(--moves-surface);--route-edge:var(--moves-edge)}
.tile-practice,[data-path-section="exercises"]{--route-ink:var(--practice-ink);--route-surface:var(--practice-surface);--route-edge:var(--practice-edge)}
[data-path-section="games"]{--route-ink:var(--games-ink);--route-surface:var(--games-surface);--route-edge:var(--games-edge)}
.action-grid .action-tile{background:var(--route-surface);border-color:var(--route-edge);--card-edge:var(--route-edge);color:var(--route-ink)}
.action-grid .action-tile strong,.action-grid .action-tile .tile-description{color:var(--route-ink)}
.action-grid .action-tile .tile-icon{background:var(--route-ink);color:white}
.dashboard-heading .home-promise{color:var(--plans-ink)}
.model-game-note{border:1px solid var(--games-edge);background:var(--games-surface);border-radius:16px;padding:20px;color:var(--games-ink)}
.model-game-note h2,.model-game-note p{color:var(--games-ink)}
.course-journey nav.cj-nav button{border:1px solid var(--route-edge);background:var(--route-surface);color:var(--route-ink);box-shadow:0 2px 0 var(--route-edge)}
.course-journey nav.cj-nav button[aria-current="page"]{background:var(--route-ink);border-color:var(--route-ink);color:white;box-shadow:0 2px 0 var(--route-ink)}
.course-journey nav.cj-nav button:hover{border-color:var(--route-ink)}
.course-journey .cj-heading h1{color:var(--study-ink)}
.course-journey .cj-plans>h2{color:var(--plans-ink)}
.plan-condition{background:var(--plans-surface);border-color:var(--plans-edge);color:var(--plans-ink);box-shadow:none}
.plan-condition>h3,.plan-condition>strong{font:750 1rem/1.5 system-ui,sans-serif;color:var(--plans-ink);margin:0 0 .65rem}
.plan-condition .study-reading,.plan-condition p,.plan-condition li,.plan-condition strong{color:var(--plans-ink)}
.plan-condition p+p{margin-top:.7rem}
.plan-condition :last-child{margin-bottom:0}
.course-journey .es-themes{border-color:var(--moves-edge)}
.course-journey .es-themes>summary{color:var(--moves-ink)}
.course-journey button.es-choice[data-essential-start="line"]{--route-ink:var(--moves-ink);--route-surface:var(--moves-surface);--route-edge:var(--moves-edge)}
.course-journey button.es-choice[data-essential-start="tactic"]{--route-ink:var(--practice-ink);--route-surface:var(--practice-surface);--route-edge:var(--practice-edge)}
.course-journey button.es-choice{background:var(--route-surface);color:var(--route-ink);border-color:var(--route-edge)}
.course-journey button.es-choice :is(strong,span,small,b){color:inherit}
.course-journey button.es-choice:hover{background:var(--route-surface);border-color:var(--route-ink)}
.course-journey .cj-game-context{background:var(--games-surface);color:var(--games-ink);border-radius:12px;padding:14px 16px}
body[data-view="plans"] .practice-picker>.tile-icon{background:var(--plans-surface);color:var(--plans-ink)}
body[data-view="themes"] .practice-picker>.tile-icon{background:var(--moves-surface);color:var(--moves-ink)}
body[data-view="practice"] .practice-picker>.tile-icon{background:var(--practice-surface);color:var(--practice-ink)}
.bottom-nav button[data-view="practice"].active{background:var(--practice-surface);color:var(--practice-ink)}
.course-card.course-available{background:white;border-color:var(--catalog-edge)}
.course-card.course-available h3{color:var(--catalog-ink)}
.gate-sample{background:var(--plans-surface);color:var(--plans-ink);border-radius:16px;padding:20px}
:is(.action-tile,.cj-nav button,.es-choice):focus-visible{outline:3px solid var(--route-ink,var(--plans-ink));outline-offset:4px}
@media(forced-colors:active){.action-grid .action-tile,.course-journey nav.cj-nav button,.plan-condition,.model-game-note{border-color:ButtonText}.course-journey nav.cj-nav button[aria-current="page"]{outline:2px solid Highlight;outline-offset:2px}}
