.sc-cw-wrap        { font-family:Georgia,'Times New Roman',serif; color:#18120a; width:100%; box-sizing:border-box; }
      .sc-cw-header      { text-align:center; margin-bottom:16px; }
      .sc-cw-eyebrow     { font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:#b5271e; font-weight:600; margin-bottom:6px; }
      .sc-cw-title       { font-size:clamp(1.6rem,4vw,2.6rem); font-weight:700; line-height:1.1; margin:0; }
      .sc-cw-subtitle    { font-size:.85rem; color:#666; margin-top:6px; }
      .sc-cw-rule        { width:80px; height:2px; background:#9a7a1a; margin:14px auto 0; opacity:.7; }
      .sc-cw-section     { margin-bottom:36px; }
      .sc-cw-sec-title   { font-size:1rem; font-weight:700; display:flex; align-items:center; gap:8px; padding-bottom:6px; border-bottom:2px solid #18120a; margin-bottom:16px; }
      .sc-cw-sec-num     { font-size:.65rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:#b5271e; border:1.5px solid #b5271e; padding:1px 6px; border-radius:2px; }
      .sc-cw-grid-wrap   { overflow-x:auto; display:flex; justify-content:center; width:100%; }
      .sc-cw-grid        { display:inline-grid; gap:2px; background:#18120a; border:2px solid #18120a; box-shadow:5px 5px 0 #9a7a1a; }
      .sc-cw-cell        { width:var(--cw-cell,32px); height:var(--cw-cell,32px); background:#18120a; position:relative; }
      .sc-cw-cell.white  { background:#fff; }
      .sc-cw-cell.active { background:#fef3c7; }
      .sc-cw-cell.word-hl{ background:#fde68a; }
      .sc-cw-cell.longpress-active { background:#fbbf24 !important; transition:background .1s; }
      .sc-cw-cell-num    { position:absolute; top:2px; left:2px; font-size:7px; font-weight:700; color:#b5271e; line-height:1; z-index:2; pointer-events:none; }
      .sc-cw-cell-input  { position:absolute; inset:0; width:100%; height:100%; border:none; background:transparent;
                           text-align:center; font-family:Georgia,serif; font-size:.88rem; font-weight:700;
                           text-transform:uppercase; color:#18120a; caret-color:transparent; outline:none; padding:0; cursor:pointer; }
      .sc-cw-cell-input.correct { color:#15803d; }
      .sc-cw-cell-input.wrong   { color:#b91c1c; background:#fee2e2; }
      .sc-cw-cell-letter { position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
                           font-family:Georgia,serif; font-size:.88rem; font-weight:700; color:#18120a;
                           text-transform:uppercase; pointer-events:none; opacity:0; transition:opacity .3s; }
      .sc-cw-wrap.revealed .sc-cw-cell-letter { opacity:1; }
      .sc-cw-wrap.revealed .sc-cw-cell.white  { background:#f0e8cc; }
      .sc-cw-wrap.revealed .sc-cw-cell-input  { opacity:0; pointer-events:none; }
      .sc-cw-defs-cols   { display:grid; grid-template-columns:1fr 1fr; gap:16px 32px; }
      @media(max-width:560px){ .sc-cw-defs-cols { grid-template-columns:1fr; } }
      .sc-cw-dir-head    { font-size:.72rem; font-weight:600; letter-spacing:.14em; text-transform:uppercase;
                           color:#b5271e; margin-bottom:8px; padding-bottom:4px; border-bottom:1px solid rgba(181,39,30,.25); }
      .sc-cw-def         { display:flex; gap:6px; font-size:.83rem; line-height:1.5; margin-bottom:7px; cursor:pointer;
                           border-radius:3px; padding:2px 4px; transition:background .15s; }
      .sc-cw-def:hover   { background:#f7f0e0; }
      .sc-cw-def.active  { background:#fde68a; }
      .sc-cw-def-num     { font-weight:700; color:#b5271e; min-width:24px; flex-shrink:0; }
      .sc-cw-def-txt     { color:#2a1e0a; }
      .sc-cw-actions     { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:16px; }
      .sc-cw-btn         { font-family:Georgia,serif; font-size:.78rem; font-weight:600; letter-spacing:.08em;
                           text-transform:uppercase; color:#fff; background:#18120a; border:none;
                           padding:8px 16px; cursor:pointer; box-shadow:3px 3px 0 #b5271e; transition:box-shadow .15s,transform .1s; }
      .sc-cw-btn:hover   { box-shadow:4px 4px 0 #b5271e; transform:translate(-1px,-1px); }
      .sc-cw-btn:active  { box-shadow:1px 1px 0 #b5271e; transform:translate(1px,1px); }
      .sc-cw-btn.secondary { background:#555; box-shadow:3px 3px 0 #999; }
      .sc-cw-btn.secondary:hover { box-shadow:4px 4px 0 #999; }
      .sc-cw-status      { font-size:.78rem; color:#888; font-style:italic; }
      .sc-cw-ans-grid    { display:grid; grid-template-columns:repeat(auto-fill,minmax(185px,1fr)); gap:5px 16px; }
      .sc-cw-ans-item    { display:flex; gap:7px; font-size:.83rem; padding:3px 0; border-bottom:1px dotted #ccc; align-items:baseline; }
      .sc-cw-ans-dir     { font-weight:700; color:#b5271e; min-width:28px; flex-shrink:0; }
      .sc-cw-ans-word    { font-weight:700; letter-spacing:.04em; }
      .sc-cw-ctx         { position:fixed; z-index:99999; background:#fff; border:1px solid #ddd;
                           border-radius:6px; box-shadow:0 8px 24px rgba(0,0,0,.18); min-width:220px; max-width:280px;
                           padding:4px 0; font-family:Georgia,serif; overflow:hidden; }
      .sc-cw-ctx-header  { padding:6px 14px 4px; font-size:.68rem; font-weight:700; letter-spacing:.12em;
                           text-transform:uppercase; color:#b5271e; border-bottom:1px solid #f0e8cc; }
      .sc-cw-ctx-def     { padding:8px 14px 10px; font-size:.82rem; color:#444; font-style:italic;
                           line-height:1.45; border-bottom:1px solid #f0e8cc; }
      .sc-cw-ctx-item    { display:flex; align-items:center; gap:10px; padding:9px 14px;
                           font-size:.85rem; color:#18120a; cursor:pointer; transition:background .12s; }
      .sc-cw-ctx-item:hover  { background:#fef3c7; }
      .sc-cw-ctx-item:active { background:#fde68a; }
      .sc-cw-ctx-icon    { font-size:.9rem; width:18px; text-align:center; flex-shrink:0; opacity:.8; }
      .sc-cw-ctx-sep     { height:1px; background:#eee; margin:3px 0; }
      .sc-cw-ctx-item.danger      { color:#b91c1c; }
      .sc-cw-ctx-item.danger:hover { background:#fee2e2; }
      .sc-cw-ctx-hints-head { padding:5px 14px 3px; font-size:.68rem; font-weight:700; letter-spacing:.1em;
                              text-transform:uppercase; color:#888; border-top:1px solid #eee; }
      .sc-cw-ctx-hints   { display:flex; border-top:1px solid #eee; }
      .sc-cw-ctx-hint    { flex:1; text-align:center; padding:10px 4px 8px; cursor:pointer;
                           transition:background .12s; border-right:1px solid #eee; }
      .sc-cw-ctx-hint:last-child { border-right:none; }
      .sc-cw-ctx-hint:hover  { background:#fef3c7; }
      .sc-cw-ctx-hint:active { background:#fde68a; }
      .sc-cw-ctx-hint-n  { display:block; font-size:1.1rem; font-weight:700; color:#b5271e; line-height:1; }
      .sc-cw-ctx-hint-l  { display:block; font-size:.66rem; color:#999; letter-spacing:.04em; margin-top:2px; }

/* --- Section SEO statique --- */
.sc-cw-seo {
    margin: 0 0 32px 0;
}
.sc-cw-seo h2 {
    font-size: 1.2rem;
    font-weight: 700;
    margin-bottom: 16px;
}
.sc-cw-seo-cols {
    display: flex;
    gap: 32px;
    flex-wrap: wrap;
}
.sc-cw-seo-col {
    flex: 1;
    min-width: 220px;
}
.sc-cw-seo-col h3 {
    font-size: 1rem;
    font-weight: 600;
    border-bottom: 2px solid #18120a;
    padding-bottom: 4px;
    margin-bottom: 10px;
}
.sc-cw-seo-col ol {
    margin: 0;
    padding-left: 20px;
    line-height: 1.7;
}
.sc-cw-seo-col li {
    font-size: .92rem;
}
.sc-cw-seo-col li strong {
    color: #b5271e;
}
/* Masquée quand la grille JS est chargée */
.sc-cw-seo.is-hidden {
    position: absolute;
    left: -9999px;
    height: 1px;
    overflow: hidden;
}

/* --- Header 3 lignes --- */
.sc-cw-theme-general {
    font-size: .85rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    color: #9a7a1a;
    font-weight: 600;
    margin: 4px 0 8px;
}
