/* Feuille de style du moteur de mots croisés - pour-enfants.fr - Claude Marc */

/* ----- Page (body class="mc") ----- */
body.mc{margin:0;padding:10px;background:#fff;color:#000;font:16px/1.55 Verdana,Arial,Helvetica,sans-serif;-webkit-text-size-adjust:100%}
.mc *,.mc *::before,.mc *::after,.mc-jeu,.mc-jeu *{box-sizing:border-box}
.mc a{color:#f00}.mc a:visited{color:#009}.mc a:hover{color:#000}.mc a:active{color:#f90}
.mc-cadre{max-width:720px;margin:0 auto}
.mc h1{font-size:1.5rem;line-height:1.25;color:var(--titre,#f00);text-align:center;margin:.4em 0 .8em}
.mc h2{font-size:1.15rem;line-height:1.3;margin:1.4em 0 .5em}
.mc h3{font-size:1rem;margin:1.2em 0 .3em}
.mc .pied{text-align:center;font-size:.9rem;margin:2em 0 1em}
.mc-page{display:flex;flex-direction:column}
.mc-aide{margin:.6em 0}
.mc-aide summary{cursor:pointer;font-weight:bold}
.mc-vocab{margin:1.2em 0}
.mc-vocab li{margin:.2em 0}
.mc-solution{margin:.8em auto;text-align:center}
.mc-solution img{max-width:100%;height:auto;display:block;margin:0 auto}
.mc-solution figcaption{font-size:.9em;color:#555;margin-top:.3em}
.mc-fil{font-size:.9em;margin:0 0 .6em;color:#555}
.mc-fil a{color:#1a4fa0}
.mc-pied-impr{display:none}

/* ----- Le jeu ----- */
.mc-jeu{display:block}
.mc-def{line-height:1.4;min-height:calc(3*1.4em + 1em);margin:.5em 0;padding:.5em .8em;background:#fff3b0;border-left:5px solid #f00;font-weight:bold}
.mc-zone{margin:.8em 0}
.mc-grille{--c:34px;--f:20px;--nb:9px;--t-fond:#1f5a3f;--t-bord:#c92a3a;isolation:isolate;--k-trait:var(--trait,var(--t-trait,#9bb5a8));--k-epais:var(--epais,var(--t-epais,2px));--k-case:var(--case,var(--t-case,#fff));--k-mot:var(--mot,var(--t-mot,#fff3b0));--k-cur:var(--cur,var(--t-cur,#ffc83d));--k-curbord:var(--curbord,var(--t-curbord,#e00000));--k-curl:var(--curl,var(--t-curl,0px));--k-num:var(--num,var(--t-num,#555));--k-ombre:var(--ombre,var(--t-ombre,0px));display:grid;grid-template-columns:repeat(var(--cols),var(--c));grid-auto-rows:var(--c);width:max-content;max-width:100%;margin:0 auto;background-color:var(--fond,var(--t-fond));border:var(--cadre,var(--t-cadre,3px)) solid var(--bord,var(--t-bord));border-radius:4px;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.mc-bloc{background:transparent}
.mc-case{position:relative;background:var(--k-case);outline:var(--k-epais) solid var(--k-trait);outline-offset:calc(var(--k-epais) / -2)}
.mc-case::before{content:"";position:absolute;left:0;top:0;right:0;bottom:0;transform:translate(var(--k-ombre),var(--k-ombre));background:rgba(0,0,0,.4);z-index:-1;pointer-events:none}
.mc-case input{display:block;width:100%;height:100%;margin:0;padding:0;border:0;border-radius:0;background:transparent;text-align:center;text-transform:uppercase;font:bold var(--f) Verdana,Arial,sans-serif;color:#000;caret-color:transparent;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}
.mc-case input:focus{outline:none}
.mc-num{position:absolute;top:0;left:1px;font:var(--nb)/1 Verdana,Arial,sans-serif;color:var(--k-num);pointer-events:none}
.mc-case.mot{background:var(--k-mot)}
.mc-case.cur{background:var(--k-cur);box-shadow:inset 0 0 0 var(--k-curl) var(--k-curbord)}
.mc-case.faux{background:#ffd9d9}
.mc-case.faux input{color:#d00}
.mc-case.revele input{color:#0a5}
.mc-msg{min-height:1.6em;text-align:center;font-weight:bold;margin:.4em 0}
.mc-msg.ok{color:#080}
.mc-outils{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:1em 0}
.mc-outils button{min-height:44px;padding:.4em 1em;font:inherit;font-size:.95rem;background:#fff;border:2px solid #f00;border-radius:6px;cursor:pointer;color:#000}
.mc-outils button:hover{background:#ffeaea}
.mc-clavier{display:none}
.mc-groupes{display:grid;grid-template-columns:1fr;gap:0 24px}
.mc-groupes ol{padding-left:2.2em;margin:.3em 0}
.mc-groupes li{margin:.35em 0;cursor:pointer}
.mc-groupes li:hover{background:#fff3b0}
.mc-liste{margin:.3em 0}
@media (min-width:700px){.mc-groupes{grid-template-columns:1fr 1fr}}

/* ----- Fonds de la grille ----- */
.mc-jeu[data-fond="noel"] .mc-grille{--t-fond:#1f5a3f;--t-bord:#c92a3a;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E %3Cg stroke='%23fff' stroke-opacity='.22' stroke-width='2' stroke-linecap='round' fill='none'%3E %3Cg transform='translate(18 18)'%3E%3Cpath d='M0 -8V8M-7 -4L7 4M-7 4L7 -4'/%3E%3C/g%3E %3Cg transform='translate(54 52)'%3E%3Cpath d='M0 -6V6M-5 -3L5 3M-5 3L5 -3'/%3E%3C/g%3E%3C/g%3E %3Cpolygon points='54,10 56,16 62,16 57,20 59,26 54,22 49,26 51,20 46,16 52,16' fill='%23f6c23e' fill-opacity='.35'/%3E %3Ccircle cx='14' cy='56' r='2.5' fill='%23fff' fill-opacity='.2'/%3E%3Ccircle cx='36' cy='36' r='1.8' fill='%23fff' fill-opacity='.18'/%3E%3C/svg%3E");background-repeat:repeat}
.mc-jeu[data-fond="halloween"] .mc-grille{--t-fond:#35204a;--t-bord:#ff7a00;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E %3Cpolygon points='18,14 20,20 26,20 21,24 23,30 18,26 13,30 15,24 10,20 16,20' fill='%23ff9a2e' fill-opacity='.30'/%3E %3Cg fill='%23fff' fill-opacity='.20'%3E%3Ccircle cx='52' cy='16' r='2.5'/%3E%3Ccircle cx='36' cy='44' r='2'/%3E%3Ccircle cx='60' cy='58' r='3'/%3E%3C/g%3E %3Cpath d='M14 54 q4 -6 8 0 q4 -6 8 0 q-4 3 -8 2 q-4 1 -8 -2z' fill='%23fff' fill-opacity='.14'/%3E%3C/svg%3E");background-repeat:repeat}
.mc-jeu[data-fond="neutre"] .mc-grille{--t-fond:#2f4f4f;--t-bord:#1d3333}
.mc-jeu[data-fond="classique"] .mc-grille{--t-fond:#e4e4e4;--t-bord:#000;--t-cadre:0px;--t-trait:#000;--t-epais:1px;--t-case:#fff;--t-mot:#ffff66;--t-cur:#fff;--t-curbord:#e00000;--t-curl:3px;--t-num:#000;--t-ombre:3px}
.mc-jeu[data-decor="non"] .mc-grille{background-image:none!important}

/* ----- Clavier à l'écran (téléphone, tablette) ----- */
@media (max-width:700px),(pointer:coarse){
.mc-jeu{touch-action:manipulation}
.mc-clavier{display:block;padding:4px 3px 6px;background:#e4ece6;border-top:1px solid #9bb5a8}
.mc-rangee{display:flex;gap:4px;justify-content:center;margin-bottom:4px}
.mc-rangee:last-child{margin-bottom:0}
.mc-clavier button{flex:1 1 0;max-width:40px;height:42px;padding:0;border:1px solid #9bb5a8;border-radius:6px;background:#fff;font:bold 18px Verdana,Arial,sans-serif;color:#000;-webkit-user-select:none;user-select:none}
.mc-clavier button:active{background:#ffc83d}
.mc-clavier .eff{flex:1.6 1 0;max-width:64px;font-size:20px}
}

/* ----- Téléphone : jeu plein écran, fixe ----- */
@media (max-width:700px){
body.mc{padding:0}
.mc-page>*:not(.mc-jeu){margin-left:12px;margin-right:12px}
.mc-jeu{order:-1;display:flex;flex-direction:column;height:min(100vh,880px);height:min(var(--mc-vh,100dvh),880px);background:#fff;margin-bottom:1em;border-bottom:3px solid #1f5a3f}
.mc-jeu .mc-def{flex:none;margin:0;height:calc(3*1.3em + .9em);min-height:0;overflow:hidden;padding:.45em .7em;font-size:.88rem;line-height:1.3;border-left-width:4px}
.mc-jeu .mc-zone{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;margin:0;padding:4px}
.mc-jeu .mc-msg{flex:none;margin:0 6px;height:1.6em;line-height:1.6em;overflow:hidden;white-space:nowrap;font-size:.9rem}
.mc-jeu .mc-outils{flex:none;margin:4px 6px 6px;gap:6px}
.mc-jeu .mc-outils button{min-height:40px;padding:.1em .6em;font-size:.82rem}
.mc-imp{display:none}
.mc h1{font-size:1.3rem}
}

/* ----- Plein écran (bouton « Plein écran », surtout utile sur ordinateur) ----- */
html.mc-plein-actif{overflow:hidden}
.mc-jeu.mc-plein{position:fixed;left:0;top:0;right:0;z-index:99999;height:100vh;height:var(--mc-vh,100dvh);display:flex;flex-direction:column;background:#fff;margin:0;border:0}
.mc-plein .mc-def{flex:none;align-self:center;width:100%;max-width:900px;margin:0 0 12px;height:calc(3*1.3em + .9em);min-height:0;overflow:hidden;padding:.45em .7em;line-height:1.3}
.mc-plein .mc-zone{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center;margin:0;padding:4px}
.mc-plein .mc-msg{flex:none;margin:0 6px;height:1.6em;line-height:1.6em;overflow:hidden;white-space:nowrap}
.mc-plein .mc-outils{flex:none;margin:4px 6px 8px}
@media (max-width:700px){.mc-plein-btn{display:none!important}}

/* ----- Impression : titre, grille, définitions, adresse -----
   Les lettres écrites dans la grille (ou affichées par « Solution ») sont imprimées ;
   une case vide reste vide.
   Les valeurs --p-... (marges, couleurs, tailles) peuvent être réglées dans le générateur ;
   sans réglage, les valeurs après la virgule s'appliquent. */
@media print{
@page{margin:12mm}
body.mc{padding:0!important;background:#fff!important}
.mc-page{display:block!important}
.mc-page>*:not(h1):not(.mc-jeu):not(.mc-definitions){display:none!important}
.mc-def,.mc-msg,.mc-outils,.mc-clavier,.mc .pied{display:none!important}
.mc-pied-impr{display:block!important;position:static;text-align:center;font-size:10pt;margin:14pt var(--p-mp,0mm) 0}
.mc-pied-impr a{color:#000!important;text-decoration:none}
.mc h1{font-size:var(--p-titre,18pt);margin:0 var(--p-mt,0mm) var(--p-esp,8pt)}
.mc-jeu,.mc-jeu.mc-plein{display:block!important;position:static!important;height:auto!important;border:0!important;margin:0!important;break-inside:avoid}
.mc-zone{display:block!important;overflow:visible!important;padding:0!important;margin:0 var(--p-mg,0mm) var(--p-esp,10pt)!important}
.mc-grille{--c:min(var(--p-casemax,56px),calc((var(--p-larg,690px) - 2 * var(--p-mg,0mm) - 2 * var(--p-pad,0mm)) / var(--cols)),calc((var(--p-haut,560px) - 2 * var(--p-pad,0mm)) / var(--rows)))!important;--nb:var(--p-nb,9px)!important;--f:calc(var(--c) * .55)!important;padding:var(--p-pad,0mm)!important;
--k-trait:var(--p-trait,var(--trait,var(--t-trait,#9bb5a8)))!important;--k-epais:var(--p-epais,var(--epais,var(--t-epais,2px)))!important;--k-ombre:var(--p-ombre,0px)!important;
margin:0 auto!important;background-color:var(--p-fond,#777)!important;background-image:none!important;border:var(--p-cadre,2px) solid var(--p-bord,#333)!important}
.mc-case,.mc-case.mot,.mc-case.cur,.mc-case.faux,.mc-case.revele{background:#fff!important;box-shadow:none!important}
.mc-case input,.mc-case.faux input,.mc-case.revele input{color:var(--p-lettre,#000)!important}
.mc-num{top:var(--p-numdec,0px)!important;left:var(--p-numdec,1px)!important}
.mc-definitions{margin:0 var(--p-md,0mm)}
.mc-groupes{display:grid!important;grid-template-columns:repeat(var(--p-col,2),1fr)!important;gap:0 18pt}
.mc-groupes h3{margin:6pt 0 2pt;font-size:11pt}
.mc-groupes ol{margin:0;padding-left:2em}
.mc-groupes li{cursor:auto;margin:2pt 0;font-size:var(--p-def,9.5pt);line-height:1.3;break-inside:avoid}
.mc-definitions h2{font-size:12pt;margin:8pt 0 0}
}
