
    #defi-cible-app { padding: 12px 0; }
    #defi-cible-app [hidden] { display: none !important; }
    #defi-cible-app .dc-game {
      --dc-paper: light-dark(#fffefa, #172126);
      --dc-ink: light-dark(#173744, #edf2ef);
      --dc-subtle: light-dark(#546c73, #bdccd0);
      --dc-blue: light-dark(#195c79, #a3d1e4);
      --dc-on-blue: light-dark(#ffffff, #122d38);
      --dc-green: light-dark(#237b66, #9bd2bb);
      --dc-green-soft: light-dark(#eaf4ee, #233c34);
      --dc-target-ink: light-dark(#a33551, #f5bac9);
      --dc-target-soft: light-dark(#fbe9ec, #493039);
      --dc-bank-surface: light-dark(#f3f6f3, #202e31);
      --dc-line: light-dark(#dce5df, #40565a);
      --dc-focus: light-dark(#20799b, #aedaf2);
      --dc-error: light-dark(#a13645, #f3a4ae);
      box-sizing: border-box; max-width: 736px; margin: 0 auto; padding: 26px;
      font-family: Arial, sans-serif; color: var(--dc-ink); background: var(--dc-paper);
      border: 1px solid var(--dc-line); border-radius: 18px;
      font-size: 15px; line-height: 1.45;
    }
    #defi-cible-app .dc-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
    #defi-cible-app .dc-brand { display: flex; align-items: center; gap: 12px; }
    #defi-cible-app .dc-logo { display: grid; place-items: center; width: 44px; height: 44px; color: var(--dc-green); background: var(--dc-green-soft); border-radius: 14px; flex-shrink: 0; }
    #defi-cible-app .dc-logo svg { width: 26px; height: 26px; }
    #defi-cible-app h1 { margin: 0; font-size: 30px; line-height: 1.2; font-weight: 500; letter-spacing: -.6px; }
    #defi-cible-app .dc-kicker { font-size: 11px; letter-spacing: 1.25px; color: var(--dc-subtle); margin-bottom: 5px; }
    #defi-cible-app .dc-id { color: var(--dc-blue); font-size: 13px; white-space: nowrap; }
    #defi-cible-app .dc-meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 18px; color: var(--dc-subtle); font-size: 12px; margin: 20px 0 18px; }
    #defi-cible-app h2 { font-weight: 500; font-size: 15px; margin: 0; }
    #defi-cible-app .dc-start { display: grid; grid-template-columns: minmax(0,1fr) 110px; gap: 20px; align-items: stretch; }
    #defi-cible-app .dc-bank-area { padding: 16px; border-radius: 14px; background: var(--dc-bank-surface); }
    #defi-cible-app .dc-bank { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
    #defi-cible-app .dc-number { position: relative; min-width: 57px; height: 58px; padding: 5px 10px; border: 1px solid var(--dc-line); border-radius: 11px; background: var(--dc-paper); color: var(--dc-ink); font: inherit; font-size: 25px; font-weight: 500; font-variant-numeric: tabular-nums; }
    #defi-cible-app .dc-number[aria-pressed="true"] { background: var(--dc-blue); color: var(--dc-on-blue); border-color: var(--dc-blue); }
    #defi-cible-app .dc-order { position: absolute; top: 2px; right: 6px; font-size: 11px; font-weight: 400; }
    #defi-cible-app .dc-bank-caption { margin: 11px 0 0; font-size: 12px; color: var(--dc-subtle); }
    #defi-cible-app .dc-target-area { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 9px; background: var(--dc-target-soft); color: var(--dc-target-ink); border-radius: 14px; padding: 12px; }
    #defi-cible-app .dc-target-label { font-size: 12px; }
    #defi-cible-app .dc-target { font-size: 40px; font-weight: 500; line-height: 1; font-variant-numeric: tabular-nums; }
    #defi-cible-app .dc-work { margin-top: 25px; }
    #defi-cible-app .dc-step-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px; }
    #defi-cible-app .dc-step-dots { display: flex; gap: 6px; }
    #defi-cible-app .dc-step-dots span { width: 20px; height: 4px; border-radius: 3px; background: var(--dc-line); }
    #defi-cible-app .dc-step-dots .is-done { background: var(--dc-green); }
    #defi-cible-app .dc-calculation { display: grid; grid-template-columns: 1fr 70px 1fr 24px 1fr; gap: 12px; align-items: end; }
    #defi-cible-app .dc-field-label { display: block; color: var(--dc-subtle); font-size: 12px; text-align: center; margin-bottom: 9px; }
    #defi-cible-app .dc-value, #defi-cible-app select, #defi-cible-app input { display: block; box-sizing: border-box; width: 66px; height: 66px; margin: 0 auto; border: 1px solid var(--dc-line); border-radius: 50%; background: var(--dc-paper); color: var(--dc-ink); text-align: center; font-family: inherit; font-size: 25px; font-weight: 400; font-variant-numeric: tabular-nums; }
    #defi-cible-app .dc-value { display: grid; place-items: center; }
    #defi-cible-app select { border-radius: 12px; width: 64px; padding-left: 7px; }
    #defi-cible-app select option { background: var(--dc-paper); color: var(--dc-ink); }
    #defi-cible-app input { border-color: var(--dc-blue); }
    #defi-cible-app .dc-equals { font-size: 23px; align-self: end; padding-bottom: 17px; text-align: center; }
    #defi-cible-app .dc-action-row { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 21px; }
    #defi-cible-app .dc-operation-note { color: var(--dc-subtle); margin: 0; font-size: 12px; }
    #defi-cible-app .dc-validate { border: 1px solid var(--dc-blue); border-radius: 10px; background: var(--dc-blue); color: var(--dc-on-blue); font: inherit; font-size: 13px; min-height: 42px; padding: 9px 17px; }
    #defi-cible-app .dc-validate:disabled { opacity: .45; }
    #defi-cible-app .dc-feedback { min-height: 23px; margin: 10px 0 0; font-size: 13px; color: var(--dc-green); }
    #defi-cible-app .dc-feedback.is-error { color: var(--dc-error); }
    #defi-cible-app .dc-trace { border-top: 1px solid var(--dc-line); margin-top: 14px; padding-top: 18px; }
    #defi-cible-app .dc-trace-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 8px; }
    #defi-cible-app .dc-undo { padding: 4px 0; border: 0; background: transparent; color: var(--dc-blue); font: inherit; font-size: 12px; }
    #defi-cible-app .dc-undo:disabled { color: var(--dc-subtle); opacity: .55; }
    #defi-cible-app .dc-history { list-style: none; padding: 0; margin: 11px 0 0; }
    #defi-cible-app .dc-history li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--dc-line); font-variant-numeric: tabular-nums; }
    #defi-cible-app .dc-history .dc-empty-history { color: var(--dc-subtle); font-size: 13px; border-bottom: 0; }
    #defi-cible-app .dc-history-bank { font-size: 12px; color: var(--dc-subtle); }
    #defi-cible-app .dc-rule { margin-top: 18px; color: var(--dc-subtle); font-size: 12px; }
    #defi-cible-app .dc-rule p { margin: 8px 0 0; }
    #defi-cible-app button:focus-visible, #defi-cible-app input:focus-visible, #defi-cible-app select:focus-visible, #defi-cible-app summary:focus-visible { outline: 2px solid var(--dc-focus); outline-offset: 3px; }
    @media (max-width: 500px) {
      #defi-cible-app .dc-game { padding: 18px 14px; }
      #defi-cible-app .dc-kicker { max-width: 160px; line-height: 1.5; font-size: 11px; }
      #defi-cible-app h1 { font-size: 26px; }
      #defi-cible-app .dc-logo { width: 36px; height: 40px; }
      #defi-cible-app .dc-start { grid-template-columns: minmax(0,1fr) 76px; gap: 10px; }
      #defi-cible-app .dc-bank-area { padding: 12px; }
      #defi-cible-app .dc-bank { gap: 7px; }
      #defi-cible-app .dc-number { min-width: 44px; height: 46px; font-size: 22px; }
      #defi-cible-app .dc-target-area { padding: 8px; }
      #defi-cible-app .dc-target { font-size: 34px; }
      #defi-cible-app .dc-calculation { grid-template-columns: 1fr 48px 1fr 16px 1fr; gap: 4px; }
      #defi-cible-app .dc-field-label { font-size: 11px; min-height: 30px; display: flex; align-items: end; justify-content: center; }
      #defi-cible-app .dc-value, #defi-cible-app input { width: 49px; height: 49px; font-size: 21px; }
      #defi-cible-app select { width: 45px; height: 49px; font-size: 21px; padding-left: 2px; }
      #defi-cible-app .dc-equals { padding-bottom: 10px; }
      #defi-cible-app .dc-history li { flex-wrap: wrap; gap: 4px; }
    }
  
    :root { color-scheme: light dark; }
    body { margin: 0; background: light-dark(#f5f3ed, #101a1f); color: light-dark(#173744, #edf2ef); font-family: Arial, sans-serif; }
    #defi-cible-app { box-sizing: border-box; max-width: 784px; margin: auto; padding: 22px 24px 30px; }
    #defi-cible-app .dc-navigation { max-width: 736px; margin: 0 auto 18px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; }
    #defi-cible-app .dc-home { color: light-dark(#195c79, #a3d1e4); text-decoration: none; font-size: 13px; }
    #defi-cible-app .dc-selectors { display: flex; gap: 14px; flex-wrap: wrap; }
    #defi-cible-app .dc-selectors label { display: block; font-size: 11px; color: light-dark(#546c73, #bdccd0); }
    #defi-cible-app .dc-selectors select { margin-top: 5px; width: auto; max-width: 220px; height: 36px; padding: 0 9px; font-size: 13px; border-radius: 8px; border: 1px solid light-dark(#dce5df, #40565a); background: light-dark(#fffefa, #172126); color: light-dark(#173744, #edf2ef); }
    #defi-cible-app button, #defi-cible-app summary, #defi-cible-app select { cursor: pointer; }
    #defi-cible-app button:disabled { cursor: default; }
    #defi-cible-app .dc-page-footer { margin: 18px auto 0; max-width: 736px; font-size: 12px; color: light-dark(#546c73, #bdccd0); }
    #defi-cible-app .dc-paging { display: flex; justify-content: space-between; gap: 12px; }
    #defi-cible-app .dc-paging button { font: inherit; min-height: 36px; border: 0; padding: 6px 0; background: transparent; color: light-dark(#195c79, #a3d1e4); }
    #defi-cible-app .dc-paging button:disabled { opacity: .4; }
    #defi-cible-app .dc-save-note { text-align: center; margin: 12px 0; font-size: 11px; }
    #defi-cible-app .dc-downloads { display: flex; justify-content: center; flex-wrap: wrap; gap: 22px; }
    #defi-cible-app .dc-downloads a { color: light-dark(#195c79, #a3d1e4); text-underline-offset: 3px; }
    #defi-cible-app .dc-help { margin-top: 13px; color: var(--dc-subtle); font-size: 12px; }
    #defi-cible-app .dc-help-list { padding-left: 19px; line-height: 1.7; }
    #defi-cible-app .dc-link-button { background: none; border: 0; color: var(--dc-blue); font: inherit; font-size: 12px; padding: 5px 0; }
    #defi-cible-app .dc-link-button:disabled { opacity: .45; }
    #defi-cible-app .dc-footer-actions { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; margin-top: 17px; }
    #defi-cible-app .dc-correction { margin-top: 15px; padding: 16px; border: 1px solid var(--dc-line); border-radius: 12px; background: var(--dc-bank-surface); font-size: 12px; }
    #defi-cible-app .dc-correction h3 { font-size: 13px; font-weight: 500; margin: 0; }
    #defi-cible-app .dc-correction li { margin: 8px 0; }
    #defi-cible-app .is-won .dc-target-area { background: var(--dc-green-soft); color: var(--dc-green); }
    @media (max-width: 500px) { #defi-cible-app { padding: 14px 10px 24px; } #defi-cible-app .dc-navigation { gap: 12px; } #defi-cible-app .dc-selectors { gap: 9px; } #defi-cible-app .dc-selectors select { max-width: 165px; } }
    @media print { body { background: #fff; } #defi-cible-app { max-width: none; padding: 0; } #defi-cible-app .dc-navigation, #defi-cible-app .dc-page-footer, #defi-cible-app .dc-footer-actions, #defi-cible-app .dc-undo, #defi-cible-app .dc-help { display: none; } #defi-cible-app .dc-game { border: 0; max-width: none; } }
/* Lecture confortable et sauvegarde d'une partie, sans modifier les calculs. */
#defi-cible-app .dc-game { font-size: 16px; }
#defi-cible-app h2 { font-size: 18px; }
#defi-cible-app .dc-kicker, #defi-cible-app .dc-id, #defi-cible-app .dc-meta, #defi-cible-app .dc-bank-caption, #defi-cible-app .dc-field-label, #defi-cible-app .dc-operation-note, #defi-cible-app .dc-validate, #defi-cible-app .dc-feedback, #defi-cible-app .dc-undo, #defi-cible-app .dc-history-bank, #defi-cible-app .dc-rule, #defi-cible-app .dc-help, #defi-cible-app .dc-link-button, #defi-cible-app .dc-correction, #defi-cible-app .dc-selectors label, #defi-cible-app .dc-selectors select, #defi-cible-app .dc-home, #defi-cible-app .dc-page-footer { font-size: 14px; }
#defi-cible-app .dc-number { min-width: 66px; height: 66px; font-size: 30px; }
#defi-cible-app .dc-value, #defi-cible-app #dc-result { width: 72px; height: 72px; font-size: 30px; }
#defi-cible-app #dc-operation { width: 64px; height: 72px; font-size: 28px; }
#defi-cible-app .dc-calculation { grid-template-columns: 1fr 76px 1fr 24px 1fr; }
#defi-cible-app .dc-target-label { font-size: 14px; }
#defi-cible-app .dc-target { font-size: 46px; }
#defi-cible-app .dc-order { font-size: 13px; }
#defi-cible-app .dc-selectors select { height: 40px; }
#defi-cible-app .dc-help-toggle { font-size: 15px; margin-top: 16px; padding: 9px 15px; border: 1px solid var(--dc-line); border-radius: 9px; background: var(--dc-green-soft); }
#defi-cible-app .dc-save-panel { background: light-dark(#fffefa, #172126); border: 1px solid light-dark(#dce5df, #40565a); border-radius: 14px; padding: 17px; margin-bottom: 10px; }
#defi-cible-app .dc-identity { display: flex; flex-wrap: wrap; gap: 14px; }
#defi-cible-app .dc-identity label { flex: 1 1 180px; font-size: 14px; }
#defi-cible-app .dc-identity span { font-size: 14px; }
#defi-cible-app .dc-identity input { width: 100%; height: 40px; border-radius: 8px; margin-top: 7px; border: 1px solid light-dark(#dce5df, #40565a); font-size: 16px; padding: 7px 10px; text-align: left; background: light-dark(#fffefa, #172126); color: light-dark(#173744, #edf2ef); }
#defi-cible-app .dc-save-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
#defi-cible-app .dc-save-actions button { font: inherit; border: 1px solid light-dark(#195c79, #a3d1e4); border-radius: 9px; padding: 10px 14px; background: light-dark(#195c79, #a3d1e4); color: light-dark(#fff, #122d38); }
#defi-cible-app .dc-save-actions .dc-resume-file { background: transparent; color: light-dark(#195c79, #a3d1e4); }
#defi-cible-app .dc-save-panel p, #defi-cible-app .dc-save-note { font-size: 14px; line-height: 1.5; }
@media (max-width: 500px) {
  #defi-cible-app .dc-calculation { grid-template-columns: 1fr 54px 1fr 18px 1fr; gap: 4px; }
  #defi-cible-app .dc-value, #defi-cible-app #dc-result { width: 66px; height: 66px; font-size: 28px; }
  #defi-cible-app #dc-operation { width: 54px; height: 66px; font-size: 26px; }
  #defi-cible-app .dc-field-label { min-height: 40px; }
  #defi-cible-app .dc-equals { padding-bottom: 17px; }
  #defi-cible-app .dc-number { min-width: 58px; height: 60px; font-size: 28px; }
  #defi-cible-app .dc-bank { gap: 7px; }
  #defi-cible-app .dc-start { grid-template-columns: minmax(0,1fr) 88px; }
}
@media print { #defi-cible-app .dc-help-toggle { display: none; } }
