.blob-taches{position:fixed;z-index:590;transform:translate(-50%,-50%);width:80px;height:80px;user-select:none;-webkit-user-select:none;transition:width .42s ease,height .42s ease;--blob-safe-haut:env(safe-area-inset-top,0px);--blob-safe-bas:env(safe-area-inset-bottom,0px);--blob-safe-gauche:env(safe-area-inset-left,0px);--blob-safe-droite:env(safe-area-inset-right,0px)}
.blob-taches[hidden],.blob-corbeille[hidden],#blobMenu[hidden],#blobExterneMenu[hidden]{display:none!important}
.blob-ouvrir{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:50%;background:transparent;cursor:grab;touch-action:none;outline-offset:3px}
.blob-ouvrir:active{cursor:grabbing}
.blob-ouvrir:focus-visible{outline:2px solid var(--accent,#12A06C)}
.blob-ouvrir canvas,.blob-repli,.blob-accessoires{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.blob-repli{inset:12%;width:76%;height:76%;filter:blur(5px);border-radius:45% 55% 50% 50%;opacity:.6;background:radial-gradient(ellipse at 38% 30%,#FBFAF7AA,transparent 70%),radial-gradient(ellipse at 65% 50%,#12A06C88,transparent 68%),radial-gradient(ellipse at 35% 64%,#12A06C60,transparent 68%)}
.blob-aide{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.blob-corbeille{position:fixed;z-index:9400;transform:translate(-50%,-50%);width:64px;height:64px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:1px solid var(--line,#ECE9E1);border-radius:50%;background:var(--card,#FBFAF7);color:var(--txt,#232838);font:inherit;cursor:pointer;transition:background .14s,color .14s,scale .14s}
.blob-corbeille svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.blob-corbeille span{font-size:11px}
.blob-corbeille.survolee{background:#232838;color:#fff;scale:1.08}
.blob-corbeille:focus-visible{outline:2px solid var(--accent,#12A06C);outline-offset:3px}
#topMenu #blobMenu,#topMenu #blobExterneMenu{position:absolute;top:calc(100% + 6px);right:0;display:flex;gap:8px;width:max-content;max-width:calc(100vw - 40px);height:44px;padding:0 14px;border:1px solid var(--line);border-radius:11px;background:var(--card);color:var(--txt);font-family:inherit;font-size:12px;font-weight:500;line-height:1.3;white-space:nowrap;box-shadow:0 4px 12px rgba(35,40,56,.08)}
.blob-menu-signe{width:16px;height:16px;flex-shrink:0;border-radius:43% 57% 55% 45%;background:radial-gradient(ellipse at 35% 25%,#FBFAF7AA,#12A06C60)}
@media(prefers-reduced-motion:reduce){.blob-taches,.blob-corbeille{transition:none}}
@media print{.blob-taches,.blob-corbeille{display:none!important}}

#topMenu #blobExterneMenu{top:calc(100% + 56px)}

.blob-accessoires{overflow:visible;opacity:.88;pointer-events:none}
.blob-atelier{color:var(--txt,#232838);font-family:inherit;min-width:0}
.blob-atelier h3{font-size:16px;line-height:1.4;margin:0 0 6px;font-weight:600}
.blob-atelier-intro,.blob-atelier-statut,.blob-gains{font-size:13px;line-height:1.55;color:var(--mut,#7B8195);margin:0}
.blob-atelier-statut:empty{display:none}
.blob-atelier-statut{margin-top:8px}
.blob-atelier-entree{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.blob-atelier-entree>span{font-size:12px;color:var(--mut,#7B8195)}
.blob-atelier button,.blob-atelier select,.blob-atelier input{font-family:inherit}
.blob-cabine-ouvrir{padding:10px 16px;min-height:44px;border:1px solid var(--line,#ECE9E1);border-radius:12px;background:var(--card2,#FBFAF7);color:var(--txt,#232838);font-size:13px;cursor:pointer}
.blob-cabine{--blob-scene-size:200px;box-sizing:border-box;width:calc(100% - 28px);max-width:660px;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px);padding:0;margin:auto;border:1px solid var(--line,#ECE9E1);border-radius:24px;background:var(--card,#fff);color:var(--txt,#232838);overflow:hidden;box-shadow:0 18px 70px #191f2b26}
.blob-cabine[open]{display:flex;flex-direction:column}
.blob-cabine::backdrop{background:#191f2b70}
.blob-cabine-entete{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px 12px;flex-shrink:0}
.blob-cabine-entete p{margin:0 0 4px;font-size:12px;color:var(--mut,#7B8195)}
.blob-cabine h2{margin:0;font-size:23px;line-height:1.25;letter-spacing:-.025em}
.blob-cabine-fermer{width:44px;height:44px;min-width:44px;padding:0;border:0;background:transparent;color:var(--mut,#7B8195);font-size:28px;cursor:pointer;border-radius:50%}
.blob-cabine-corps{scroll-padding-top:calc(var(--blob-scene-size) + 105px);overflow:auto;overscroll-behavior:contain;min-height:0;padding:0 24px 18px}
.blob-cabine-scene{position:sticky;top:0;z-index:1;background:var(--card,#fff);text-align:center;padding:0 0 12px}
.blob-apercu{position:relative;width:var(--blob-scene-size);height:var(--blob-scene-size);margin:0 auto}
.blob-apercu>*{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.blob-apercu .blob-repli{inset:12%;width:76%;height:76%}
.blob-cabine-scene p{font-size:12px;color:var(--mut,#7B8195);margin:0;line-height:1.4;overflow-wrap:anywhere}
.blob-cabine-etapes{position:sticky;top:calc(var(--blob-scene-size) + 29px);z-index:2;display:flex;gap:4px;border-radius:14px;background:var(--card2,#FBFAF7);padding:4px;margin-bottom:18px}
.blob-cabine-etapes button{flex:1;min-height:44px;border:0;border-radius:10px;color:var(--mut,#7B8195);background:transparent;font-size:13px;cursor:pointer}
.blob-cabine-etapes button[aria-pressed=true]{background:var(--txt,#232838);color:var(--card,#fff)}
.blob-cabine [hidden]{display:none!important}
.blob-cabine-reglages section{min-height:130px}
.blob-matieres{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.blob-matiere{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:18px;border-radius:16px;border:1px solid var(--line,#ECE9E1);background:var(--card,#fff);color:var(--txt,#232838);font-size:15px;cursor:pointer}
.blob-matiere small{font-size:12px;color:var(--mut,#7B8195);text-align:left}
.blob-matiere[aria-pressed=true],.blob-motif[aria-pressed=true]{border-color:var(--accent,#12A06C);background:var(--card2,#FBFAF7)}
.blob-section-titre{font-size:12px;color:var(--mut,#7B8195);margin:0 0 8px}
.blob-palette{display:flex;gap:8px;flex-wrap:wrap}
button.blob-teinte{position:relative;box-sizing:border-box;width:44px;height:44px;min-height:44px;padding:7px;border:1px solid transparent;border-radius:50%;background:transparent;cursor:pointer}
.blob-teinte:before{content:'';display:block;width:28px;height:28px;box-sizing:border-box;border-radius:50%;background:var(--teinte);border:1px solid #23283818}
.blob-teinte[aria-pressed=true]{border-color:var(--txt,#232838)}
.blob-duo{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font-size:13px;margin-top:16px}
.blob-duo label{display:flex;align-items:center;gap:8px;min-height:44px}
.blob-duo small{flex-basis:100%;font-size:12px;color:var(--mut,#7B8195)}
.blob-duo input{accent-color:var(--accent,#12A06C);width:18px;height:18px}
.blob-duo select{font-size:16px;max-width:140px;min-height:44px;padding:8px;border:1px solid var(--line,#ECE9E1);border-radius:10px;background:var(--card,#fff);color:var(--txt,#232838)}
.blob-motifs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}
.blob-motif{min-width:0;display:flex;flex-direction:column;align-items:center;gap:5px;min-height:112px;padding:10px 6px;border-radius:14px;border:1px solid var(--line,#ECE9E1);background:var(--card,#fff);color:var(--txt,#232838);font-size:12px;cursor:pointer;text-align:center;overflow-wrap:anywhere}
.blob-motif-vignette{display:block;width:42px;height:42px;border-radius:43% 57% 60% 40% / 55% 40% 60% 45%}
.blob-motif small{font-size:11px;color:var(--mut,#7B8195)}
.blob-cabine-pied{flex-shrink:0;padding:14px 24px 20px;border-top:1px solid var(--line,#ECE9E1);background:var(--card,#fff)}
.blob-cabine-pied p{margin:0 0 10px;font-size:12px;color:var(--mut,#7B8195);line-height:1.4}
.blob-cabine-pied>div{display:flex;gap:8px;justify-content:flex-end}
.blob-cabine-pied button{padding:10px 18px;min-height:44px;border:1px solid var(--line,#ECE9E1);border-radius:12px;background:var(--card2,#FBFAF7);color:var(--txt,#232838);font-size:14px;cursor:pointer}
.blob-cabine-pied .blob-cabine-garder{background:#0E8459;border-color:transparent;color:#fff}
.blob-cabine-pied .blob-cabine-garder:disabled{opacity:.45;cursor:default}
.blob-atelier button:focus-visible,.blob-atelier input:focus-visible,.blob-atelier select:focus-visible{outline:2px solid var(--accent,#12A06C);outline-offset:3px}
.blob-onboarding{border-top:1px solid var(--line,#ECE9E1);margin-top:20px;padding-top:20px}
@media(max-width:420px){.blob-cabine-entete{padding:18px 18px 10px}.blob-cabine-corps{padding:0 18px 14px}.blob-cabine-pied{padding:12px 18px 16px}.blob-cabine{--blob-scene-size:160px}.blob-palette{gap:6px}.blob-cabine h2{font-size:21px}.blob-matiere{padding:14px 12px}}
@media(max-height:650px){.blob-cabine{--blob-scene-size:120px}.blob-cabine-entete{padding-top:12px}.blob-cabine-pied{padding-bottom:12px}}

.blob-profil-direct .blob-cabine-etapes{position:static;margin-top:16px}
.blob-profil-direct [hidden]{display:none!important}
.blob-profil-direct .blob-cabine-reglages section{min-height:0}
.blob-profil-direct .blob-motif:disabled{opacity:.55;cursor:default}


.blob-selecteur{min-width:0;padding-top:18px}
.blob-selecteur [hidden]{display:none!important}
.blob-selecteur .blob-basiques,.blob-selecteur .blob-bonus{display:flex;gap:4px;flex-wrap:wrap;padding:5px;background:var(--card2,#FBFAF7);border-radius:18px}
.blob-selecteur .blob-basiques>button,.blob-selecteur .blob-bonus>button{flex:1;min-width:74px;min-height:48px;padding:8px 7px;border:0;border-radius:14px;background:transparent;color:var(--mut,#7B8195);font-size:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}
.blob-selecteur .blob-basiques>button[aria-pressed=true],.blob-selecteur .blob-bonus>button[aria-pressed=true]{background:var(--txt,#232838);color:var(--card,#fff)}
.blob-selecteur small{font-size:11px;line-height:1.4}
.blob-selecteur .blob-titre-bonus{margin-top:20px}
.blob-molettes{min-width:0;margin-top:18px}
.blob-selecteur [data-roue]{min-width:0;margin-top:10px}
.blob-roue-entete{display:flex;justify-content:space-between;gap:10px;color:var(--mut,#7B8195);font-size:12px;margin-bottom:2px}
.blob-roue-entete>span:last-child{color:var(--txt,#232838)}
.blob-roue{height:96px;position:relative;perspective:650px;overflow:hidden;touch-action:pan-y;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.blob-roue>button{position:absolute;top:14px;left:calc(50% - 28px);width:56px;min-height:70px;padding:4px 0;border:0;background:transparent;color:var(--txt,#232838);transform-style:preserve-3d;cursor:grab;display:flex;align-items:center;flex-direction:column;gap:7px;font-size:11px;line-height:1.2}
.blob-echantillon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid var(--line,#ECE9E1);box-sizing:border-box;border-radius:50%;font-style:normal;font-size:23px;color:var(--mut,#7B8195);background:var(--card2,#FBFAF7)}
[data-roue=motif] .blob-echantillon{border-radius:12px}
.blob-roue>button[aria-pressed=true] .blob-echantillon{outline:1px solid var(--accent,#12A06C);outline-offset:4px}
.blob-roue-nom{max-width:56px;overflow-wrap:anywhere;text-align:center}
.blob-selecteur [data-bloquee=true]{opacity:.45}
.blob-information{min-height:20px;margin:12px 0 0;color:var(--mut,#7B8195);font-size:12px;line-height:1.5}
.blob-scene-interactive{position:relative;min-width:0;width:100%;height:260px;overflow:hidden;isolation:isolate}
.blob-dans-cabine{position:absolute;--blob-safe-haut:0px;--blob-safe-bas:0px;--blob-safe-gauche:0px;--blob-safe-droite:0px}
.blob-cabine-scene{position:relative;padding-bottom:0}
.blob-cabine-corps{scroll-padding-top:12px}
.blob-cabine{max-width:440px}
.blob-cabine-pied>div{justify-content:space-between}
.blob-cabine-pied .blob-cabine-garder{flex:1}
@media(max-height:700px){.blob-scene-interactive{height:220px}}
