/* Ogrelo · maîtrise et jeu (progres.js) : bandeau, session parfaite, Mes progrès, boutique, quêtes, ligue, fêtes. Tuiles façon tuiles.css, clair + sombre, 360 px. */
:root{--pg-or:#F7B733;--pg-or-d:#C98A10;--pg-feu:#FF8A1F;--pg-bleu:#2E7DD7;--pg-violet:#8E44EC;--pg-vert:#2F8540;--pg-fond:var(--card,#fff);--pg-trait:var(--line,#E4E2DA);--pg-doux:var(--soft,#6B6880)}
.pg-ic{width:1.25em;height:1.25em;flex:none;vertical-align:-.25em}

/* bandeau : série · objectif · niveau · crocs */
.pg-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:2px 0 14px}
.pg-chips-vide span{height:44px;border-radius:14px;background:var(--pg-trait);opacity:.5}
.pg-chip{display:flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:6px 4px;border-radius:14px;border:2px solid var(--pg-trait);background:var(--pg-fond);color:var(--ink);
  font:800 .92rem var(--display,inherit);box-shadow:0 3px 0 var(--pg-trait);cursor:pointer;min-width:0;white-space:nowrap}
.pg-chip:active{transform:translateY(2px);box-shadow:0 1px 0 var(--pg-trait)}
.pg-chip small{font-size:.66rem;font-weight:700;color:var(--pg-doux)}
.pg-ch-niv b{font-size:.8rem}
.pg-ch-serie:not(.on) .pg-flamme{filter:grayscale(.85);opacity:.6}
.pg-ch-serie.on{border-color:color-mix(in srgb,var(--pg-feu) 55%,var(--pg-trait));box-shadow:0 3px 0 color-mix(in srgb,var(--pg-feu) 55%,var(--pg-trait))}
.pg-gel-mini .pg-ic{width:.9em;height:.9em}
.pg-anneau{--p:0;width:18px;height:18px;border-radius:50%;flex:none;background:conic-gradient(var(--ok,#1F8A4C) calc(var(--p)*1%),color-mix(in srgb,var(--pg-trait) 80%,transparent) 0);
  -webkit-mask:radial-gradient(circle,transparent 5px,#000 6px);mask:radial-gradient(circle,transparent 5px,#000 6px)}
.pg-ch-obj.on{border-color:color-mix(in srgb,var(--ok,#1F8A4C) 50%,var(--pg-trait))}

/* tuile « Ma session parfaite » : grosse, dorée, la première chose qu'on voit */
.pg-sp{position:relative;display:flex;align-items:center;gap:12px;width:100%;min-height:92px;margin:0 0 16px;padding:14px 14px 14px 12px;border:0;border-radius:22px;color:#fff;text-align:left;cursor:pointer;
  background:linear-gradient(150deg,#FFC23A 0%,#F7A21B 50%,#EC820C 100%);box-shadow:0 6px 0 #B85F00;transition:transform .08s ease,box-shadow .08s ease}
.pg-sp:active{transform:translateY(5px);box-shadow:0 1px 0 #B85F00}
.pg-sp.faite{background:linear-gradient(150deg,#5CC46A,#2F9B48);box-shadow:0 6px 0 #1E6B30}
.pg-sp.faite:active{box-shadow:0 1px 0 #1E6B30}
.pg-sp-i{width:58px;height:58px;flex:none;border-radius:18px;background:rgba(255,255,255,.25);display:grid;place-items:center;overflow:hidden}
.pg-sp-i svg{width:48px;height:48px}
.pg-sp .tx{flex:1;min-width:0}.pg-sp .tx b{display:block;font:800 1.3rem/1.1 var(--display,inherit);text-shadow:0 2px 0 rgba(150,75,0,.3)}
.pg-sp .tx small{display:block;margin-top:4px;font-weight:700;font-size:.86rem;opacity:.95}
.pg-sp-go{width:40px;height:40px;border-radius:50%;background:#fff;color:#E07B00;display:grid;place-items:center;flex:none;font-size:1.2rem}
.pg-sp.faite .pg-sp-go{color:#2F9B48}
.pg-sp .go{display:none}
.pg-tuiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.pg-t{--tc:var(--c,#8A8799);display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;padding:12px 10px;border-radius:18px;text-align:left;cursor:pointer;color:var(--ink);
  border:2px solid color-mix(in srgb,var(--tc) 38%,var(--pg-trait));background:color-mix(in srgb,var(--tc) 7%,var(--pg-fond));box-shadow:0 4px 0 color-mix(in srgb,var(--tc) 45%,var(--pg-trait))}
.pg-t:active{transform:translateY(3px);box-shadow:0 1px 0 color-mix(in srgb,var(--tc) 45%,var(--pg-trait))}
.pg-t .i{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--tc);color:#fff;font-size:1.1rem}
.pg-t .i .pg-ic{width:26px;height:26px}
.pg-t:has(.pg-croc) .i{background:color-mix(in srgb,var(--tc) 18%,var(--pg-fond))}
.pg-t b{font:800 .9rem/1.15 var(--display,inherit)}.pg-t small{font-size:.72rem;line-height:1.2;color:var(--pg-doux)}

/* plein écran */
html.pg-ouvert{overflow:hidden}
.pg-full{position:fixed;inset:0;z-index:900;background:var(--paper,#F6F5F0);overflow:auto;-webkit-overflow-scrolling:touch}
.pg-in{max-width:560px;margin:0 auto;padding:0 16px calc(28px + env(safe-area-inset-bottom))}
.pg-top{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:10px;padding:calc(10px + env(safe-area-inset-top)) 0 10px;background:var(--paper,#F6F5F0)}
.pg-top>b{flex:1;font:800 1.15rem var(--display,inherit);display:flex;align-items:center;gap:6px}
.pg-x{width:44px;height:44px;border-radius:14px;border:2px solid var(--pg-trait);background:var(--pg-fond);color:var(--ink);display:grid;place-items:center;font-size:1.2rem;cursor:pointer}
.pg-top-crocs{display:flex;align-items:center;gap:4px;font-weight:800}
.pg-full.pg-jeu .pg-top-crocs{visibility:hidden}
.pg-corps h4{margin:20px 0 8px;font:800 1rem var(--display,inherit)}
.pg-charge{display:grid;place-items:center;min-height:120px}
.pg-bulle{display:flex;align-items:flex-start;gap:10px;margin:8px 0 14px}
.pg-bulle .f{width:58px;height:58px;flex:none}.pg-bulle .f svg{width:100%;height:100%}
.pg-bulle-t{position:relative;flex:1;padding:12px 14px;border-radius:18px;border-top-left-radius:6px;background:var(--pg-fond);border:2px solid var(--pg-trait);box-shadow:0 3px 0 var(--pg-trait)}
.pg-bulle-t p{margin:0;font-weight:700;line-height:1.35}.pg-bulle-t small{display:block;margin-top:6px;color:var(--pg-doux);line-height:1.35}
.pg-note{font-size:.86rem;color:var(--pg-doux);line-height:1.4;margin:8px 2px}
.pg-note .gi-idee,.pg-note .gi-wait{color:var(--pg-or-d)}
.pg-ok,.pg-go{width:100%;margin-top:14px}
.pg-err{color:var(--ko,#C2362C);font-weight:700;min-height:1.2em}
.pg-deux{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:8px}
.pg-deux .btn{margin:0}

/* session : les blocs du jour */
.pg-blocs{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pg-blocs li{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--pg-fond);border:2px solid var(--pg-trait);font-weight:700}
.pg-blocs .i{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--pg-or) 25%,var(--pg-fond));color:var(--pg-or-d);flex:none}
.pg-exo{margin-top:4px}
.pg-fin{text-align:left}
.pg-gain{display:flex;align-items:center;justify-content:center;gap:6px;margin:6px auto 10px;padding:10px 16px;width:max-content;max-width:100%;border-radius:999px;font:800 1.15rem var(--display,inherit);
  background:color-mix(in srgb,var(--pg-or) 22%,var(--pg-fond));color:color-mix(in srgb,var(--pg-or-d) 80%,var(--ink));border:2px solid color-mix(in srgb,var(--pg-or) 50%,var(--pg-trait))}
.pg-fin-serie{display:flex;align-items:center;justify-content:center;gap:6px;font-weight:800;margin:4px 0 10px}.pg-fin-serie .pg-ic{width:1.6em;height:1.6em}
.pg-montees{list-style:none;padding:0;margin:0;display:grid;gap:6px}
.pg-montees li{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px;background:var(--pg-fond);border:2px solid var(--pg-trait)}
.pg-montees b{min-width:0;overflow:hidden;text-overflow:ellipsis}
.pg-niv{flex:none;font-size:.72rem;font-weight:800;padding:3px 8px;border-radius:999px;background:var(--t-mute-bg,#EFEDF3);color:var(--t-mute,#6B6880)}
.pg-niv.n2{background:var(--t-warn-bg,#FFF1D6);color:var(--t-warn,#A86A00)}.pg-niv.n3{background:var(--t-info-bg,#E3ECF8);color:var(--t-info,#2F5E9E)}.pg-niv.n4{background:var(--t-good-bg,#E1F4E8);color:var(--t-good,#1F8A4C)}

/* fêtes */
.pg-fete{position:fixed;inset:0;z-index:950;display:grid;place-items:center;padding:16px;background:rgba(20,18,30,.45)}
.pg-fete-in{width:min(420px,100%);padding:18px 16px 16px;border-radius:24px;background:var(--paper,#F6F5F0);border:2px solid var(--pg-trait);box-shadow:0 8px 0 rgba(0,0,0,.18)}
.pg-fete-ogre{display:block;width:120px;height:120px;margin:0 auto 4px}.pg-fete-ogre svg{width:100%;height:100%}
.pg-petit{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));z-index:960;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);
  padding:10px 16px;border-radius:999px;background:var(--ink,#22261F);color:var(--paper,#fff);font-weight:800;box-shadow:0 6px 18px rgba(0,0,0,.25);transition:opacity .4s,transform .4s}
.pg-petit.va{opacity:0;transform:translate(-50%,10px)}

/* série et réglages */
.pg-serie-h{display:flex;flex-direction:column;align-items:center;gap:2px;margin:6px 0 4px}
.pg-serie-h .pg-ic{width:64px;height:64px}.pg-serie-h b{font:800 1.4rem var(--display,inherit)}.pg-serie-h small{color:var(--pg-doux);font-weight:700}
.pg-gels{display:flex;align-items:center;gap:8px;justify-content:center;margin:4px 0}
.pg-gels span .pg-ic{width:30px;height:30px;filter:grayscale(1);opacity:.35}.pg-gels span.on .pg-ic{filter:none;opacity:1}
.pg-gels small{color:var(--pg-doux);font-weight:700}
.pg-choix{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 10px}
.pg-choix button{min-height:44px;padding:8px 14px;border-radius:14px;border:2px solid var(--pg-trait);background:var(--pg-fond);color:var(--ink);font-weight:800;cursor:pointer}
.pg-choix button.on{border-color:var(--ogre,#3E7F31);background:color-mix(in srgb,var(--ogre,#3E7F31) 14%,var(--pg-fond))}
.pg-switch{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:14px;border:2px solid var(--pg-trait);background:var(--pg-fond);cursor:pointer}
.pg-switch input{width:24px;height:24px;margin:2px 0 0;accent-color:var(--ogre,#3E7F31);flex:none}
.pg-switch small{display:block;color:var(--pg-doux);margin-top:2px}

/* boutique */
.pg-gel-a{display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;border:2px solid color-mix(in srgb,var(--pg-bleu) 35%,var(--pg-trait));background:color-mix(in srgb,var(--pg-bleu) 6%,var(--pg-fond));box-shadow:0 4px 0 color-mix(in srgb,var(--pg-bleu) 35%,var(--pg-trait))}
.pg-gel-i .pg-ic{width:40px;height:40px}.pg-gel-a .tx{flex:1;min-width:0}.pg-gel-a small{display:block;color:var(--pg-doux);font-size:.8rem}
.pg-grille{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media (min-width:480px){.pg-grille{grid-template-columns:repeat(3,1fr)}}
.pg-art{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 8px;border-radius:16px;border:2px solid var(--pg-trait);background:var(--pg-fond);box-shadow:0 3px 0 var(--pg-trait);text-align:center;min-width:0}
.pg-art.porte{border-color:var(--ogre,#3E7F31);box-shadow:0 3px 0 color-mix(in srgb,var(--ogre,#3E7F31) 50%,var(--pg-trait))}
.pg-art b{font-size:.86rem}
.pg-art-v{display:grid;place-items:center;width:100%}
.pg-art .pg-deco{width:76px;height:76px}
.pg-prix,.pg-porter,.pg-offrir{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;width:100%;padding:6px 10px;border-radius:12px;font-weight:800;cursor:pointer;border:2px solid var(--pg-trait);background:var(--pg-fond);color:var(--ink)}
.pg-prix{background:color-mix(in srgb,var(--pg-or) 22%,var(--pg-fond));border-color:color-mix(in srgb,var(--pg-or) 55%,var(--pg-trait))}
.pg-gel-a .pg-prix{width:auto;flex:none}
.pg-prix:disabled{opacity:.5;cursor:default}.pg-porter:disabled{opacity:.8;color:var(--ok,#1F8A4C)}
.pg-offrir{min-height:36px;font-size:.78rem;font-weight:700;color:var(--pg-doux)}
.pg-manque{font-size:.7rem;color:var(--pg-doux)}
/* aperçu des effets */
.pg-effet-v{position:relative;display:block;width:76px;height:76px;border-radius:50%;background:color-mix(in srgb,var(--pg-violet) 10%,var(--pg-fond));overflow:hidden}
.pg-effet-v i{position:absolute;width:10px;height:10px;border-radius:2px}
.pg-effet-v i:nth-child(1){left:14px;top:18px;background:#F25F5C}.pg-effet-v i:nth-child(2){left:44px;top:12px;background:#3BB273}.pg-effet-v i:nth-child(3){left:30px;top:40px;background:#2E7DD7}
.pg-effet-v i:nth-child(4){left:54px;top:46px;background:#F7B733}.pg-effet-v i:nth-child(5){left:18px;top:54px;background:#8E44EC}
.pg-ev-bulles i{border-radius:50%!important;background:transparent!important;border:2px solid #2E9BD7}
.pg-ev-etoiles i{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:#F7B733!important;width:14px;height:14px}
.pg-ev-feux i{border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 0%,transparent),0 0 10px 2px #FF8A1F;background:#FFD25A!important;width:6px;height:6px}

/* ogre décoré : fond + cadre (cosmétiques) */
.pg-deco{position:relative;display:grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;overflow:hidden;border:3px solid #fff;box-shadow:0 0 0 2px var(--pg-trait)}
.pg-deco svg,.pg-deco img{width:88%;height:88%;margin-top:12%}
.pg-fond-prairie,.df-av.df-deco.pg-fond-prairie{background:linear-gradient(180deg,#DFF3D2 0 60%,#9ED37E 60%)}
.pg-fond-ciel,.df-av.df-deco.pg-fond-ciel{background:radial-gradient(circle at 25% 25%,#fff 0 7%,transparent 8%),radial-gradient(circle at 70% 35%,#fff 0 6%,transparent 7%),linear-gradient(180deg,#9FD4FF,#DDF0FF)}
.pg-fond-plage,.df-av.df-deco.pg-fond-plage{background:linear-gradient(180deg,#8FD3F5 0 45%,#4FB3E0 45% 62%,#F6DCA0 62%)}
.pg-fond-foret,.df-av.df-deco.pg-fond-foret{background:radial-gradient(circle at 20% 70%,#2E7D32 0 18%,transparent 19%),radial-gradient(circle at 80% 65%,#388E3C 0 20%,transparent 21%),linear-gradient(180deg,#C8E6C9,#81C784)}
.pg-fond-nuit,.df-av.df-deco.pg-fond-nuit{background:radial-gradient(circle at 20% 20%,#fff 0 3%,transparent 4%),radial-gradient(circle at 75% 30%,#fff 0 2.5%,transparent 3.5%),radial-gradient(circle at 55% 12%,#FFE08A 0 3%,transparent 4%),linear-gradient(180deg,#1B2A5A,#3B2E7A)}
.pg-fond-volcan,.df-av.df-deco.pg-fond-volcan{background:radial-gradient(circle at 50% 30%,#FFB347 0 12%,transparent 13%),linear-gradient(180deg,#FFCF9E,#E2583E 70%,#7A2E1F)}
.pg-fond-aurore,.df-av.df-deco.pg-fond-aurore{background:linear-gradient(160deg,#1E3A5F 0%,#2BD9A6 35%,#8E44EC 65%,#1E3A5F 100%)}
.pg-fond-galaxie,.df-av.df-deco.pg-fond-galaxie{background:radial-gradient(circle at 30% 30%,#fff 0 2%,transparent 3%),radial-gradient(circle at 70% 60%,#fff 0 2%,transparent 3%),radial-gradient(ellipse at 50% 50%,#C86DD7 0 20%,#3B1E6E 55%,#0E0A24 100%)}
.pg-cadre-feuilles{border-color:#6DBF59;box-shadow:0 0 0 3px #2F8540}
.pg-cadre-etoiles{border-color:#FFE08A;box-shadow:0 0 0 3px #F7B733,0 0 10px 1px rgba(247,183,51,.6)}
.pg-cadre-arcenciel{border-color:transparent;background-clip:padding-box;box-shadow:0 0 0 3px #F25F5C,0 0 0 6px #F7B733,0 0 0 9px #3BB273}
.pg-cadre-or{border-color:#FFD25A;box-shadow:0 0 0 3px #C98A10,0 0 14px 2px rgba(255,210,90,.75)}

/* quêtes */
.pg-quete{padding:12px;margin:10px 0;border-radius:18px;border:2px solid color-mix(in srgb,var(--pg-bleu) 35%,var(--pg-trait));background:color-mix(in srgb,var(--pg-bleu) 5%,var(--pg-fond));box-shadow:0 4px 0 color-mix(in srgb,var(--pg-bleu) 35%,var(--pg-trait))}
.pg-quete.reussie{border-color:color-mix(in srgb,var(--ok,#1F8A4C) 45%,var(--pg-trait));box-shadow:0 4px 0 color-mix(in srgb,var(--ok,#1F8A4C) 45%,var(--pg-trait))}
.pg-q-h{display:flex;align-items:center;gap:6px}.pg-q-h .tx{flex:1;min-width:0;margin-left:6px}.pg-q-h small{display:block;color:var(--pg-doux);font-size:.82rem;line-height:1.3}
.pg-q-plus{font-weight:800;color:var(--pg-doux)}
.pg-q-bar{height:12px;border-radius:999px;background:color-mix(in srgb,var(--pg-trait) 80%,transparent);margin:10px 0 6px;overflow:hidden}
.pg-q-bar i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#4FA3F0,var(--pg-bleu))}
.pg-q-l{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.84rem;font-weight:700;align-items:center}
.pg-coffre{margin-left:auto;display:inline-flex;align-items:center;gap:3px}
.pg-ok-t{color:var(--ok,#1F8A4C);font-weight:800;margin:8px 0 0}
.pg-amis{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.pg-ami{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:14px;border:2px solid var(--pg-trait);background:var(--pg-fond);color:var(--ink);cursor:pointer;min-height:44px}
.pg-ami.on{border-color:var(--pg-bleu);background:color-mix(in srgb,var(--pg-bleu) 12%,var(--pg-fond))}
.pg-ami b{font-size:.84rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.pg-types{display:grid;gap:8px}
.pg-type{text-align:left;min-height:44px;padding:10px 12px;border-radius:14px;border:2px solid var(--pg-trait);background:var(--pg-fond);color:var(--ink);font-weight:700;cursor:pointer}
.pg-type.on{border-color:var(--pg-bleu);background:color-mix(in srgb,var(--pg-bleu) 12%,var(--pg-fond))}

/* ligue */
.pg-cercle{font-weight:800;margin:4px 2px}
.pg-paliers{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;margin:8px 0}
.pg-paliers span{display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;border-radius:12px;opacity:.45}
.pg-paliers span.passe{opacity:.75}.pg-paliers span.on{opacity:1;background:color-mix(in srgb,var(--pg-vert) 14%,var(--pg-fond));border:2px solid color-mix(in srgb,var(--pg-vert) 45%,var(--pg-trait))}
.pg-paliers small{font-size:.7rem;font-weight:800}
.pg-pal{display:inline-block;width:26px;height:26px;flex:none;background:center/contain no-repeat}
.pg-pal-graine{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='15' rx='6' ry='7' fill='%23B9824B' stroke='%237A5230' stroke-width='1.4'/%3E%3Cpath d='M12 8c0-2 1-3.5 3-4' stroke='%233BB273' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E")}
.pg-pal-pousse{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22v-9' stroke='%232F8540' stroke-width='2' stroke-linecap='round'/%3E%3Cpath d='M12 14c-5 0-7-3-7-7 4 0 7 2 7 7zM12 12c0-4 2-6 6-6 0 4-2 6-6 6z' fill='%235CC46A' stroke='%232F8540' stroke-width='1.3'/%3E%3C/svg%3E")}
.pg-pal-fleur{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 22v-8' stroke='%232F8540' stroke-width='2' stroke-linecap='round'/%3E%3Cg fill='%23F25F9C' stroke='%23B8326C' stroke-width='1'%3E%3Ccircle cx='12' cy='5.5' r='3'/%3E%3Ccircle cx='17' cy='9.5' r='3'/%3E%3Ccircle cx='7' cy='9.5' r='3'/%3E%3Ccircle cx='9' cy='14' r='3'/%3E%3Ccircle cx='15' cy='14' r='3'/%3E%3C/g%3E%3Ccircle cx='12' cy='10.5' r='2.6' fill='%23FFD25A'/%3E%3C/svg%3E")}
.pg-pal-arbre{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='10.5' y='14' width='3' height='8' rx='1' fill='%238A5A2B'/%3E%3Ccircle cx='12' cy='9' r='7' fill='%233BB273' stroke='%232F8540' stroke-width='1.4'/%3E%3C/svg%3E")}
.pg-pal-foret{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 3 2 13h3l-3 6h10l-3-6h3z' fill='%232F8540'/%3E%3Cpath d='M17 2l-5 10h3l-3 7h10l-3-7h3z' fill='%233BB273' stroke='%232F8540' stroke-width='1'/%3E%3Cpath d='M17 1.5l.6 1.3 1.4.2-1 1 .2 1.4-1.2-.7-1.2.7.2-1.4-1-1 1.4-.2z' fill='%23FFD25A'/%3E%3C/svg%3E")}
.pg-ligue{list-style:none;padding:0;margin:10px 0;display:grid;gap:8px}
.pg-ligue li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:16px;border:2px solid var(--pg-trait);background:var(--pg-fond);min-width:0}
.pg-ligue li.moi{border-color:var(--pg-vert);background:color-mix(in srgb,var(--pg-vert) 10%,var(--pg-fond))}
.pg-ligue li.monte{box-shadow:inset 4px 0 0 var(--pg-vert)}
.pg-ligue b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pg-ligue .pg-pal{width:22px;height:22px}
.pg-rang{width:26px;flex:none;display:grid;place-items:center}
.pg-med{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:800;color:#fff;font-size:.82rem}
.pg-med.m1{background:#E8B520}.pg-med.m2{background:#A7B0BA}.pg-med.m3{background:#CD8A4E}
.pg-lxp{flex:none;font-weight:800;font-size:.86rem;text-align:right}
.pg-monte{display:block;color:var(--pg-vert);font-size:.7rem}

/* Moi : Mes progrès */
.pg-moi{margin:16px 0;padding:16px 14px;border-radius:20px;border:2px solid color-mix(in srgb,var(--pg-bleu) 30%,var(--pg-trait));background:var(--pg-fond);box-shadow:0 5px 0 color-mix(in srgb,var(--pg-bleu) 30%,var(--pg-trait))}
.pg-moi h4{margin:18px 0 8px;font:800 .98rem var(--display,inherit)}
.pg-moi-h{display:flex;align-items:center;gap:12px}.pg-moi-h>div{flex:1;min-width:0}
.pg-moi-h b{display:block;font:800 1.2rem var(--display,inherit)}.pg-moi-h small{display:block;color:var(--pg-doux);font-size:.84rem}
.pg-moi-av .pg-deco{width:64px;height:64px}
.pg-niv-l{display:flex;align-items:center;flex-wrap:wrap;gap:4px 6px;margin-top:6px;font-weight:800;font-size:.84rem}
.pg-niv-bar{flex:1;min-width:80px;height:8px;border-radius:999px;background:color-mix(in srgb,var(--pg-trait) 80%,transparent);overflow:hidden}
.pg-niv-bar i{display:block;height:100%;background:var(--pg-violet);border-radius:999px}
.pg-niv-l small{flex-basis:100%;margin:0;font-weight:700}
.pg-gros{margin:14px 0 4px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--pg-bleu) 10%,var(--pg-fond));font-weight:700;line-height:1.35}
.pg-gros.up{background:color-mix(in srgb,var(--ok,#1F8A4C) 13%,var(--pg-fond))}.pg-gros b{font:800 1.5rem var(--display,inherit);color:var(--t-good,#1F8A4C)}
.pg-ks{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}
.pg-k{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px;border-radius:14px;border:2px solid var(--pg-trait);min-width:0}
.pg-k .i{color:var(--pg-bleu)}.pg-k b{font:800 1.3rem var(--display,inherit)}.pg-k small{font-size:.72rem;line-height:1.2;color:var(--pg-doux)}
.pg-sems{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;align-items:end;height:120px}
.pg-sem{display:flex;flex-direction:column;align-items:center;gap:3px;height:100%;min-width:0}
.pg-sem b{font-size:.8rem}.pg-sem small{font-size:.64rem;color:var(--pg-doux);white-space:nowrap}
.pg-sem .col{flex:1;width:70%;display:flex;align-items:flex-end;border-radius:8px;background:color-mix(in srgb,var(--pg-trait) 50%,transparent)}
.pg-sem .col i{display:block;width:100%;border-radius:8px;background:color-mix(in srgb,var(--pg-bleu) 55%,var(--pg-fond))}
.pg-sem.now .col i{background:var(--pg-bleu)}
.pg-nouv{display:flex;flex-wrap:wrap;gap:6px}
.pg-nouv span{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:999px;background:var(--t-good-bg,#E1F4E8);color:var(--t-good,#1F8A4C);font-weight:700;font-size:.82rem}
.pg-mat{border:2px solid var(--pg-trait);border-radius:14px;margin:8px 0;padding:0 10px}
.pg-mat summary{display:flex;justify-content:space-between;align-items:center;min-height:44px;cursor:pointer;list-style:none}
.pg-mat summary::-webkit-details-marker{display:none}.pg-mat summary small{color:var(--pg-doux);font-weight:800}
.pg-aa{display:grid;grid-template-columns:1fr auto;gap:4px 8px;align-items:center;padding:8px 0;border-top:1px solid var(--pg-trait)}
.pg-aa .nm{font-weight:700;font-size:.88rem;min-width:0}
.pg-aa-bar{grid-column:1/-1;position:relative;height:10px;border-radius:999px;background:color-mix(in srgb,var(--pg-trait) 60%,transparent);overflow:hidden}
.pg-aa-bar i{position:absolute;left:0;top:0;bottom:0;border-radius:999px}
.pg-aa-bar .ap{background:var(--pg-bleu)}.pg-aa-bar .av{background:color-mix(in srgb,var(--pg-bleu) 35%,var(--pg-fond));z-index:1;border-right:2px solid var(--ink);border-radius:999px 0 0 999px}
.pg-aa .pg-niv{grid-row:1;grid-column:2}
.pg-notes{display:flex;gap:6px;align-items:flex-start;margin:6px 0;font-weight:700;font-size:.88rem}.pg-notes.up i{color:var(--t-good,#1F8A4C)}

/* effet de fête choisi (confettis : couleur dominante) */
html[data-pg-effet="bulles"] canvas{filter:hue-rotate(160deg)}
html[data-pg-effet="etoiles"] canvas{filter:sepia(1) saturate(4) hue-rotate(5deg)}
html[data-pg-effet="feux"] canvas{filter:saturate(2) contrast(1.2)}

@media (prefers-reduced-motion: reduce){.pg-sp,.pg-chip,.pg-t{transition:none}.pg-petit{transition:none}.pop{animation:none!important}}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--pg-or-d:#F2C46B}
  :root:not([data-theme="light"]) .pg-fete{background:rgba(0,0,0,.6)}
  :root:not([data-theme="light"]) .pg-deco{border-color:#2A2838}}
:root[data-theme="dark"]{--pg-or-d:#F2C46B}
:root[data-theme="dark"] .pg-fete{background:rgba(0,0,0,.6)}
:root[data-theme="dark"] .pg-deco{border-color:#2A2838}

/* menu Ogrelo (bouton du milieu) : la session parfaite en tête, au-dessus de l'éventail */
.om-sp{position:absolute;left:50%;top:calc(var(--cy) - 395px);transform:translate(-50%,8px);opacity:0;transition:.25s .05s;display:grid;grid-template-columns:auto 1fr;column-gap:10px;align-items:center;text-align:left;
  width:min(300px,calc(100vw - 32px));padding:10px 16px;border:0;border-radius:20px;color:#fff;cursor:pointer;background:linear-gradient(150deg,#FFC23A,#EC820C);box-shadow:0 5px 0 #B85F00,0 12px 22px rgba(0,0,0,.28)}
.om-sp .om-sp-ic{grid-row:span 2;width:34px;height:34px}.om-sp b{font:800 1.05rem var(--display,inherit)}.om-sp small{font-weight:700;font-size:.78rem;opacity:.95}
.om.ouvert .om-sp{opacity:1;transform:translate(-50%,0)}
.om:has(.om-sp) .om-t{top:calc(var(--cy) - 445px)}
.om-sp .om-sp-ic svg{width:100%;height:100%}
@media (prefers-reduced-motion:reduce){.om-sp{transition:none}}

/* phase 2 : rappel doux, émotes, looks achetables, fond / cadre dans les défis et les groupes */
.pg-revoir{display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:2px 9px;border-radius:999px;font-size:.78rem;font-weight:800;background:color-mix(in srgb,var(--pg-bleu) 14%,var(--pg-fond));color:color-mix(in srgb,var(--pg-bleu) 80%,var(--ink));border:1.5px solid color-mix(in srgb,var(--pg-bleu) 35%,var(--pg-trait));width:max-content}
.pg-emo{width:1.6em;height:1.6em}
.pg-emo-v{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:color-mix(in srgb,var(--pg-or) 12%,var(--pg-fond))}.pg-emo-v .pg-emo{width:46px;height:46px}
.pg-a-toi{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:40px;width:100%;font-weight:800;color:var(--pg-vert)}
.df-av.df-deco{border:2px solid #fff;box-shadow:0 0 0 1.5px var(--line,#E4E2DA)}
.df-av.df-deco.pg-cadre-feuilles{border-color:#6DBF59;box-shadow:0 0 0 2px #2F8540}.df-av.df-deco.pg-cadre-etoiles{border-color:#FFE08A;box-shadow:0 0 0 2px #F7B733,0 0 8px 1px rgba(247,183,51,.6)}
.df-av.df-deco.pg-cadre-arcenciel{border-color:#fff;box-shadow:0 0 0 2px #F25F5C,0 0 0 4px #F7B733,0 0 0 6px #3BB273}.df-av.df-deco.pg-cadre-or{border-color:#FFD25A;box-shadow:0 0 0 2px #C98A10,0 0 10px 2px rgba(255,210,90,.7)}

.df-fab-menu .df-emo-l{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:250px}.df-fab-menu .df-emo-l:empty{display:none}
.df-fab-menu .df-emo-l button.df-emo{padding:6px;border-radius:50%;width:46px;height:46px;justify-content:center}.df-emo .pg-emo{width:30px;height:30px}
.df-emo-b{display:block}.df-emo-b .pg-emo{width:30px;height:30px}
.av-look.ferme.achat svg{filter:saturate(.7);opacity:.7}
.av-prix{position:absolute;right:2px;bottom:2px;display:inline-flex;align-items:center;gap:2px;padding:1px 6px 1px 2px;border-radius:999px;background:#fff;color:#7A5200;font-size:.72rem;font-weight:800;box-shadow:0 1px 3px rgba(0,0,0,.18)}
.av-croc{width:14px;height:14px;vertical-align:-2px}
.av-acheter{margin-left:6px;min-height:36px;padding:4px 12px;border-radius:12px;border:2px solid color-mix(in srgb,var(--pg-or) 55%,var(--pg-trait));background:color-mix(in srgb,var(--pg-or) 22%,var(--pg-fond));color:var(--ink);font:inherit;font-weight:800;cursor:pointer}
.av-buy-err{color:var(--crit,#C2412F);font-weight:700}

.av-look .av-prix svg.av-croc{width:14px;height:14px}
/* ogre dessiné (Nano Banana) dans un petit rond : zoom sur le buste selon l'étape (le dessin occupe le bas de sa case) */
.pg-deco svg.ogre-art,.df-av svg.ogre-art{margin-top:0;width:100%;height:100%}
.pg-deco svg.ogre-art[data-stade=bebe],.df-av svg.ogre-art[data-stade=bebe]{transform:scale(1.7);transform-origin:50% 80%}
.pg-deco svg.ogre-art[data-stade=petit],.df-av svg.ogre-art[data-stade=petit]{transform:scale(1.5);transform-origin:50% 76%}
.pg-deco svg.ogre-art[data-stade=apprenti],.df-av svg.ogre-art[data-stade=apprenti]{transform:scale(1.35);transform-origin:50% 72%}
.pg-deco svg.ogre-art[data-stade=savant],.df-av svg.ogre-art[data-stade=savant]{transform:scale(1.25);transform-origin:50% 68%}
.pg-deco svg.ogre-art[data-stade=legendaire],.df-av svg.ogre-art[data-stade=legendaire]{transform:scale(1.15);transform-origin:50% 62%}
