/* Génération API — composants propres à l'écran */
.apiw{flex:1;min-height:0;display:grid;grid-template-columns:376px 1fr;gap:20px;padding:16px 26px 22px}
.apic{min-height:0;overflow-y:auto;scrollbar-gutter:stable;display:flex;flex-direction:column;gap:11px;padding-right:2px}
.apic::-webkit-scrollbar{width:8px}.apic::-webkit-scrollbar-thumb{background:#DDD9D1;border-radius:9px;border:2px solid var(--paper)}
.apir{min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding-right:2px}
.apir::-webkit-scrollbar{width:8px}.apir::-webkit-scrollbar-thumb{background:#DDD9D1;border-radius:9px;border:2px solid var(--paper)}

.cd{background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:14px;box-shadow:var(--sh)}
.cd>h5{margin:0 0 10px;font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:500}
.cd .fold{display:flex;align-items:center;gap:8px;width:100%;font-size:12.5px;font-weight:700;color:var(--ink2);margin-bottom:0}
.cd .fold .ic{margin-left:auto;color:var(--faint);transition:transform .25s var(--ease)}
.cd .fold.open .ic{transform:rotate(180deg)}
.fields{display:flex;flex-direction:column;gap:9px;margin-top:11px}
.fld{display:flex;flex-direction:column;gap:4px;min-width:0}
.fld>span{font-size:11px;font-weight:600;color:var(--ink2)}
.fld>span em{font-style:normal;color:var(--faint);font-weight:500}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.inp{display:flex;align-items:center;gap:7px;min-height:32px;padding:6px 10px;border-radius:9px;border:1px solid var(--hair);background:var(--card);font-size:12px;font-weight:500;color:var(--ink);transition:border-color .16s,box-shadow .16s}
.inp:hover{border-color:#CFCAC0}
.inp.mut{color:var(--faint)}
.inp input{flex:1;min-width:0;font:inherit;font-size:12px;color:var(--ink);background:none;border:0;outline:none}
.inp input::placeholder{color:var(--faint)}
.selx{cursor:pointer}
.selx::after{content:'';margin-left:auto;width:0;height:0;border-left:3.5px solid transparent;border-right:3.5px solid transparent;border-top:4px solid var(--faint)}
.selx.open{border-color:var(--forest);box-shadow:0 0 0 3px rgba(12,91,65,.09)}
.selx>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tx{width:100%;box-sizing:border-box;min-height:96px;padding:10px 12px;border-radius:10px;border:1px solid var(--hair);background:var(--card);font:inherit;font-size:12.5px;line-height:1.6;font-weight:500;color:var(--ink2);resize:vertical;outline:none}
.tx:focus{border-color:var(--forest);box-shadow:0 0 0 3px rgba(12,91,65,.09)}
.drop{display:flex;align-items:center;gap:10px;padding:12px;border:1.5px dashed #D8D4C9;border-radius:11px;background:#FBFAF7;transition:border-color .18s,background .18s}
.drop:hover{border-color:var(--forest);background:var(--jadebg)}
.drop .sq{width:30px;height:30px;border-radius:9px;background:var(--card);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;color:var(--forest);flex:none}
.drop b{display:block;font-size:12px;font-weight:700}
.drop em{display:block;font-style:normal;font-size:10.5px;color:var(--soft);margin-top:1px;font-weight:500}
.refs{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}
.refs .r{position:relative;width:52px;height:68px;border-radius:8px;background:var(--hair2);flex:none}
.refs .r>img{width:100%;height:100%;border-radius:8px;border:1px solid var(--hair);object-fit:cover;display:block}
.refs .r button{position:absolute;top:-6px;right:-6px;width:19px;height:19px;border-radius:50%;background:var(--ink);color:#fff;font-size:11px;line-height:1;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(22,24,27,.3)}
.chk{display:flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;color:var(--ink2);cursor:pointer}
.chk i{width:15px;height:15px;border-radius:5px;border:1.5px solid var(--hair);flex:none;display:flex;align-items:center;justify-content:center;color:transparent;transition:background .16s,border-color .16s,color .16s}
.chk.on i{background:var(--forest);border-color:var(--forest);color:#fff}
.chk em{font-style:normal;color:var(--faint);font-weight:500}
/* Aide du mode « Scénario Google Labs » (affichée seulement quand ce mode est choisi). */
.labshint{display:flex;gap:8px;align-items:flex-start;padding:9px 11px;border-radius:10px;background:var(--jadebg);border:1px solid var(--spring);color:var(--forest);font-size:11.5px;line-height:1.45;font-weight:500}
.labshint .ic{flex:none;margin-top:1px}
.labshint b{font-weight:750}
.labshint em{font-style:italic;color:var(--forest);opacity:.85}
.num{width:58px;text-align:center;font-family:'DM Mono',monospace}

.brain{display:flex;align-items:center;gap:13px;padding:14px 16px;border:1px solid var(--hair);border-radius:14px;background:var(--card);box-shadow:var(--sh);margin-bottom:12px}
.brain .sp{width:24px;height:24px;border:2.5px solid #E7E4DE;border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite;flex:none}
.brain b{display:block;font-size:13px;font-weight:800;letter-spacing:-.02em}
.brain em{display:block;font-style:normal;font-size:11.5px;color:var(--soft);margin-top:2px;font-weight:500}
.brain .bar{height:5px;border-radius:99px;background:#EDEBE4;overflow:hidden;margin-top:9px;width:220px}
.brain .bar i{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,var(--forest),var(--jade));transition:width .3s var(--ease)}

.rbar{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.rbar .h{font-size:17px;font-weight:600;letter-spacing:-.02em}
.rbar .n{font-size:11.5px;color:var(--soft);font-weight:500}

.rgrp{background:var(--card);border:1px solid var(--hair);border-radius:14px;padding:13px;box-shadow:var(--sh);margin-bottom:12px}
.rgrp .gh{display:flex;align-items:center;gap:9px;margin-bottom:11px}
.rgrp .gh .th{width:34px;height:34px;border-radius:8px;border:1px solid var(--hair);flex:none}
.rgrp .gh b{display:block;font-size:12.5px;font-weight:700;line-height:1.3}
.rgrp .gh em{display:block;margin-top:2px;font-style:normal;font-family:'DM Mono',monospace;font-size:10.5px;color:var(--faint)}
.rgrp .gh .vr{margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:7px;background:#F4F2ED;font-size:10px;font-weight:700;color:var(--ink2)}
.shots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
/* Génération API : cartes bornées (sinon 3×1fr gonfle sur large écran, comme le fix Studio). */
[data-kxscreen="generation-api"] .shots{grid-template-columns:repeat(auto-fill,minmax(170px,200px));justify-content:start}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.sh{display:flex;flex-direction:column;gap:6px;animation:cardIn .38s var(--spring) both}
/* content-visibility:auto (le navigateur ne peint/décode pas les tuiles hors écran → gros gain CPU avec 100+
   résultats) SCOPÉ à Génération API : `.sh` est une classe GLOBALE partagée avec Studio IA — l'appliquer
   partout rendait les cartes Studio BLANCHES (contain:size casse leur rendu). contain-intrinsic-size = hauteur
   de repli pour un scroll stable. */
[data-kxscreen="generation-api"] .sh{content-visibility:auto;contain-intrinsic-size:auto 290px}
.sh .im{position:relative;aspect-ratio:3/4;border-radius:11px;overflow:hidden;border:1px solid var(--hair)}
/* `.im>div` = vignette Studio IA (background dataURL) ; `.im>img` = vignette Génération API (ResultImg).
   Classe `.sh` GLOBALE partagée → LES DEUX doivent être dimensionnés (inset:0), sinon Studio = cartes blanches. */
.sh .im>img,.sh .im>div{position:absolute;inset:0;transition:transform .5s var(--ease)}
.sh .im>img{width:100%;height:100%;object-fit:cover;display:block}
.sh .mdl{font-size:10px;color:var(--faint);margin:1px 2px 0;display:flex;align-items:center;gap:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}
.sh .mdl .ic{flex:none;color:var(--forest)}
.sh:hover .im>img,.sh:hover .im>div{transform:scale(1.04)}
.sh .im .x{position:absolute;top:7px;right:7px;width:24px;height:24px;border-radius:50%;background:rgba(22,24,27,.62);backdrop-filter:blur(4px);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;opacity:0;transition:opacity .18s}
.sh:hover .im .x{opacity:1}
.sh .skel{aspect-ratio:3/4;border-radius:11px;border:1px solid var(--hair);background:linear-gradient(90deg,#F4F2ED 25%,#EAE7E0 50%,#F4F2ED 75%);background-size:200% 100%;animation:shimmer 1.3s ease-in-out infinite;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;font-size:11px;color:var(--soft);font-weight:600}
.sh .skel .sp{width:22px;height:22px;border:2.5px solid #E0DCD4;border-top-color:var(--forest);border-radius:50%;animation:spin .8s linear infinite}
/* Bandeau « préparation » (mode Agent, avant qu'il annonce son nombre) — BLOC pleine largeur de la carte de lot
   (hors grille de tuiles → prend TOUT le rectangle de génération), distinct du squelette : jade + ✦ pulsé. */
.prepbar{display:flex;align-items:center;justify-content:center;gap:14px;min-height:184px;padding:22px 24px;border-radius:12px;border:1px solid #CDE9DC;background:var(--jadebg);color:var(--forest)}
.prepbar .pspark{color:var(--forest);animation:sparkP 1.3s ease-in-out infinite;display:flex;flex:none}
.prepbar .ptx{font-size:14px;font-weight:800;line-height:1.35;text-align:left}
.prepbar .ptx em{display:block;font-style:normal;font-weight:600;font-size:12px;color:#3B7A5E;margin-top:3px}
@keyframes sparkP{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.16);opacity:.68}}
.sh .err{aspect-ratio:3/4;border-radius:11px;border:1px solid #F2D2D3;background:var(--redbg);color:var(--red);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:12px;text-align:center;font-size:11.5px;font-weight:600;line-height:1.45}
.sh .row{display:flex;flex-wrap:wrap;gap:5px}
.sh .go{flex:1 1 70px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:7px;border-radius:9px;background:var(--forest);color:#fff;font-size:11.5px;font-weight:700;transition:background .18s}
/* Génération API : « → Série » sur SA propre ligne (pleine largeur) → les icônes d'action se regroupent
   ensemble juste en dessous (sinon la tuile étroite ~170px fait passer la dernière icône à la ligne). Les
   icônes GRANDISSENT pour remplir la largeur (pas de vide), sur une seule ligne quel que soit leur nombre. */
[data-kxscreen="generation-api"] .sh .go{flex-basis:100%}
[data-kxscreen="generation-api"] .sh .row .ib2{flex:1 1 0;width:auto;min-width:0}
.sh .retry{flex:1 1 100%}
.sh .go:hover{background:#0A4E37}
.sh .ib2{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;border:1px solid var(--hair);background:var(--card);color:var(--soft);transition:border-color .16s,background .16s,color .16s}
.sh .ib2:hover{border-color:#CFCAC0;background:#FAF9F5;color:var(--ink)}
.sh .ib2.dl{background:var(--jadebg);border-color:#CDE9DC;color:var(--forest)}
.sh .retry{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px;border-radius:9px;border:1px solid var(--hair);background:var(--card);font-size:11.5px;font-weight:700;color:var(--ink2)}
.sh .retry:hover{border-color:#CFCAC0;background:#FAF9F5}

/* comparaison plein écran */
.cmpw{width:min(1080px,100%);height:100%;display:flex;flex-direction:column;background:var(--card);border-radius:18px;box-shadow:0 40px 90px -22px rgba(22,24,27,.4);overflow:hidden;animation:rise .3s var(--spring) both}
.cmpw .hd{display:flex;align-items:center;gap:12px;padding:15px 20px;border-bottom:1px solid var(--hair)}
.cmpw .hd .th{width:34px;height:34px;border-radius:8px;border:1px solid var(--hair);flex:none}
.cmpw .hd b{display:block;font-size:14.5px;font-weight:800;letter-spacing:-.025em}
.cmpw .hd em{display:block;font-style:normal;font-family:'DM Mono',monospace;font-size:10.5px;color:var(--faint);margin-top:2px}
.cmpw .hd .sp{margin-left:auto;display:flex;gap:7px}
.cmpw .bd2{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:18px 20px;min-height:0;overflow:hidden}
.cmpw .pane{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0}
.cmpw .cap{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}
.cmpw .cap i{width:6px;height:6px;border-radius:50%;background:#C9C4B8;flex:none}
.cmpw .cap.gen i{background:var(--forest)}
.cmpw .cap.gen{color:var(--forest)}
.cmpw .big{flex:1;width:100%;height:100%;min-height:0;margin:0 auto;border-radius:13px;border:1px solid var(--hair);background:transparent center/contain no-repeat;object-fit:contain;display:block}
/* .imgfit : la BORDURE épouse l'image (dimension naturelle, centrée) → aucune bande grise autour, quel que soit le format. Pour les <img> (dimension intrinsèque). */
.cmpw .big.imgfit{flex:none;width:auto;height:auto;max-width:100%;max-height:100%;margin:auto;background:transparent}
.cmpw .foot2{display:flex;align-items:center;gap:9px;padding:13px 20px;border-top:1px solid var(--hair);background:#FAF9F5}
.cmpw .foot2 .m{font-family:'DM Mono',monospace;font-size:10.5px;color:var(--faint)}
.cmpw .nav{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--hair);border-radius:9px;background:var(--card);overflow:hidden}
.cmpw .nav button{width:30px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--soft)}
.cmpw .nav button:hover{background:#F4F2ED;color:var(--ink)}
.cmpw .nav span{padding:0 9px;font-family:'DM Mono',monospace;font-size:11px;color:var(--ink2);font-variant-numeric:tabular-nums}
.sh .im{cursor:zoom-in}

/* état des générations */
.stats2{display:flex;align-items:center;gap:7px;margin-left:auto}
.st2{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:9px;border:1px solid var(--hair);background:var(--card);font-size:11.5px;font-weight:600;color:var(--ink2);white-space:nowrap;transition:border-color .16s,background .16s,color .16s}
.st2:hover{border-color:#CFCAC0;background:#FAF9F5}
.st2.on{border-color:var(--forest);background:var(--jadebg);color:#0B6B44}
.st2 i{width:7px;height:7px;border-radius:50%;flex:none}
.st2 i.ok{background:var(--jade)}
.st2 i.gen{background:var(--amber);animation:pulseR 1.5s ease-in-out infinite}
.st2 i.err{background:var(--red)}
.st2 b{font-family:'DM Mono',monospace;font-size:11px;font-weight:500;color:var(--faint);font-variant-numeric:tabular-nums}
.st2.on b{color:#0B6B44;opacity:.75}
.rgrp .gh .cnts{margin-left:auto;display:flex;gap:5px}
.pipm{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:7px;font-family:'DM Mono',monospace;font-size:10px;font-weight:500;font-variant-numeric:tabular-nums}
.pipm.ok{background:var(--jadebg);color:#0B6B44}
.pipm.gen{background:var(--amberbg);color:var(--amber)}
.pipm.err{background:var(--redbg);color:var(--red)}
.sh .badge2{position:absolute;top:7px;left:7px;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:7px;background:rgba(255,255,255,.94);backdrop-filter:blur(5px);font-size:9.5px;font-weight:800;letter-spacing:.03em;color:var(--forest);box-shadow:0 1px 4px rgba(22,24,27,.16)}
.sh.dim{opacity:.34;filter:saturate(.5)}
.sh.dim:hover{opacity:.8;filter:none}
.rgrp .gh .ga{display:flex;gap:6px;margin-left:auto}
.rgrp .gh .ga .btn.sm{white-space:nowrap}
.rgrp .gh .cnts{margin-left:0}

/* Popover « Réglages » (header, haut à droite) — même pattern que Studio IA (.setw/.setp). */
[data-kxscreen="generation-api"] .setw{position:relative}
[data-kxscreen="generation-api"] .setp{position:absolute;top:calc(100% + 8px);right:0;z-index:70;width:344px;max-width:calc(100vw - 32px);background:var(--card);border:1px solid var(--hair);border-radius:14px;box-shadow:0 22px 50px -16px rgba(22,24,27,.34);padding:14px;animation:popIn .18s var(--ease) both}
[data-kxscreen="generation-api"] .setp h6{margin:0 0 11px;font-family:'DM Mono',monospace;font-size:9.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--faint);font-weight:500}
[data-kxscreen="generation-api"] .setp .fields{margin-top:0}
[data-kxscreen="generation-api"] .setp .hint{display:flex;gap:8px;align-items:flex-start;margin-top:10px;padding:9px 11px;border-radius:9px;background:#F7FAFF;border:1px solid #DCE7F7;font-size:10.5px;line-height:1.5;color:#3B5F94;font-weight:500}
[data-kxscreen="generation-api"] .setp .hint svg{flex:none}

/* ── Modale « Enregistrer ce décor » (calquée sur la modale focus/miroir de Studio IA) ── */
.sdmodal .lead{margin:6px 0 16px;font-size:12.5px;color:var(--soft);line-height:1.5;font-weight:500}
.sdmodal .decrow{display:flex;gap:14px;align-items:stretch;margin-bottom:16px}
.sdmodal .decprev{width:96px;flex:none;aspect-ratio:3/4;border-radius:11px;border:1px solid var(--hair);background:#F4F2ED center/cover no-repeat}
.sdmodal .decname{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:8px}
.sdmodal .mlbl{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:700}
.sdmodal .sdinp{display:flex;align-items:center;gap:8px;height:40px;padding:0 13px;border:1px solid var(--hair);border-radius:11px;background:var(--card);transition:border-color .16s,box-shadow .16s}
.sdmodal .sdinp:focus-within{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}
.sdmodal .sdinp input{flex:1;min-width:0;border:0;background:none;outline:none;font:inherit;font-size:13px;color:var(--ink)}
.sdmodal .sdinp .ic{color:var(--faint);display:flex}
.sdmodal .decname .sub{font-size:11px;color:var(--faint);font-weight:600}
.sdmodal .asgm-hd{display:flex;align-items:center;gap:10px;margin-bottom:11px}
.sdmodal .mqgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.sdmodal .mq1{position:relative;display:flex;flex-direction:column;gap:6px;padding:7px;border-radius:12px;border:1px solid var(--hair);background:var(--card);text-align:left;cursor:pointer;font-family:inherit;transition:border-color .18s,transform .18s var(--spring),box-shadow .2s}
.sdmodal .mq1:hover{border-color:var(--forest);transform:translateY(-2px);box-shadow:var(--sh2)}
.sdmodal .mq1.on1{border-color:var(--forest);box-shadow:0 0 0 1px var(--forest)}
.sdmodal .mq1 .im1{position:relative;aspect-ratio:3/4;border-radius:8px;border:1px solid var(--hair);background:#F4F2ED center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:#C1BCB0;overflow:hidden}
.sdmodal .mq1 b{font-size:11.5px;font-weight:700;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.sdmodal .mq1 em{font-style:normal;font-family:'DM Mono',monospace;font-size:9px;color:var(--faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sdmodal .mq1 .tag1{position:absolute;top:12px;left:12px;padding:2px 7px;border-radius:6px;font-size:9px;font-weight:750;background:rgba(255,255,255,.94);backdrop-filter:blur(4px);box-shadow:0 1px 4px rgba(22,24,27,.16);color:var(--forest)}
.sdmodal .mq1 .ck1{position:absolute;top:12px;right:12px;width:20px;height:20px;border-radius:50%;background:var(--forest);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(22,24,27,.28)}
.sdmodal .mq1.on1 .ck1{display:flex}
.sdmodal .mbody{max-height:230px}

/* ── Sélecteur de décors en popup (grille groupée par compte — variante 1) ── */
.decpick .lead{margin:6px 0 14px;font-size:12.5px;color:var(--soft);line-height:1.5;font-weight:500}
.decpick .dphd{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.decpick .dpmlbl{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--faint);font-weight:700}
.decpick .mbody{max-height:404px}
.decpick .dgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.decpick .ghd{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:16px 2px 8px}
.decpick .ghd:first-child{margin-top:2px}
.decpick .ghd .av{width:17px;height:17px;border-radius:5px;background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;font-size:8.5px;font-weight:800;flex:none}
.decpick .ghd .cn{margin-left:auto;font-family:'DM Mono',monospace;font-size:9px;font-weight:500;color:var(--faint);text-transform:none;letter-spacing:0}
.decpick .dc{position:relative;display:flex;flex-direction:column;gap:7px;padding:7px;border-radius:13px;border:1px solid var(--hair);background:var(--card);text-align:left;cursor:pointer;font-family:inherit;transition:border-color .18s,transform .18s var(--spring),box-shadow .2s}
.decpick .dc:hover{border-color:var(--forest);transform:translateY(-2px);box-shadow:var(--sh2)}
.decpick .dc.on{border-color:var(--forest);box-shadow:0 0 0 1.5px var(--forest)}
.decpick .dc .im{aspect-ratio:4/5;border-radius:9px;border:1px solid var(--hair);overflow:hidden;background:#F4F2ED center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:var(--faint)}
.decpick .dc .tx{padding:0 3px 2px}
.decpick .dc b{display:block;font-size:12px;font-weight:700;letter-spacing:-.015em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.decpick .dc em{font-style:normal;font-family:'DM Mono',monospace;font-size:9px;color:var(--faint)}
.decpick .dc .ck{position:absolute;top:13px;right:13px;width:22px;height:22px;border-radius:50%;background:var(--forest);color:#fff;display:none;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(22,24,27,.3)}
.decpick .dc.on .ck{display:flex}
.decpick .dc.none .im{background:var(--hair2)}
/* déclencheur (remplace le déroulant) */
.dectrig{display:flex;align-items:center;gap:8px;width:100%;height:36px;padding:0 8px 0 7px;border-radius:10px;border:1px solid var(--hair);background:var(--card);cursor:pointer;font-family:inherit;font-size:12.5px;font-weight:600;color:var(--ink);transition:border-color .16s}
.dectrig:hover{border-color:#D6D2CA}
.dectrig .dt{width:24px;height:24px;border-radius:6px;flex:none;border:1px solid var(--hair);background:var(--hair2) center/cover no-repeat;display:flex;align-items:center;justify-content:center;color:var(--faint)}
.dectrig .nm{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dectrig .cv{color:var(--faint);display:flex;flex:none}

/* ── Sélecteur de PROMPT (modèle KRAMAX prêt à l'emploi vs prompt perso) ── */
/* Déclencheur : grosse ligne cliquable (icône + nom + badge KRAMAX) */
.ptrig{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border-radius:12px;border:1px solid var(--hair);background:var(--card);cursor:pointer;font-family:inherit;transition:border-color .16s,box-shadow .2s;text-align:left}
.ptrig:hover{border-color:var(--forest);box-shadow:var(--sh)}
.ptrig .ico{width:38px;height:38px;border-radius:11px;flex:none;display:flex;align-items:center;justify-content:center;background:var(--jadebg);color:var(--forest)}
.ptrig .ico.usr{background:var(--hair2);color:var(--faint)}
.ptrig .t{flex:1;min-width:0}
.ptrig .t b{display:block;font-size:13px;font-weight:700;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--ink)}
.ptrig .t em{font-style:normal;font-size:10.5px;color:var(--faint);font-weight:500}
.ptrig .badge{font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--forest);background:var(--jadebg);border:1px solid #CBE8D9;padding:2px 6px;border-radius:6px;flex:none}
.ptrig .cv{color:var(--faint);display:flex;flex:none}
/* petite légende sous le sélecteur (mode « Mon prompt ») — discrète, PAS la police par défaut de la carte */
.hintline{display:flex;align-items:center;gap:6px;margin:9px 0 0;font-size:11px;line-height:1.4;color:var(--faint);font-weight:500}
.hintline .ic{color:var(--forest);flex:none}
/* état VERROUILLÉ : modèle KRAMAX actif → recette masquée */
.locknote{display:flex;gap:9px;align-items:flex-start;margin-top:10px;padding:10px 11px;border-radius:11px;border:1px solid var(--hair);background:var(--hair2)}
.locknote .lk{width:26px;height:26px;border-radius:8px;flex:none;background:var(--card);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;color:var(--forest)}
.locknote p{margin:0;font-size:11px;line-height:1.5;color:var(--soft);font-weight:500}
.locknote p b{color:var(--ink)}
/* popup sélecteur de prompt : réutilise .decpick, mais tuiles à ICÔNE au trait (pas de photo 4/5) */
.ppick .dc{gap:9px;padding:9px}
.ppick .dc .im{position:relative;aspect-ratio:auto;height:50px;background:var(--jadebg);border-color:#DCEEE4;color:var(--forest)}
.ppick .dc.usr .im{background:var(--hair2);border-color:var(--hair);color:var(--faint)}
.ppick .dc .lockbadge{position:absolute;right:6px;bottom:6px;width:19px;height:19px;border-radius:50%;background:var(--card);border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;color:var(--forest)}
.ppick .ghd .av.kx{background:var(--forest)}
/* POLICE AGRANDIE : titre 13.5, description en Plus Jakarta (plus mono 9px) → lisible, 2 lignes */
.ppick .dc b{font-size:13.5px;margin-bottom:2px}
.ppick .dc em{font-family:'Plus Jakarta Sans',system-ui,sans-serif;font-size:11.5px;line-height:1.4;color:var(--soft);white-space:normal}
