/* Acquisition échecs uniquement : contenu réel, diagrammes natifs, aucune dépendance. */
body[data-tool-page="echecs"] :is([data-chess-profiles], [data-chess-story]) [hidden] { display: none !important; }
body[data-tool-page="echecs"] :is(.chess-discovery-nav a, .chess-profile-choices button, .chess-story-controls button, .chess-story-footer button, .chess-question-list summary, .chess-questions-action, .chess-profile-copy a, .chess-story-continuation a, .chess-story-source a):focus-visible { outline: 3px solid #125ba3; outline-offset: 4px; }
body[data-tool-page="echecs"] :is(.chess-explorer, .chess-story, #abonnement, .chess-questions, #demonstration) { scroll-margin-top: 24px; }
body[data-tool-page="echecs"] .tool-hero-actions--featured { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
body[data-tool-page="echecs"] .tool-hero-actions .tool-button-primary--featured { grid-template-columns: minmax(0, 1fr) 24px; min-height: 72px; gap: 10px; text-align: left; }
body[data-tool-page="echecs"] .tool-button-featured-arrow { width: 24px; height: 24px; border: 0; background: none; }
body[data-tool-page="echecs"] .tool-button-featured-copy { display: grid; gap: 3px; min-width: 0; }
body[data-tool-page="echecs"] .tool-button-featured-copy strong { font-size: .95rem; }
body[data-tool-page="echecs"] .tool-button-featured-copy em { font-size: .73rem; font-style: normal; font-weight: 400; }
body[data-tool-page="echecs"] .chess-discovery-bar { margin-top: 20px; padding: 22px 26px 12px; border: 1px solid #e0d5c5; border-radius: 24px; background: #fffdf9; color: var(--catalog-navy); }
body[data-tool-page="echecs"] .chess-discovery-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; }
body[data-tool-page="echecs"] .chess-discovery-facts > div { display: flex; flex-direction: column-reverse; justify-content: end; padding-left: 16px; border-left: 2px solid #ddd2bf; }
body[data-tool-page="echecs"] .chess-discovery-facts dt { color: #4a5e58; font-size: .76rem; line-height: 1.5; }
body[data-tool-page="echecs"] .chess-discovery-facts dd { margin: 0 0 2px; color: #284d41; font-size: 2rem; line-height: 1.1; font-weight: 700; font-variant-numeric: tabular-nums; letter-spacing: -.04em; }
body[data-tool-page="echecs"] .chess-discovery-nav { display: flex; flex-wrap: wrap; gap: 4px 8px; margin-top: 20px; padding-top: 10px; border-top: 1px solid #e6dfd5; }
body[data-tool-page="echecs"] .chess-discovery-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 10px; border-radius: 9px; color: #42544d; font-size: .77rem; font-weight: 500; text-decoration: none; }
body[data-tool-page="echecs"] .chess-discovery-nav a:first-child { color: #784118; font-weight: 700; }
body[data-tool-page="echecs"] .chess-discovery-nav a:hover { background: #f5ede1; }
body[data-tool-page="echecs"] .chess-profile-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 24px 0 18px; }
body[data-tool-page="echecs"] .chess-profile-choices button { display: flex; align-items: center; gap: 14px; min-height: 92px; padding: 17px; border: 1px solid #c8d2cc; border-radius: 16px; color: #244438; background: #fff; font: inherit; text-align: left; cursor: pointer; }
body[data-tool-page="echecs"] .chess-profile-choices button > span:first-child { flex: 0 0 36px; font: 2.5rem/1 Georgia, "Times New Roman", serif; text-align: center; }
body[data-tool-page="echecs"] .chess-profile-choices strong { display: block; font-size: .85rem; line-height: 1.45; }
body[data-tool-page="echecs"] .chess-profile-choices small { display: block; margin-top: 3px; font-size: .7rem; line-height: 1.4; }
body[data-tool-page="echecs"] .chess-profile-choices button:hover { border-color: #35604f; background: #edf3ee; }
body[data-tool-page="echecs"] .chess-profile-choices button[aria-pressed="true"] { color: #fff; border-color: #264b3c; background: #264b3c; box-shadow: 0 6px 18px #254a3c1a; }
body[data-tool-page="echecs"] .chess-profile-panel { display: grid; grid-template-columns: 1.2fr 1fr; gap: 26px; padding: 28px; border: 1px solid #d6dfd4; border-radius: 20px; background: #f2f6ee; }
body[data-tool-page="echecs"] .chess-profile-panel + .chess-profile-panel { margin-top: 18px; }
body[data-tool-page="echecs"] [data-chess-profiles][data-ready] .chess-profile-panel { margin-top: 0; }
body[data-tool-page="echecs"] .chess-profile-kicker { margin: 0 0 10px; color: #416350; font-size: .75rem; font-weight: 600; }
body[data-tool-page="echecs"] .chess-profile-copy h3 { margin: 0; color: #183d31; font-size: 1.5rem; line-height: 1.25; letter-spacing: -.03em; }
body[data-tool-page="echecs"] .chess-profile-copy > p:not(.chess-profile-kicker) { margin: 14px 0 0; color: #42574e; font-size: .87rem; line-height: 1.75; }
body[data-tool-page="echecs"] .chess-setting-chips { display: flex; flex-wrap: wrap; gap: 7px; margin: 20px 0; padding: 0; list-style: none; }
body[data-tool-page="echecs"] .chess-setting-chips li { padding: 6px 10px; border: 1px solid #c9d5c8; border-radius: 8px; background: #fffdf9; color: #355644; font-size: .72rem; line-height: 1.4; }
body[data-tool-page="echecs"] .chess-profile-copy a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #254e3d; font-size: .8rem; font-weight: 600; text-underline-offset: 4px; }
body[data-tool-page="echecs"] .chess-profile-route { display: grid; align-content: start; gap: 17px; margin: 0; padding: 22px; border-radius: 14px; background: #fffdf9; list-style: none; }
body[data-tool-page="echecs"] .chess-profile-route li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 12px; align-items: start; }
body[data-tool-page="echecs"] .chess-profile-route li > span { display: grid; place-items: center; width: 30px; height: 30px; border: 1px solid #cdd6c9; border-radius: 50%; color: #45624f; font-size: .74rem; font-weight: 600; }
body[data-tool-page="echecs"] .chess-profile-route strong { display: block; color: #244234; font-size: .81rem; line-height: 1.45; }
body[data-tool-page="echecs"] .chess-profile-route p { margin: 4px 0 0; color: #516054; font-size: .75rem; line-height: 1.65; }
body[data-tool-page="echecs"] .chess-explorer-note { margin: 17px 0 0; color: #586859; font-size: .77rem; line-height: 1.65; }
body[data-tool-page="echecs"] .chess-story-controls { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 24px 0 22px; }
body[data-tool-page="echecs"] .chess-story-controls button { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 9px; border: 1px solid #d2c3af; border-radius: 10px; color: #644c32; background: #fffdf9; font: inherit; font-size: .75rem; line-height: 1.4; cursor: pointer; }
body[data-tool-page="echecs"] .chess-story-controls button > span { font-weight: 700; }
body[data-tool-page="echecs"] .chess-story-controls button[aria-pressed="true"] { border-color: #9f5d1f; color: #fff; background: #8b4e1b; }
body[data-tool-page="echecs"] .chess-story-controls button:hover:not([aria-pressed="true"]) { background: #f5ebdb; }
body[data-tool-page="echecs"] .chess-story-stage { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.1fr); align-items: center; gap: 32px; }
body[data-tool-page="echecs"] .chess-story-stage + .chess-story-stage { margin-top: 32px; padding-top: 32px; border-top: 1px solid #ded6c8; }
body[data-tool-page="echecs"] [data-chess-story][data-ready] .chess-story-stage { margin-top: 0; padding-top: 0; border-top: 0; }
body[data-tool-page="echecs"] .chess-story-stage figure { max-width: 456px; width: 100%; margin: 0; }
body[data-tool-page="echecs"] .chess-story-board { display: block; width: 100%; height: auto; aspect-ratio: 1; }
body[data-tool-page="echecs"] .chess-board-frame { fill: #294b40; }
body[data-tool-page="echecs"] .chess-board-cell.is-light { fill: #f5f0e1; }
body[data-tool-page="echecs"] .chess-board-cell.is-dark { fill: #a4bda9; }
body[data-tool-page="echecs"] .chess-board-focus { fill: #f3b35b33; stroke: #a3551b; stroke-width: 2.5px; }
body[data-tool-page="echecs"] .chess-board-coordinate { fill: #fff9ed; font: 13px "Arial", sans-serif; text-anchor: middle; }
body[data-tool-page="echecs"] .chess-board-piece { font: 43px "DejaVu Sans", "Arial Unicode MS", "Times New Roman", serif; text-anchor: middle; paint-order: stroke fill; }
body[data-tool-page="echecs"] .chess-board-piece.is-white { fill: #fffdf7; stroke: #193c32; stroke-width: 1.5px; }
body[data-tool-page="echecs"] .chess-board-piece.is-black { fill: #172e26; stroke: #f5f0e1; stroke-width: .4px; }
body[data-tool-page="echecs"] .chess-board-arrow { stroke: #a64b24; stroke-width: 4px; stroke-linecap: round; }
body[data-tool-page="echecs"] .chess-board-arrow-head { fill: #a64b24; }
body[data-tool-page="echecs"] .chess-story-stage figcaption { padding: 12px 2px 0; color: #405b4e; font-size: .82rem; font-weight: 600; line-height: 1.5; }
body[data-tool-page="echecs"] .chess-story-stage figcaption small { display: block; margin-top: 3px; color: #5e685f; font-size: .7rem; font-weight: 400; }
body[data-tool-page="echecs"] .chess-story-index { margin: 0 0 12px; color: #97612d; font-size: .74rem; font-weight: 600; }
body[data-tool-page="echecs"] .chess-story-copy h3 { margin: 0; color: var(--catalog-navy); font-size: 1.8rem; line-height: 1.25; letter-spacing: -.035em; }
body[data-tool-page="echecs"] .chess-story-copy > p:not(.chess-story-index) { margin: 18px 0; color: #43564e; font-size: .89rem; line-height: 1.8; }
body[data-tool-page="echecs"] .chess-story-lesson { margin-top: 22px; padding: 18px; border-left: 3px solid #987437; border-radius: 0 12px 12px 0; background: #f6eddd; }
body[data-tool-page="echecs"] .chess-story-lesson strong { color: #785223; font-size: .78rem; }
body[data-tool-page="echecs"] .chess-story-lesson p { margin: 8px 0 0; color: #594f3c; font-size: .83rem; line-height: 1.65; }
body[data-tool-page="echecs"] .chess-story-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
body[data-tool-page="echecs"] .chess-story-footer p { margin: 0; color: #596255; font-size: .76rem; }
body[data-tool-page="echecs"] .chess-story-footer > div { display: flex; gap: 8px; }
body[data-tool-page="echecs"] .chess-story-footer button { min-height: 44px; padding: 9px 14px; border: 1px solid #c5cabc; border-radius: 10px; background: #fffdf9; color: #27483a; font: inherit; font-size: .78rem; font-weight: 600; cursor: pointer; }
body[data-tool-page="echecs"] .chess-story-footer button:last-child { border-color: #315645; background: #315645; color: #fff; }
body[data-tool-page="echecs"] .chess-story-footer button:disabled { opacity: .45; cursor: default; }
body[data-tool-page="echecs"] .chess-story-continuation { display: grid; grid-template-columns: 42px minmax(0, 1fr) auto; align-items: center; gap: 18px; margin: 28px 0 0; padding: 22px; border-radius: 16px; color: #fffdf3; background: #23483a; }
body[data-tool-page="echecs"] .chess-story-continuation > span { font-size: 2.8rem; line-height: 1; }
body[data-tool-page="echecs"] .chess-story-continuation h3 { margin: 0; font-size: 1.03rem; line-height: 1.4; color: inherit; }
body[data-tool-page="echecs"] .chess-story-continuation p { margin: 8px 0 0; color: #e2ebe0; font-size: .78rem; line-height: 1.7; }
body[data-tool-page="echecs"] .chess-story-continuation a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; color: #fff6d7; font-size: .78rem; font-weight: 600; text-underline-offset: 4px; }
body[data-tool-page="echecs"] .chess-story-source { margin: 14px 0 0; color: #566353; font-size: .68rem; line-height: 1.7; }
body[data-tool-page="echecs"] .chess-story-source a { color: #365644; text-underline-offset: 3px; }
body[data-tool-page="echecs"] .tool-access-comparison { padding: 30px; border: 1px solid #d7c9b4; border-radius: 24px; color: var(--catalog-navy); background: #fffdf9; box-shadow: 0 18px 48px #3c271414; }
body[data-tool-page="echecs"] .tool-access-heading { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 14px 26px; }
body[data-tool-page="echecs"] .tool-access-heading .catalog-eyebrow { color: #935521; }
body[data-tool-page="echecs"] .tool-access-heading h2 { color: var(--catalog-navy); font-size: clamp(1.8rem, 2.8vw, 2.5rem); line-height: 1.2; }
body[data-tool-page="echecs"] .tool-access-heading > p:last-child { color: #495d50; }
body[data-tool-page="echecs"] .tool-access-card--public { background: #f3f0e9; border-color: #ded5c5; }
body[data-tool-page="echecs"] .tool-access-card--public > span { color: #574d3b; background: #e5dfd2; text-transform: none; letter-spacing: .01em; }
body[data-tool-page="echecs"] .tool-access-card--public :is(h3, li) { color: #304b3d; }
body[data-tool-page="echecs"] .tool-access-card--public li i { color: #33513f; background: #dedfcf; }
body[data-tool-page="echecs"] .tool-access-card--subscriber { color: #fff; background: #23483a; border-color: #23483a; }
body[data-tool-page="echecs"] .tool-access-card--subscriber :is(h3, li, li i),
body[data-tool-page="echecs"] .tool-access-card--subscriber > span { color: #fff8e9; }
body[data-tool-page="echecs"] .tool-access-card--subscriber > span { text-transform: none; letter-spacing: .01em; }
body[data-tool-page="echecs"] .tool-access-actions > a:not(.catalog-button) { display: inline-flex; align-items: center; min-height: 44px; color: #36563f; }
body[data-tool-page="echecs"] .tool-access-actions > a:not(.catalog-button):is(:hover, :focus-visible) { color: #193d2b; }
body[data-tool-page="echecs"] .chess-question-list { margin-top: 20px; }
body[data-tool-page="echecs"] .chess-question-list details { border-bottom: 1px solid #d9cebd; }
body[data-tool-page="echecs"] .chess-question-list summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 16px 4px; color: #263f35; font-size: .88rem; font-weight: 600; line-height: 1.55; cursor: pointer; list-style: none; }
body[data-tool-page="echecs"] .chess-question-list summary::-webkit-details-marker { display: none; }
body[data-tool-page="echecs"] .chess-question-list summary > span { flex: 0 0 24px; font-size: 1.5rem; font-weight: 400; text-align: center; }
body[data-tool-page="echecs"] .chess-question-list details[open] summary > span { transform: rotate(45deg); }
body[data-tool-page="echecs"] .chess-question-list p { max-width: 850px; margin: 0 0 22px; color: #495a50; font-size: .86rem; line-height: 1.8; }
body[data-tool-page="echecs"] .chess-questions-action { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; margin-top: 18px; color: #33503f; font-size: .83rem; font-weight: 600; text-underline-offset: 4px; }
@media (max-width: 1200px) {
  body[data-tool-page="echecs"] .chess-discovery-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-tool-page="echecs"] .chess-profile-choices { gap: 8px; }
  body[data-tool-page="echecs"] .chess-profile-choices button { display: block; padding: 14px; }
  body[data-tool-page="echecs"] .chess-profile-choices button > span:first-child { display: block; margin-bottom: 8px; text-align: left; }
  body[data-tool-page="echecs"] :is(.chess-profile-panel, .chess-story-stage) { grid-template-columns: 1fr; }
  body[data-tool-page="echecs"] .chess-story-stage figure { max-width: 420px; }
  body[data-tool-page="echecs"] .chess-story-continuation { grid-template-columns: 32px minmax(0, 1fr); }
  body[data-tool-page="echecs"] .chess-story-continuation a { grid-column: 2; }
  body[data-tool-page="echecs"] .chess-story-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body[data-tool-page="echecs"] .tool-access-heading { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 900px) {
  body[data-tool-page="echecs"] .tool-hero-actions--featured { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  body[data-tool-page="echecs"] .chess-discovery-bar { padding: 22px 18px 12px; }
  body[data-tool-page="echecs"] .chess-profile-choices { grid-template-columns: 1fr; }
  body[data-tool-page="echecs"] .chess-profile-choices button { display: flex; min-height: 70px; padding: 12px 16px; }
  body[data-tool-page="echecs"] .chess-profile-choices button > span:first-child { margin-bottom: 0; text-align: center; }
  body[data-tool-page="echecs"] .chess-profile-panel { padding: 20px; gap: 20px; }
  body[data-tool-page="echecs"] .chess-profile-route { padding: 18px; }
  body[data-tool-page="echecs"] .chess-story-stage { gap: 22px; }
  body[data-tool-page="echecs"] .chess-story-copy h3 { font-size: 1.5rem; }
  body[data-tool-page="echecs"] .chess-story-continuation { padding: 20px 16px; gap: 10px; }
  body[data-tool-page="echecs"] .chess-story-continuation > span { font-size: 2rem; }
  body[data-tool-page="echecs"] .tool-access-comparison { padding: 24px 20px; }
}
@media (prefers-reduced-motion: reduce) {
  body[data-tool-page="echecs"] :is(.chess-discovery-nav a, .chess-question-list summary) { transition: none; scroll-behavior: auto; }
}
@media (max-width: 576px) {
  body[data-tool-page="echecs"] :is(.chess-explorer, .chess-story, #abonnement, .chess-questions, #demonstration, #parcours, #captures) { scroll-margin-top: 76px; }
}
@media (forced-colors: active) {
  body[data-tool-page="echecs"] :is(.chess-discovery-bar, .chess-profile-panel, .chess-profile-route, .chess-story-lesson, .chess-story-continuation, .tool-access-comparison, .tool-access-card) { color: CanvasText; background: Canvas; border: 1px solid CanvasText; box-shadow: none; }
  body[data-tool-page="echecs"] :is(.chess-profile-choices, .chess-story-controls) button[aria-pressed="true"] { outline: 2px solid Highlight; outline-offset: -4px; }
  body[data-tool-page="echecs"] .chess-board-cell.is-light { fill: Canvas; }
  body[data-tool-page="echecs"] .chess-board-cell.is-dark { fill: ButtonFace; stroke: CanvasText; }
  body[data-tool-page="echecs"] .chess-board-frame { fill: CanvasText; }
  body[data-tool-page="echecs"] .chess-board-coordinate { fill: Canvas; }
  body[data-tool-page="echecs"] .chess-board-piece.is-white { fill: Canvas; stroke: CanvasText; stroke-width: 1.8px; }
  body[data-tool-page="echecs"] .chess-board-piece.is-black { fill: CanvasText; stroke: Canvas; stroke-width: .4px; }
  body[data-tool-page="echecs"] .chess-board-focus { fill: none; stroke: Highlight; }
  body[data-tool-page="echecs"] .chess-board-arrow { stroke: LinkText; }
  body[data-tool-page="echecs"] .chess-board-arrow-head { fill: LinkText; }
}
@media print {
  body[data-tool-page="echecs"] :is(.chess-discovery-nav, .chess-profile-choices, .chess-story-controls, .chess-story-footer) { display: none; }
  body[data-tool-page="echecs"] :is([data-chess-profile-panel], [data-chess-stage-panel])[hidden] { display: grid !important; }
  body[data-tool-page="echecs"] :is(.chess-discovery-bar, .chess-profile-panel, .chess-story-stage) { break-inside: avoid; }
}
