:root{--ink:#141414;--grey:#6b6b6b;--line:#e4e4e0;--fond:#f4f4f1;--vert:#1fb86a;--rouge:#d7263d}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{height:100%}
body{margin:0;display:flex;flex-direction:column;overflow:hidden;font-family:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--fond);color:var(--ink);font-size:14px;-webkit-tap-highlight-color:transparent}
button,select,input,textarea{font:inherit;color:inherit}
button{cursor:pointer}
.haut{display:flex;align-items:center;gap:8px;padding:8px 12px;padding-top:calc(8px + env(safe-area-inset-top));background:#fff;border-bottom:1px solid var(--line)}
.logo{display:flex;align-items:center;gap:8px;margin-right:6px;color:var(--ink);font-weight:800;text-decoration:none}
.logo img{border-radius:7px}
.haut select{max-width:46vw;padding:8px 12px;border:1px solid var(--line);border-radius:999px;background:#fff}
.esp{flex:1}
.rond{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;font-size:17px}
.rond:disabled{opacity:.3}
.prin{padding:10px 18px;border:0;border-radius:999px;background:var(--ink);color:#fff;font-weight:700}
.second{padding:9px 15px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:600}
.scene{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none}
#toile{box-shadow:0 2px 16px rgba(0,0,0,.13);background:#fff;line-height:0}
#toile.damier{background:repeating-conic-gradient(#e4e4e4 0 25%,#fff 0 50%) 0 0/18px 18px}
body.vide #toile{visibility:hidden}
.accueil{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:20px;text-align:center}
.accueil h1{margin:0;font-size:26px}
.accueil p{margin:0 0 8px;color:var(--grey)}
.accueil small{max-width:320px;color:var(--grey);font-size:12.5px}
.gros{padding:16px 34px;border-radius:999px;background:var(--ink);color:#fff;font-weight:800;font-size:16px;cursor:pointer}
.travail{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:rgba(20,20,20,.86);color:#fff;font-weight:600}
.tourne{width:16px;height:16px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:tourne .8s linear infinite}
@keyframes tourne{to{transform:rotate(360deg)}}
.panneau{max-height:38vh;overflow-y:auto;padding:10px 14px 12px;background:#fff;border-top:1px solid var(--line);animation:monte .18s ease-out}
@keyframes monte{from{transform:translateY(12px)}}
.p-tete{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ferme{width:30px;height:30px;border:0;border-radius:50%;background:#f1f1ee;font-size:18px;line-height:1}
.ligne{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px 16px;margin-bottom:10px}
.reglage{display:flex;align-items:center;gap:8px;color:var(--grey);font-size:12.5px}
.reglage span{min-width:64px}
.reglage input[type=range]{flex:1;min-width:90px;accent-color:var(--vert)}
.reglage select{padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.coul input{width:34px;height:28px;padding:0;border:1px solid var(--line);border-radius:8px;background:none}
.choix{display:flex;gap:2px;padding:3px;border-radius:999px;background:#efefeb}
.choix button{padding:8px 14px;border:0;border-radius:999px;background:none;color:var(--grey);font-weight:700}
.choix button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.14)}
.aide{margin:0 0 10px;color:var(--grey);font-size:12.5px}
.pastilles button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%}
.damier-p{background:repeating-conic-gradient(#ddd 0 25%,#fff 0 50%) 0 0/12px 12px}
textarea{width:100%;margin-bottom:8px;padding:9px 11px;border:1px solid var(--line);border-radius:12px;resize:vertical}
select{padding:8px 11px;border:1px solid var(--line);border-radius:10px;background:#fff}
.modeles{display:flex;flex-wrap:wrap;gap:8px}
.modeles button{display:flex;flex-direction:column;align-items:flex-start;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff}
.modeles small{color:var(--grey);font-size:11.5px}
.danger{color:var(--rouge)}
.pied{margin:0;padding:6px;text-align:center;font-size:11px;color:var(--grey);background:#fff}
.pied a{color:var(--grey)}
body.vide .contexte{display:none}
.mesure{position:fixed;z-index:50;left:50%;bottom:18px;transform:translateX(-50%);width:min(560px,calc(100vw - 28px));padding:16px 18px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.2);font-size:13px;line-height:1.45}
.mesure h2{margin:0 0 6px;font-size:14px}
.mesure p{margin:0 0 12px;color:var(--grey)}
.mesure a{color:var(--ink)}
.mesure-choix{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.mesure-choix .btn{padding:11px 8px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:700}
@media (max-width:640px){.logo span{display:none}.logo{margin-right:0}.haut{gap:5px;padding-left:8px;padding-right:8px}.haut select{max-width:34vw;padding:7px 8px;font-size:12.5px}.rond{width:34px;height:34px}.haut .prin{padding:9px 12px;font-size:13px}.panneau{max-height:44vh}}

.corps{flex:1;min-height:0;display:flex}
.centre{flex:1;min-width:0;display:flex;flex-direction:column}
.ajouts{display:flex;flex-direction:column;gap:4px;width:84px;padding:10px 6px;background:#fff;border-right:1px solid var(--line)}
.ajouts button{padding:12px 4px;border:0;border-radius:12px;background:none;color:var(--grey);font-size:12.5px;font-weight:700}
.ajouts button:hover{background:#f3f3f0;color:var(--ink)}
.ajouts button.on{background:#eef8f2;color:#12824a}
.panneau{width:300px;max-height:none;border-top:0;border-right:1px solid var(--line);animation:none}
.contexte{display:flex;gap:6px;overflow-x:auto;padding:8px 12px;background:#fff;border-bottom:1px solid var(--line);scrollbar-width:none}
.contexte::-webkit-scrollbar{display:none}
.contexte button{flex:0 0 auto;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:700;font-size:13px}
.contexte button:first-child{border-color:var(--vert);color:#12824a}
.contexte button.on{background:var(--ink);border-color:var(--ink);color:#fff}
.styles-texte{display:flex;flex-direction:column;gap:8px}
.styles-texte button{padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}
.formes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.formes button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:11.5px;font-weight:600}
.formes i{display:block;width:34px;height:24px;font-style:normal;line-height:24px;font-size:22px}
.f-rect{background:var(--vert);border-radius:6px}.f-rond{width:26px!important;height:26px!important;border-radius:50%;background:var(--vert)}.f-badge{background:#ee3a50;clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}
body.vide .ajouts button:not([data-o=modeles]){opacity:.45}
@media (max-width:900px){
  .corps{flex-direction:column-reverse}
  .ajouts{flex-direction:row;justify-content:space-around;width:auto;padding:6px 6px calc(6px + env(safe-area-inset-bottom));border-right:0;border-top:1px solid var(--line)}
  .ajouts button{flex:1;padding:10px 2px}
  .panneau{width:auto;max-height:40vh;border-right:0;border-top:1px solid var(--line)}
  .centre{flex-direction:column-reverse}
  .contexte{border-bottom:0;border-top:1px solid var(--line)}
}

.accueil{justify-content:flex-start;padding-top:6vh;overflow-y:auto;gap:14px}
.depot{display:flex;flex-direction:column;align-items:center;gap:6px;width:min(520px,100%);padding:28px 20px;border:2px dashed #cfd8d2;border-radius:20px;background:#fff;cursor:pointer;color:var(--ink)}
.depot:hover{border-color:var(--vert);background:#f6fbf8}
.depot b{font-size:17px}.depot small{color:var(--grey)}
.depot-ico svg,.depot svg{width:44px;height:44px;color:var(--vert)}
.depot.petit{width:100%;padding:16px;margin-bottom:12px}.depot.petit svg{width:30px;height:30px}
.cats-titre{margin:8px 0 6px;color:var(--grey);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.cats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(620px,100%)}
.cats button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:14px;border:1px solid var(--line);border-radius:16px;background:#fff;text-align:left}
.cats button:hover{border-color:var(--ink)}
.cats svg{width:26px;height:26px;color:var(--vert);margin-bottom:4px}
.cats small{color:var(--grey);font-size:12px}
.ajouts button{display:flex;flex-direction:column;align-items:center;gap:4px}
.ajouts svg{width:24px;height:24px}
.contexte button{display:flex;align-items:center;gap:6px}
.contexte svg{width:17px;height:17px}
.formes{grid-template-columns:repeat(4,minmax(0,1fr))}
.formes svg{width:34px;height:34px}
.combos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.combos button{padding:12px 8px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:18px}
.vignettes{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.vignettes button{padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f4f4f1;aspect-ratio:1}
.vignettes img{width:100%;height:100%;object-fit:cover;display:block}
.pages{display:flex;align-items:center;gap:8px;overflow-x:auto;padding:8px 12px;background:#fff;border-top:1px solid var(--line);scrollbar-width:none}
body.vide .pages{display:none}
.page{position:relative;flex:0 0 auto;width:54px;height:54px;padding:0;border:2px solid var(--line);border-radius:10px;background:#f4f4f1;overflow:hidden}
.page img{width:100%;height:100%;object-fit:contain}
.page span{position:absolute;left:3px;bottom:2px;font-size:10px;font-weight:700;color:var(--grey);background:rgba(255,255,255,.85);border-radius:4px;padding:0 3px}
.page.ici{border-color:var(--vert)}
.page.plus{font-size:24px;color:var(--grey);background:#fff;border-style:dashed}
.page-act{flex:0 0 auto;padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:12px;font-weight:600}
.scene.en-dessin{cursor:crosshair}
@media (max-width:900px){.cats{grid-template-columns:repeat(2,minmax(0,1fr))}.accueil{padding-top:16px}.ajouts svg{width:21px;height:21px}.ajouts button span{font-size:11px}}

.taille-toile{padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums}
.taille-toile:hover{border-color:var(--ink)}
/* palette */
.pal{display:flex;flex-direction:column;gap:8px;margin:4px 0 14px}
.pal-nom{font-size:12.5px;font-weight:700;color:var(--grey)}
.pal-sv{width:100%;height:120px;border-radius:12px;cursor:crosshair;touch-action:none}
.pal-h{width:100%;height:12px;-webkit-appearance:none;appearance:none;border-radius:6px;background:linear-gradient(90deg,red,#ff0,lime,cyan,blue,#f0f,red)}
.pal-h::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #333}
.pal-h::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:2px solid #333}
.pal-bas{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.pal-apercu{width:30px;height:30px;border-radius:50%;border:1px solid var(--line)}
.pal-hex{width:86px;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-family:ui-monospace,monospace;font-size:13px}
.pal-pastilles{display:flex;flex-wrap:wrap;gap:6px}
.pal-pastilles button{width:24px;height:24px;padding:0;border:1px solid rgba(0,0,0,.15);border-radius:50%}
/* accordéon des réglages d'un élément */
.acc-tete{display:flex;align-items:center;gap:10px;width:100%;padding:12px 10px;border:0;border-bottom:1px solid var(--line);background:none;font-weight:700;text-align:left}
.acc-tete svg{width:19px;height:19px;color:var(--grey)}
.acc-tete.ouvert{color:#12824a}.acc-tete.ouvert svg{color:var(--vert)}
.acc-corps{padding:12px 4px 6px;border-bottom:1px solid var(--line)}
@media (min-width:901px){.contexte{display:none!important}}
/* menu clic droit */
.menu-clic{position:fixed;z-index:60;min-width:200px;padding:6px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.menu-clic button{display:block;width:100%;padding:9px 12px;border:0;border-radius:8px;background:none;text-align:left;font-size:13.5px}
.menu-clic button:hover{background:#f3f3f0}
.menu-clic hr{margin:4px 0;border:0;border-top:1px solid var(--line)}
/* formats */
.mesure-px{display:flex;align-items:flex-end;gap:6px;margin-bottom:6px}
.mesure-px label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--grey)}
.mesure-px input{width:100%;padding:8px;border:1px solid var(--line);border-radius:10px;font-size:14px}
.formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.formats button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border:1px solid var(--line);border-radius:12px;background:#fff}
.formats button:hover{border-color:var(--ink)}
.formats button.on{border-color:var(--vert);background:#f3faf6}
.formats i{display:flex;align-items:center;justify-content:center;height:46px;margin-bottom:4px}
.formats i:not(.miz):not(.photo-fmt){border:2px solid #4a4f55;border-radius:3px;background:#eef0f1}
.formats b{font-size:12px}.formats small{font-size:10.5px;color:var(--grey)}
.photo-fmt{width:40px;border:2px dashed #4a4f55;border-radius:3px}
.miz{width:36px;height:46px;border:2px solid #4a4f55;border-radius:3px;background:#eef0f1;position:relative}
.miz-vinted{box-shadow:inset 0 -10px 0 #c9cfd3}.miz-promo::after{content:"";position:absolute;right:3px;top:3px;width:12px;height:12px;border-radius:50%;background:#4a4f55}
.miz-story{box-shadow:inset 0 8px 0 #c9cfd3,inset 0 -6px 0 #c9cfd3}.miz-youtube{box-shadow:inset 0 0 0 9px #eef0f1,inset 0 0 0 30px #c9cfd3}
.miz-grille{background:linear-gradient(#4a4f55,#4a4f55) 50% 0/2px 100% no-repeat,linear-gradient(#4a4f55,#4a4f55) 0 50%/100% 2px no-repeat,#eef0f1}
/* polices */
.polices{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}
.polices input[type=search]{padding:9px 12px;border:1px solid var(--line);border-radius:10px}
.polices-liste{display:flex;flex-direction:column;max-height:210px;overflow-y:auto;border:1px solid var(--line);border-radius:12px}
.polices-liste button{padding:10px 12px;border:0;border-bottom:1px solid #f0f0ec;background:#fff;text-align:left;font-size:17px}
.polices-liste button.on{background:#eef8f2;color:#12824a}
/* formes */
.formes{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin-bottom:6px}
.formes button{padding:8px;border:1px solid transparent;border-radius:12px;background:#f4f5f6;aspect-ratio:1}
.formes button:hover{border-color:#4a4f55;background:#fff}
.formes svg{width:100%;height:100%}
/* fond */
.tuiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px}
.tuiles button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px;font-weight:600}
.tuiles i{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#eef0f1}
.tuiles i svg{width:22px;height:22px}
.t-flou{background:radial-gradient(circle,#9aa0a6,#eef0f1)!important;filter:blur(1px)}
details.plus summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--grey);margin:4px 0 8px}
/* photos */
.depot.petit{flex-direction:row;justify-content:center;gap:10px;padding:14px;border-width:1.5px}
.vignettes{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.vignettes button{border:0;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.12);transition:transform .12s}
.vignettes button:hover{transform:scale(1.03)}

.tuiles button.on{border-color:var(--vert);background:#f3faf6}
.tuiles i.ef-lisse{background:radial-gradient(circle at 40% 40%,#c9cfd3,#6b7177);filter:blur(2px)}
.tuiles i.ef-pixel{background:conic-gradient(#6b7177 0 25%,#c9cfd3 0 50%,#9aa0a6 0 75%,#e4e6e8 0) 0 0/14px 14px}
.tuiles i.ef-verre{background:repeating-radial-gradient(circle at 30% 30%,#9aa0a6 0 2px,#d7dadd 2px 4px);filter:blur(.6px)}
.tuiles i.ef-noir{background:#141414}
.ameliorer{display:flex;flex-direction:column;gap:4px;margin:4px 0 12px;padding:12px;border-radius:14px;background:#f3faf6;border:1px solid #d6efe1}
.ameliorer small{color:var(--grey);font-size:12px}
.ameliorer .ligne{margin:6px 0 0}
.choix-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-bottom:10px}
.choix-grille button{padding:9px 4px;border:1px solid var(--line);border-radius:10px;background:#fff;font-weight:700;font-size:12.5px}
.choix-grille button.on{border-color:var(--vert);background:#f3faf6;color:#12824a}
.cv-liste{display:flex;flex-direction:column;gap:4px;margin-bottom:8px;max-height:150px;overflow-y:auto}
.cv-liste div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;border-radius:8px;background:#f4f5f6;font-size:12.5px}
.cv-liste span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cv-liste button{border:0;background:none;font-size:16px;color:var(--grey)}
#x-partager{display:inline-flex;align-items:center;gap:6px}#x-partager svg{width:16px;height:16px}
.lien{padding:0;border:0;background:none;color:var(--ink);text-decoration:underline;font-size:12.5px}
.second:disabled{opacity:.4}
@media (max-width:900px){.ajouts{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.ajouts::-webkit-scrollbar{display:none}.ajouts button{flex:0 0 64px}}

/* détourage : deux corrections seulement */
.corriger{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.corriger button{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 8px;border:1px solid var(--line);border-radius:12px;background:#fff;font-weight:700}
.corriger button b{font-size:20px;line-height:1}
.corriger button.on{border-color:var(--vert);background:#f3faf6;color:#12824a}
/* styles de texte prêts */
.combos{grid-template-columns:repeat(2,minmax(0,1fr))}
.combos button{display:flex;align-items:center;justify-content:center;min-height:58px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:20px;line-height:1.1}
.polices-liste.grande{max-height:320px}

/* petite barre au-dessus de l'élément choisi */
.barre-el{position:absolute;z-index:6;display:flex;align-items:center;gap:2px;padding:4px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.14)}
.barre-el[hidden]{display:none}
.barre-el button{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:8px;background:none;color:var(--ink)}
.barre-el button:hover{background:#f3f3f0}
.barre-el button svg{width:19px;height:19px}
.barre-el button[data-b=supprimer]{color:#d33a3a}
.barre-op{display:flex;align-items:center;padding:0 8px 0 4px}
.barre-op[hidden]{display:none}
.barre-op input{width:110px}
/* sections utiles pour l'élément choisi */
.ajouts button{position:relative}
.ajouts button.dispo:not(.on)::after{content:"";position:absolute;top:7px;right:calc(50% - 16px);width:7px;height:7px;border-radius:50%;background:var(--vert)}
.pastilles-ligne{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 12px}
.pastilles-ligne button{width:24px;height:24px;padding:0;border:1px solid #d6d6d0;border-radius:50%}
.pastilles-ligne button.on{outline:2px solid var(--vert);outline-offset:2px}

/* ===== tour 7 : mise en page des panneaux ===== */
#p-corps > .cats-titre:first-child,#p-corps > div:first-child > .cats-titre:first-child{margin-top:0}
#p-corps .cats-titre{margin:18px 0 8px}
#p-corps .aide{margin:6px 0 4px;line-height:1.4}
.large{display:block;width:100%;text-align:center}
.prin.large,.second.large{padding:11px 16px}
select.large{margin-bottom:12px}
#cv-go{margin-top:6px}
.choix.large{display:grid;grid-template-columns:1fr 1fr;margin-bottom:10px}
.choix.large button{padding:8px 6px}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.duo .second{padding:9px 6px;border-radius:12px;font-size:13px;white-space:nowrap}
.grille{grid-template-columns:1fr;gap:8px;margin-bottom:4px}
.grille.deux{grid-template-columns:1fr 1fr;gap:8px 14px}
.grille.deux .reglage{flex-direction:column;align-items:stretch;gap:3px}
.grille.deux .reglage span{min-width:0}
.grille.deux .reglage input[type=range]{min-width:0}
.reglage span{min-width:78px}
/* proportions */
.ratios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ratios button{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:6px;height:66px;padding:8px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px;font-weight:700}
.ratios button.on{border-color:var(--vert);background:#f3faf6;color:#12824a}
.ratios i{display:block;border:2px solid #4a4f55;border-radius:3px;background:#eef0f1}
.ratios i.r-orig{border-style:dashed}
.ratios button.on i{border-color:var(--vert)}
.icones-ligne{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:10px}
.icones-ligne button{display:grid;place-items:center;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff}
.icones-ligne button:hover{border-color:var(--ink)}
.icones-ligne svg{width:22px;height:22px}
/* filtres photo */
.filtres{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.filtres button{display:flex;flex-direction:column;gap:4px;padding:0 0 6px;border:2px solid transparent;border-radius:12px;background:none;font-size:11.5px;font-weight:700;overflow:hidden}
.filtres img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:10px;display:block}
.filtres button.on{border-color:var(--vert);color:#12824a}
/* fond */
.nuancier{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.nuancier button{aspect-ratio:1;padding:0;border:1px solid rgba(0,0,0,.12);border-radius:10px}
.nuancier button.on{outline:2px solid var(--vert);outline-offset:2px}
/* flou */
.tuiles i.ef-mouvement{background:repeating-linear-gradient(90deg,#6b7177 0 3px,#c9cfd3 3px 9px);filter:blur(1.2px)}
.tuiles i.ef-bruit{background:repeating-conic-gradient(#6b7177 0 10%,#d7dadd 0 20%) 0 0/6px 6px;filter:blur(.4px)}
.zones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.zones button{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 2px 6px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:11px;font-weight:700}
.zones button:hover{border-color:var(--ink)}
.zones svg{width:34px;height:34px}
/* dessin et formes */
.outils-dessin{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:8px}
.outils-dessin button{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 4px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:12px;font-weight:700}
.outils-dessin button.on{border-color:var(--vert);background:#f3faf6;color:#12824a}
.outils-dessin svg{width:24px;height:24px}
.formes.vide svg [fill="currentColor"]{fill:none;stroke:currentColor;stroke-width:2.6}
/* convertir */
.alleger{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}
.alleger button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:#fff;text-align:left}
.alleger b{font-size:13px}.alleger small{font-size:11px;color:var(--grey)}
.alleger button.on{border-color:var(--vert);background:#f3faf6}
.alleger button.on b{color:#12824a}
#cv-cible{width:90px;padding:6px 8px;border:1px solid var(--line);border-radius:8px}
.cv-liste small{flex:0 0 auto;color:var(--grey);font-size:11.5px}
.depot.petit{margin-bottom:4px}
/* détourer */
.corriger{margin-bottom:8px}

/* ===== tour 8 ===== */
/* barre de gauche plus compacte : tout tient à l'écran */
.ajouts{gap:2px;overflow-y:auto;scrollbar-width:none}
.ajouts::-webkit-scrollbar{display:none}
.ajouts button{padding:7px 2px;font-size:11.5px;gap:3px}
.ajouts svg{width:20px;height:20px}
@media (min-width:901px) and (max-height:760px){.ajouts button{padding:5px 2px;font-size:11px}.ajouts svg{width:18px;height:18px}}
/* la main */
.main-btn{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:#fff;font-weight:700;font-size:13px;color:var(--grey)}
.main-btn svg{width:18px;height:18px}
.main-btn.actif{border-color:var(--vert);background:var(--vert);color:#fff;animation:appel 1.6s ease-in-out infinite}
@keyframes appel{50%{box-shadow:0 0 0 5px rgba(31,184,106,.22)}}
@media (max-width:640px){.main-btn:not(.actif) span{display:none}.main-btn{padding:0 10px;height:34px}}
/* pages : une croix sur chaque page */
.page-case{position:relative;flex:0 0 auto;padding:6px 6px 0 0}
.page-x{position:absolute;top:0;right:0;width:20px;height:20px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--grey);font-size:14px;line-height:17px;box-shadow:0 1px 3px rgba(0,0,0,.15)}
.page-x:hover{border-color:var(--rouge);color:var(--rouge)}
.pages{padding-top:4px}
/* convertir */
#cv-format [data-cv=meme]{grid-column:1/-1}
/* détourer */
.bord-ligne{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:6px;margin-bottom:6px}
.bord-ligne span{font-size:12px;color:var(--grey);font-weight:600}
.bord-ligne .second{padding:8px 4px;border-radius:10px;font-size:12.5px;white-space:nowrap}
#p-corps .nuancier + .duo{margin-top:8px}
.aide.moteur{margin-top:12px;padding:8px 10px;border-radius:10px;background:#f4f5f6}

/* ===== téléphone : l'écran sert à la photo et aux réglages ===== */
@media (max-width:900px){
  .pied{display:none}
  .contexte{display:none!important}
  body:has(#panneau:not([hidden])) .pages{display:none}
  .panneau{max-height:52vh;padding:8px 14px calc(10px + env(safe-area-inset-bottom))}
  .p-tete{position:sticky;top:-8px;z-index:2;margin:-8px -14px 6px;padding:8px 14px;background:#fff;border-bottom:1px solid var(--line)}
  .ajouts{padding-bottom:calc(4px + env(safe-area-inset-bottom))}
  .ajouts button{flex:0 0 62px;padding:6px 2px}
}
@media (max-width:900px){.ajouts{flex-shrink:0;overflow-y:hidden}.panneau{flex-shrink:1;min-height:0}}
