/* Olympe — espaces en marbre et or (accueil, montante), victoire, partage, intro du coffre. */
@font-face{font-family:"Cinzel";src:url(/fonts/cinzel.woff) format("woff");font-weight:400 900;font-display:swap}
@font-face{font-family:"Barlow Condensed";src:url(/fonts/barlow-condensed-800.woff) format("woff");font-weight:800;font-display:swap}
:root{--m-ink:#0e3b43;--m-sub:#3d5a5f;--m-faint:#5b6f70;--m-or:#a87400;--m-or2:#8a6a1e;--m-bord:#e2d5bd;--m-ombre:#c9b48e;--f-cin:"Cinzel",var(--f-display);--f-chif:"Barlow Condensed",var(--f-ui)}

/* ---------- Fond marbre ---------- */
.shell[data-espace="marbre"]{background:
  radial-gradient(600px 300px at 90% -5%,rgba(233,181,47,.16),transparent 70%),
  radial-gradient(500px 400px at -10% 40%,rgba(255,255,255,.9),transparent 70%),
  linear-gradient(180deg,#fbf7ef 0%,#f4eee2 55%,#ede4d3 100%)}
.shell[data-espace="marbre"] .page{color:var(--m-ink)}
.shell[data-espace="marbre"] .tabbar{background:linear-gradient(180deg,#fff,#f3ebdc);border:1px solid var(--m-bord);box-shadow:inset 0 2px 0 #fff,0 5px 0 #d3c1a0,0 20px 28px rgba(110,86,40,.25)}
.shell[data-espace="marbre"] .tab{color:var(--m-sub)}
.shell[data-espace="marbre"] .tab.on{color:#8a5c04}
.shell[data-espace="marbre"] .tab.on::after{background:#c99a1e}
.shell[data-espace="marbre"] .fab{box-shadow:inset 0 2px 0 rgba(255,255,255,.85),0 0 0 3px #b8862f,0 6px 0 3px #6b4a14,0 16px 22px rgba(110,86,40,.4)}
.shell[data-espace="marbre"] .toast{background:#0e3b43;color:#fff}

.o-page{display:flex;flex-direction:column;gap:12px}
.o-tete{display:flex;align-items:center;justify-content:space-between;margin:4px 2px 2px}
.o-bonjour{font-weight:600;font-size:14px;color:var(--m-faint)} .o-bonjour b{color:var(--m-or2)}
.o-logo{font-family:var(--f-cin);font-weight:900;font-size:30px;letter-spacing:3px;line-height:1.15;color:#c99a1e;
  text-shadow:0 1px 0 #fff3c4,0 2px 0 #a87400,0 3px 0 #8a5c04,0 4px 0 #6b4a14,0 8px 10px rgba(110,86,40,.4)}
.o-rond{width:46px;height:46px;border-radius:15px;display:grid;place-items:center;color:var(--m-or2);background:linear-gradient(180deg,#fff,#f3eada);border:1px solid var(--m-bord);box-shadow:0 3px 0 #d3c1a0,0 8px 12px rgba(110,86,40,.18)}
.o-rond svg{width:22px;height:22px}
.o-sur{font-family:var(--f-cin);font-weight:700;font-size:11px;letter-spacing:2.5px;color:var(--m-or2);margin:6px 2px 0}
.o-titre{font-family:var(--f-cin);font-weight:900;font-size:27px;line-height:1.15;margin:0 2px;color:var(--m-or);text-shadow:0 1px 0 #fff3c4,0 2px 0 #8a5c04,0 6px 8px rgba(110,86,40,.3)}
.o-retour{display:inline-flex;align-items:center;gap:6px;align-self:flex-start;background:none;border:0;color:var(--m-or2);font-weight:800;font-size:14px;min-height:40px;padding:0 4px}
.o-retour svg{width:16px;height:16px}
.o-section{font-family:var(--f-cin);font-weight:700;font-size:11px;letter-spacing:2.5px;color:var(--m-or2);margin:8px 4px -2px}
.o-k{font-weight:800;font-size:10.5px;letter-spacing:1.5px;color:#f3d58f} .o-k.cinzel{font-family:var(--f-cin);color:var(--m-or2)}
.o-petit{font-size:12.5px;color:var(--m-sub);margin:6px 0 0;line-height:1.5} .centre{text-align:center;display:block}
.o-note{font-size:13px;color:var(--m-sub);margin:0 4px;line-height:1.5}
.o-vide{font-size:14px;color:var(--m-sub);text-align:center;padding:18px 10px;margin:0}
.o-page .pos{color:#1f7a4d} .o-page .neg{color:#b23a22}

/* ---------- Blocs en relief ---------- */
.o-bloc{position:relative;border-radius:22px;padding:14px 16px;border:1px solid var(--m-bord);color:var(--m-ink);
  background:linear-gradient(180deg,#fff,#f6f0e4 55%,#ece2cf);
  box-shadow:inset 0 3px 0 #fff,0 2px 0 #e6d9c0,0 7px 0 #c9b48e,0 9px 0 #a8926a,0 22px 26px rgba(110,86,40,.26)}
button.o-bloc{text-align:left;font:inherit;width:100%}
.o-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.o-duo2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.o-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.o-trio .o-bloc{padding:12px 10px;text-align:center} .o-trio small{display:block;font-size:12px;font-weight:700;color:var(--m-faint)} .o-trio b{font:800 22px/1.2 var(--f-chif)}

.o-carte{display:flex;flex-direction:column;gap:4px;text-align:left;padding:14px;border-radius:22px;font:inherit;min-height:132px}
.o-carte.emeraude{color:#fff;background:linear-gradient(160deg,#1b5e4c,#0d3e32 60%,#072a22);border:1px solid rgba(243,213,143,.5);box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 6px 0 #04190f,0 8px 0 #020d08,0 18px 22px rgba(4,25,15,.3)}
.o-carte.marbre{color:var(--m-ink);background:linear-gradient(180deg,#fff,#f6f0e4 55%,#ece2cf);border:1px solid var(--m-bord);box-shadow:inset 0 2px 0 #fff,0 6px 0 #d3c1a0,0 8px 0 #a8926a,0 18px 22px rgba(110,86,40,.22)}
.o-carte small{font-size:12px;font-weight:600;opacity:.85}
.o-gros{font:800 28px/1.1 var(--f-chif);margin-top:4px}
.o-gros2{font:800 34px/1.1 var(--f-chif);margin:4px 0 6px} .o-gros2 small{font-size:20px;color:var(--m-faint)}
.o-barre{display:block;height:9px;border-radius:6px;margin-top:8px;background:#dcd0ba;box-shadow:inset 0 2px 3px rgba(110,86,40,.35);overflow:hidden}
.o-barre i{display:block;height:100%;border-radius:6px;background:linear-gradient(180deg,#fff0b0,#e9b52f 45%,#b07e0e);box-shadow:inset 0 1px 0 rgba(255,255,255,.7)}
.o-barre.sombre{background:rgba(0,0,0,.35)} .o-barre.sombre i{background:linear-gradient(180deg,#fff6d6,#f1d28b 40%,#c99a44)}
.o-barre.orange i{background:linear-gradient(180deg,#ffe2b0,#f0a53a 50%,#b06a0e)} .o-barre.rouge i{background:linear-gradient(180deg,#ffd0c4,#e5603f 50%,#9a2e14)}
.o-barre.vert i{background:linear-gradient(180deg,#c4f7df,#3fae7c 50%,#1b6e4a)}

/* ---------- Tuiles 3D ---------- */
.o-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.o-tuile{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 4px 12px;border-radius:20px;font:700 13px/1.2 var(--f-ui);color:var(--m-ink);
  background:linear-gradient(180deg,#fff,#f3eada);border:1px solid var(--m-bord);
  box-shadow:inset 0 3px 0 #fff,inset 0 -4px 0 rgba(160,130,80,.22),0 2px 0 #e6d9c0,0 8px 0 #c9b48e,0 10px 0 #a8926a,0 24px 26px rgba(110,86,40,.34);transition:transform .12s,box-shadow .12s}
.o-tuile:active{transform:translateY(6px);box-shadow:inset 0 3px 0 #fff,0 2px 0 #c9b48e,0 4px 0 #a8926a,0 8px 10px rgba(110,86,40,.3)}
.o-tuile span:last-child,.o-tuile>span:not(.o-gem){text-align:center}
.o-gem{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;position:relative}
.o-gem svg{width:26px;height:26px;position:relative;z-index:1}
.o-gem::after{content:"";position:absolute;left:6px;right:6px;top:3px;height:40%;border-radius:12px 12px 50% 50%;background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,0))}
.o-gem.vert{color:#f3d58f;background:radial-gradient(circle at 35% 28%,#3c9078,#14503f 60%,#072a21);box-shadow:inset 0 -4px 6px rgba(0,0,0,.45),0 4px 0 #04190f,0 9px 12px rgba(4,25,15,.45)}
.o-gem.or{color:#4a3304;background:linear-gradient(180deg,#fff3c4,#e9b52f 50%,#a87400);box-shadow:inset 0 -4px 6px rgba(90,58,6,.5),0 4px 0 #8a5c04,0 9px 12px rgba(110,86,40,.45)}
.o-gem.bleu{color:#ffe58e;background:linear-gradient(160deg,#1f7f89,#0e4b55);box-shadow:inset 0 -4px 6px rgba(0,0,0,.4),0 4px 0 #0a3a42,0 9px 12px rgba(10,58,66,.45)}
.o-gem.claude{color:#fff;background:radial-gradient(circle at 35% 28%,#f0a184,#d97757 55%,#8f3f22);box-shadow:inset 0 -4px 6px rgba(0,0,0,.35),0 4px 0 #6e2c14,0 9px 12px rgba(110,44,20,.4)}
.o-badge{position:absolute;top:8px;right:10px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#d97757;color:#fff;font:800 12px/22px var(--f-ui);font-style:normal;box-shadow:0 2px 0 #8f3f22}

/* ---------- Alertes ---------- */
.o-alertes{display:flex;flex-direction:column;gap:8px}
.o-alerte{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:16px;font-size:13px;line-height:1.4;border:1px solid var(--m-bord);background:#fff;color:var(--m-sub);box-shadow:0 3px 0 #e2d5bd}
.o-alerte b{color:var(--m-ink);font-size:14px}
.o-alerte.moyen{border-color:#f0b35a;background:#fff7e8;box-shadow:0 3px 0 #e6c58a}
.o-alerte.fort{border-color:#e5603f;background:#fff0ec;box-shadow:0 3px 0 #e8a493}
.o-alerte.claude{border-color:#d97757;background:#fff4ef}

/* ---------- Temple ---------- */
.o-temple-bloc{padding:12px 12px 14px}
.o-temple{display:block;width:100%;height:auto;filter:drop-shadow(0 6px 6px rgba(110,86,40,.25))}
.o-mt{text-align:center;margin-top:4px} .o-mt b{display:block;font:800 38px/1.1 var(--f-chif);color:var(--m-ink);text-shadow:0 2px 0 #fff,0 3px 0 #d3c1a0}
.o-mt span{font-size:12.5px;color:var(--m-sub);font-weight:600}
.o-obj{display:flex;flex-direction:column;gap:2px;padding:12px 14px} .o-obj b{font:800 26px/1.15 var(--f-chif)} .o-obj small{font-size:12px;color:var(--m-sub);font-weight:600;margin-top:4px}

/* ---------- Porte-monnaie ---------- */
.o-bande{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;border-radius:20px;font:inherit;text-align:left;color:var(--m-ink);border:1.5px solid #e9b52f;
  background:linear-gradient(180deg,#fffdf6,#fbf0d2);box-shadow:inset 0 2px 0 #fff,0 5px 0 #c99a1e,0 14px 18px rgba(110,86,40,.22)}
.o-bande small{display:block;font:700 10.5px/1 var(--f-cin);letter-spacing:1.5px;color:var(--m-or2)} .o-bande b{font:800 24px/1.2 var(--f-chif)}
.o-bande-d{flex:1;text-align:right;font-size:12px;font-weight:700;color:var(--m-sub)} .o-bande .chev{width:16px;height:16px;color:var(--m-or2)}
.o-piece{flex:none;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6cc,#ebb93a 55%,#9a6806);box-shadow:inset 0 -3px 0 rgba(90,58,6,.4),0 3px 0 #6e4a06;animation:oTourne 4s linear infinite}
.o-piece.grande{width:76px;height:76px}
@keyframes oTourne{0%,100%{transform:scaleX(1)}50%{transform:scaleX(.15)}}
.o-pm{display:flex;align-items:center;gap:16px} .o-pm small{font-weight:700;color:var(--m-faint)} .o-pm b{display:block;font:800 40px/1.1 var(--f-chif)}
.o-palier{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--m-bord);font-weight:700}
.o-palier:last-child{border:0}
.o-num{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font:800 14px/1 var(--f-chif);background:#ece2cf;color:var(--m-faint)}
.o-palier.ok .o-num{background:linear-gradient(180deg,#fff3c4,#e9b52f 50%,#a87400);color:#3b2604;box-shadow:0 2px 0 #8a5c04}
.o-palier.cur{background:#fff7dc;margin:0 -16px;padding:10px 16px} .o-palier.cur .o-num{border:2px solid #e9b52f;background:#fff}
.o-tresor b{display:block;font:800 30px/1.2 var(--f-chif);margin-top:6px} .o-tresor b small{font-size:18px;color:var(--m-faint)}

/* ---------- Listes ---------- */
.o-liste{padding:4px 16px}
.o-ligne{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--m-bord);background:none;font:inherit;color:var(--m-ink);text-align:left;min-height:56px}
.o-liste>.o-ligne:last-child,.o-liste>div:last-child .o-ligne{border-bottom:0}
.o-ligne-t{flex:1;min-width:0;display:flex;flex-direction:column} .o-ligne-t b{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .o-ligne-t small{font-size:12.5px;color:var(--m-faint);font-weight:600}
.o-ligne-m{font:800 18px/1 var(--f-chif);white-space:nowrap}
.o-pastille{flex:none;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;font:800 15px/1 var(--f-chif);color:#fff;background:#b9ab90;box-shadow:0 3px 0 #8f8268}
.o-pastille.gagne{background:linear-gradient(180deg,#3fae7c,#1b6e4a);box-shadow:0 3px 0 #0e4430} .o-pastille.perdu{background:linear-gradient(180deg,#e5603f,#9a2e14);box-shadow:0 3px 0 #5e1a0a}
.o-pastille.attente{background:linear-gradient(180deg,#fff3c4,#e9b52f);color:#4a3304;box-shadow:0 3px 0 #a87400}
.o-attente{border-bottom:1px solid var(--m-bord);padding-bottom:10px} .o-attente .o-ligne{border:0}
.o-rapide{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-left:46px}
.o-rapide button{min-height:40px;border-radius:12px;border:0;font-weight:800;font-size:13.5px;color:#fff}
.o-rapide .v{background:linear-gradient(180deg,#3fae7c,#1b6e4a);box-shadow:0 3px 0 #0e4430} .o-rapide .p{background:linear-gradient(180deg,#e5603f,#9a2e14);box-shadow:0 3px 0 #5e1a0a}
.o-ligne-v{display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--m-bord)} .o-ligne-v .o-ligne{border:0;flex:1}
.o-mini{background:none;border:0;padding:0} .o-mini .o-gem{width:40px;height:40px;border-radius:12px} .o-mini .o-gem svg{width:20px;height:20px}
.o-x{background:none;border:0;color:var(--m-faint);width:40px;height:40px} .o-x svg{width:18px;height:18px}

/* ---------- Formulaires ---------- */
.o-champ{display:flex;flex-direction:column;gap:6px}
.o-champ label{font-weight:700;font-size:12.5px;color:var(--m-sub)} .o-champ label small{font-weight:600;color:var(--m-faint)} .o-champ>small{font-size:11.5px;color:var(--m-faint)}
.o-champ input,.o-champ select,.o-champ textarea{width:100%;min-height:50px;border-radius:14px;border:1px solid #d3c1a0;background:#fff;font:700 16px/1.3 var(--f-ui);color:var(--m-ink);padding:10px 14px;box-shadow:inset 0 2px 4px rgba(110,86,40,.12)}
.o-champ textarea{min-height:64px;font-weight:600;font-size:14px;resize:vertical}
.o-champ input:focus,.o-champ select:focus,.o-champ textarea:focus{outline:2px solid #e9b52f;outline-offset:1px}
.o-puces{display:flex;flex-wrap:wrap;gap:8px}
.o-puces button,.o-puces span{min-height:42px;padding:0 14px;border-radius:14px;border:1px solid var(--m-bord);background:linear-gradient(180deg,#fff,#f3eada);font:700 14px/1 var(--f-ui);color:var(--m-ink);box-shadow:0 3px 0 #d3c1a0;display:inline-flex;align-items:center}
.o-puces button.on{background:linear-gradient(180deg,#fff3c4,#f2c34a 50%,#c99a1e);border-color:#c99a1e;color:#3b2604;box-shadow:0 3px 0 #8a5c04}
.o-puces.fixes span{min-height:34px;font-size:12.5px;background:#ede4d3;box-shadow:none}
.o-seg2,.o-seg3{display:grid;gap:6px;padding:5px;border-radius:16px;background:#e6dcc8;box-shadow:inset 0 2px 5px rgba(110,86,40,.3)}
.o-seg2{grid-template-columns:1fr 1fr} .o-seg3{grid-template-columns:1fr 1fr 1fr}
.o-seg2 button,.o-seg3 button{min-height:46px;border:0;border-radius:12px;background:none;font:800 14px/1.2 var(--f-ui);color:var(--m-sub)}
.o-seg2 button.on,.o-seg3 button.on{background:linear-gradient(180deg,#fff3c4,#f2c34a 50%,#c99a1e);color:#3b2604;box-shadow:0 3px 0 #8a5c04}
.o-seg3 button.on.gagne{background:linear-gradient(180deg,#c4f7df,#3fae7c 50%,#1b6e4a);color:#fff;box-shadow:0 3px 0 #0e4430}
.o-seg3 button.on.perdu{background:linear-gradient(180deg,#ffd0c4,#e5603f 50%,#9a2e14);color:#fff;box-shadow:0 3px 0 #5e1a0a}
.o-btn{min-height:54px;border-radius:16px;border:0;font:800 15.5px/1.2 var(--f-ui);padding:0 14px;width:100%}
.o-btn.or{color:#3b2604;background:linear-gradient(180deg,#fff3c4,#f2c34a 50%,#c99a1e);box-shadow:inset 0 1px 0 #fff,0 5px 0 #8a5c04,0 12px 18px rgba(110,86,40,.3)}
.o-btn.clair{color:var(--m-or2);background:#fff;border:1px solid var(--m-bord);box-shadow:0 4px 0 #d3c1a0}
.o-btn.fonce{color:#fff;background:#141416;border:1px solid #d97757;box-shadow:0 4px 0 #000}
.o-btn.rouge{color:#b23a22;background:#fff;border:1px solid #e8a493;box-shadow:0 4px 0 #e8a493}
.o-btn:active{transform:translateY(3px)}
.o-lien{background:none;border:0;color:var(--m-or2);font-weight:800;padding:8px 0}
.o-cal{border-radius:22px;padding:12px;background:linear-gradient(180deg,#fff,#f6f0e4);border:1px solid var(--m-bord);box-shadow:inset 0 3px 0 #fff,0 6px 0 #c9b48e,0 16px 20px rgba(110,86,40,.2)}
.o-cal-t{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px} .o-cal-t b{font:800 18px/1 var(--f-chif);text-transform:capitalize}
.o-cal-t button{width:44px;height:44px;border-radius:12px;border:1px solid var(--m-bord);background:#fff;color:var(--m-or2);display:grid;place-items:center;box-shadow:0 2px 0 #d3c1a0} .o-cal-t svg{width:16px;height:16px}
.o-cal-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}
.o-cal-j{font:700 11px/26px var(--f-ui);color:var(--m-faint)}
.o-cal-g button{aspect-ratio:1;min-height:40px;border-radius:12px;border:0;background:none;font:700 15px/1 var(--f-ui);color:var(--m-ink)}
.o-cal-g button.auj{box-shadow:inset 0 0 0 2px #e9b52f}
.o-cal-g button.on{background:linear-gradient(180deg,#fff3c4,#f2c34a 50%,#c99a1e);color:#3b2604;box-shadow:0 3px 0 #8a5c04}
.o-apercu{border-radius:20px;padding:14px 16px;background:linear-gradient(160deg,#1f7f89,#0e4b55 55%,#0a3a42);color:#fff;border:1.5px solid #e9b52f;box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 6px 0 #6e5212,0 16px 20px rgba(14,59,67,.3)}
.o-apercu .o-k.cinzel{color:#ffe58e} .o-apercu .o-petit{color:#cdebee}
.o-ap-l{display:flex;align-items:center;gap:10px;font:800 22px/1.2 var(--f-chif);margin-top:6px} .o-ap-l span{color:#cdebee} .o-ap-l b{color:#ffe58e;font-size:28px} .o-ap-l svg{width:18px;height:18px;color:#ffe58e}
.o-ap-k{display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin-top:8px;font-size:13.5px;color:#cdebee} .o-ap-k b{color:#fff;text-align:right} .o-apercu .pos{color:#8ff0c6} .o-apercu .neg{color:#ffb4a2}
.o-mois{display:flex;align-items:center;justify-content:space-between;gap:8px}
.o-mois b{font:800 20px/1 var(--f-chif)} .o-mois button{width:46px;height:46px;border-radius:14px;border:1px solid var(--m-bord);background:#fff;color:var(--m-or2);display:grid;place-items:center;box-shadow:0 3px 0 #d3c1a0}
.o-mois button:disabled{opacity:.4} .o-mois svg{width:16px;height:16px}

/* ---------- Chantiers, analyses, match, partage ---------- */
.o-carte-bleue{color:#fff;background:linear-gradient(160deg,#1f7f89,#0e4b55 60%,#0a3a42);border-color:rgba(255,229,142,.5);box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 6px 0 #0a3a42,0 8px 0 #052126,0 18px 22px rgba(10,58,66,.3)}
.o-carte-bleue small{font-weight:700;color:#cdebee} .o-carte-bleue b{display:block;font:800 36px/1.15 var(--f-chif)} .o-carte-bleue span{font-size:13px;color:#cdebee}
.o-tag{display:inline-block;font:800 10.5px/1.2 var(--f-ui);letter-spacing:1px;font-style:normal;padding:4px 9px;border-radius:8px;background:#0e4b55;color:#ffe58e;margin-bottom:4px;align-self:flex-start}
.o-tag.clair{background:#f3d58f;color:#3b2604} .o-tag.or{background:#ffe58e;color:#3b2604}
.o-ch-t{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:0;font:inherit;color:inherit;text-align:left}
.o-ch-d{margin-top:8px} .o-coche{flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center;border:2px solid #d3c1a0;background:#fff}
.o-coche.on{background:linear-gradient(180deg,#c4f7df,#3fae7c);border-color:#1b6e4a} .o-coche svg{width:18px;height:18px}
.o-ent{display:flex;justify-content:space-between;align-items:center;gap:8px} .o-ent small{font-size:12px;color:var(--m-faint);font-weight:600}
.o-ttl{display:block;font:800 21px/1.2 var(--f-chif);margin-top:6px}
.o-ana p,.o-prop p{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--m-sub)} .o-texte{max-height:none}
.o-ana .o-puces{margin:10px 0} .o-ana.neuve{border-color:#d97757}
.o-prop{color:#fff;background:linear-gradient(160deg,#1b5e4c,#0d3e32 60%,#072a22);border-color:rgba(243,213,143,.5);box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 6px 0 #04190f,0 8px 0 #020d08,0 20px 24px rgba(4,25,15,.35)}
.o-prop p{color:#cfe0d8} .o-prop .o-ent small{color:#cfe0d8} .o-prop .o-duo2{margin-top:12px} .o-etat{font-weight:800;color:#f3d58f!important}
.o-cadenas{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:#fff;border:1px solid var(--m-bord);font:600 12.5px/1.45 var(--f-ui);color:var(--m-sub)}
.o-cadenas svg{flex:none;width:22px;height:22px;stroke:#8a6a1e}
.o-choix{color:#fff;background:linear-gradient(160deg,#1f7f89,#0e4b55 55%,#0a3a42);border:1.5px solid #e9b52f;box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 6px 0 #6e5212,0 8px 0 #3e2a08,0 22px 28px rgba(14,59,67,.35)}
.o-choix .o-ent small{color:#cdebee} .o-choix.vide p{color:#cdebee;font-size:14px;line-height:1.5}
.o-vs{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:14px;text-align:center} .o-vs>div{flex:1} .o-vs b{display:block;font:800 16px/1.2 var(--f-chif);margin-top:6px}
.o-vs em{font:900 20px/1 var(--f-cin);color:#ffe58e;font-style:normal}
.o-ecusson{display:block;width:54px;height:54px;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#cfd8da 60%,#7e9396);box-shadow:0 4px 0 #0a3a42}
.o-cotes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;text-align:center}
.o-cotes>div{padding:8px 4px;border-radius:12px;background:rgba(255,255,255,.1)} .o-cotes small{display:block;font-size:12px;font-weight:700;color:#cdebee} .o-cotes b{font:800 17px/1.3 var(--f-chif);color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block} .o-cotes b.or{color:#ffe58e}
.o-c{font-size:13.5px;color:#cdebee;margin:0 0 12px}
.o-carte-partage{padding:18px;border-radius:26px;color:#fff;background:radial-gradient(90% 70% at 30% 10%,#1f7f89 0%,#0e4b55 55%,#06262c 100%);border:1.5px solid #e9b52f;
  box-shadow:inset 0 2px 0 rgba(255,255,255,.3),0 6px 0 #6e5212,0 8px 0 #3e2a08,0 24px 30px rgba(14,59,67,.4);transform:perspective(900px) rotateX(4deg)}
.o-carte-partage small{color:#cdebee;font-size:12.5px;display:block;margin-top:10px}
.o-mini-logo{font:900 16px/1 var(--f-cin);letter-spacing:3px;color:#ffe58e}
.o-etat-p{font:800 11px/1 var(--f-ui);letter-spacing:1px;font-style:normal;padding:6px 10px;border-radius:999px;background:#8a6a1e} .o-etat-p.gagne{background:#1f7a4d} .o-etat-p.perdu{background:#a33a26}
.o-inter{flex:none;width:52px;height:30px;border-radius:999px;background:#cfc3ac;position:relative;transition:background .2s}
.o-inter i{position:absolute;left:3px;top:3px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 3px rgba(0,0,0,.25);transition:left .2s}
.o-inter.on{background:#1f7a4d} .o-inter.on i{left:25px}
.o-tuile-l{display:flex;flex-direction:column;align-items:flex-start;gap:8px} .o-tuile-l b{display:block;font-size:14.5px} .o-tuile-l small{font-size:12px;color:var(--m-faint);font-weight:600}
.o-barres{display:block;width:100%;height:auto;margin-top:8px}

/* Choix du bouton + */
.ajout-choix{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:16px 18px;border-radius:18px;border:1px solid rgba(243,213,143,.4);text-align:left;color:#fff;font:inherit;
  background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));box-shadow:0 4px 0 rgba(0,0,0,.45)}
.ajout-choix b{font-size:17px} .ajout-choix small{color:var(--muted);font-size:13px}
.ajout-choix.pari{border-color:#e9b52f;background:linear-gradient(180deg,rgba(233,181,47,.25),rgba(233,181,47,.06))}

/* ---------- Pari gagnant ---------- */
.victoire{position:fixed;inset:0;z-index:120;overflow:hidden;color:#fff;font-family:var(--f-ui);opacity:0;transition:opacity .25s;
  background:radial-gradient(70% 45% at 50% 40%,#1f7f89 0%,#0e4b55 45%,#06262c 100%)}
.victoire.on{opacity:1}
.v-rayons{position:absolute;left:50%;top:42%;width:180vmax;height:180vmax;margin:-90vmax 0 0 -90vmax;border-radius:50%;
  background:repeating-conic-gradient(from 0deg,rgba(255,229,142,.16) 0deg 7deg,transparent 7deg 18deg);-webkit-mask:radial-gradient(circle,#000 10%,transparent 55%);mask:radial-gradient(circle,#000 10%,transparent 55%);animation:vRay 30s linear infinite}
@keyframes vRay{to{transform:rotate(360deg)}}
.v-flash{position:absolute;inset:0;background:#fff6c8;animation:vFlash 1.6s linear forwards}
@keyframes vFlash{0%{opacity:0}10%{opacity:.9}18%{opacity:.2}26%{opacity:.8}60%,100%{opacity:0}}
.v-foudre{position:absolute;left:50%;top:0;width:120px;height:260px;margin-left:-60px;animation:vFoudre 1.6s linear forwards;filter:drop-shadow(0 0 18px #ffe58e)}
@keyframes vFoudre{0%{opacity:0}10%,40%{opacity:1}70%,100%{opacity:0}}
.v-pieces{position:absolute;inset:0;pointer-events:none}
.v-piece{position:absolute;top:-40px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff6cc,#ebb93a 55%,#9a6806);box-shadow:0 2px 0 #6e4a06;animation:vPiece 2.6s linear infinite}
@keyframes vPiece{0%{transform:translateY(-40px) rotate(0)}100%{transform:translateY(110vh) rotate(720deg)}}
.v-centre{position:absolute;left:0;right:0;top:24%;text-align:center;padding:0 20px}
.v-titre{font:900 46px/1.05 var(--f-cin);letter-spacing:2px;color:#ffe58e;animation:vTitre .7s cubic-bezier(.2,.8,.2,1) .3s both;
  text-shadow:0 1px 0 #fff6d6,0 2px 0 #c99a1e,0 3px 0 #a87400,0 4px 0 #8a5c04,0 5px 0 #6b4a14,0 6px 0 #4a3304,0 14px 18px rgba(0,0,0,.55)}
@keyframes vTitre{0%{opacity:0;transform:scale(2.2)}70%{opacity:1;transform:scale(.94)}100%{transform:scale(1)}}
.v-gain{font:800 64px/1.1 var(--f-chif);margin-top:14px;text-shadow:0 3px 0 #0a3a42,0 10px 16px rgba(0,0,0,.5);animation:vGain .6s ease-out .9s both}
@keyframes vGain{0%{opacity:0;transform:translateY(20px)}100%{opacity:1;transform:none}}
.v-msg{font:800 17px/1.3 var(--f-ui);color:#ffe58e;margin-top:6px;animation:vGain .6s ease-out 1.1s both} .v-sous{font-size:14px;color:#cdebee;margin-top:4px;animation:vGain .6s ease-out 1.2s both}
.v-bas{position:absolute;left:0;right:0;bottom:150px;display:flex;justify-content:space-around;align-items:flex-end}
.v-ballon .ballon{max-width:none}
.v-ballon{animation:vBallon 1.6s cubic-bezier(.3,.6,.4,1) .4s both}
@keyframes vBallon{0%{transform:translate(-50vw,-30vh) rotate(0)}55%{transform:translate(0,0) rotate(360deg)}72%{transform:translate(0,-50px) rotate(420deg)}100%{transform:none}}
.v-colonne{width:44px;height:110px;border-radius:6px;background:linear-gradient(90deg,#bdb19a,#fff 35%,#a99c82);box-shadow:0 6px 10px rgba(0,0,0,.4);overflow:hidden;position:relative}
.v-colonne i{position:absolute;left:3px;right:3px;bottom:0;height:100%;transform-origin:50% 100%;background:linear-gradient(90deg,#6e3f02,#e9a522 30%,#ffe07a 50%,#c47a0c 75%,#5a3002);animation:vCol 1.8s cubic-bezier(.3,.7,.3,1) 1s both}
@keyframes vCol{from{transform:scaleY(var(--de))}to{transform:scaleY(var(--a))}}
.v-btns{position:absolute;left:22px;right:22px;bottom:calc(var(--safe-b) + 40px);display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v-b{min-height:56px;border-radius:16px;font:800 16px/1 var(--f-ui)}
.v-b.clair{border:1px solid rgba(255,229,142,.6);background:rgba(255,255,255,.08);color:#ffe58e} .v-b.or{border:0;background:linear-gradient(180deg,#fff3c4,#f2c34a 50%,#c99a1e);color:#3b2604;box-shadow:0 5px 0 #8a5c04}
.v-petit .v-rayons{opacity:.6} .v-palier .v-titre{font-size:50px}
.victoire.v-reduit *{animation:none!important}

@media (prefers-reduced-motion: reduce){.o-piece{animation:none}.v-rayons,.v-piece{animation:none}}
@media (max-width:360px){.o-grille{gap:9px}.o-tuile{font-size:12px}.o-gem{width:46px;height:46px}.o-gros{font-size:24px}}

/* ---------- Intro : coffre d'acier, ballons, OLYMPE ---------- */
.intro{position:fixed;inset:0;z-index:100;overflow:hidden;background:radial-gradient(80% 50% at 50% 40%,#2a2416 0%,#14110a 55%,#070604 100%);transition:opacity .6s}
.intro.out{opacity:0;pointer-events:none}
.iv-fond{position:absolute;inset:0;background:radial-gradient(70% 55% at 50% 40%,transparent 50%,rgba(0,0,0,.7))}
.iv-scene{position:absolute;left:50%;top:50%;width:390px;height:780px;margin:-390px 0 0 -195px;transform:scale(var(--k,1));transform-origin:50% 50%}
.i-passer{position:absolute;top:calc(var(--safe-t) + 14px);right:max(14px,var(--safe-r));z-index:8;min-height:44px;padding:0 16px;border-radius:999px;border:1px solid rgba(243,213,143,.5);background:rgba(20,17,10,.55);color:#f3d58f;font-weight:800;font-size:14px}
.iv-lumiere{position:absolute;left:30px;top:120px;width:330px;height:330px;border-radius:50%;opacity:0;background:radial-gradient(circle,rgba(255,240,190,.95),rgba(240,190,80,.5) 35%,transparent 70%)}
.iv-rayons{position:absolute;left:-60px;top:-10px;width:510px;height:600px;opacity:0;background:repeating-conic-gradient(from 0deg at 50% 50%,rgba(255,230,160,.2) 0deg 6deg,rgba(255,230,160,0) 6deg 18deg);
  -webkit-mask:radial-gradient(circle at 50% 50%,#000 25%,transparent 60%);mask:radial-gradient(circle at 50% 50%,#000 25%,transparent 60%)}
.iv-coffre-cadre{position:absolute;left:50px;top:140px;width:290px;height:290px;perspective:900px}
.iv-coffre{position:absolute;inset:0;transform-style:preserve-3d}
.iv-couche{position:absolute;inset:0;border-radius:34px}
.iv-face{position:absolute;inset:0;border-radius:34px;background:linear-gradient(145deg,#a8a8b0 0%,#64646c 45%,#3c3c42 100%);box-shadow:inset 0 3px 0 rgba(255,255,255,.45),inset 0 -4px 0 rgba(0,0,0,.45),0 30px 40px rgba(0,0,0,.6);transform-style:preserve-3d}
.iv-face::before{content:"";position:absolute;inset:10px;border-radius:26px;border:2px solid rgba(255,255,255,.12);box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.iv-trou{position:absolute;left:28px;top:28px;width:234px;height:234px;border-radius:50%;background:radial-gradient(circle,#fff3c8 0%,#e8b95a 35%,#3a2a0a 75%,#0a0703 100%);box-shadow:inset 0 0 0 10px #1e1e21}
.iv-porte-cadre{position:absolute;left:28px;top:28px;width:234px;height:234px;perspective:700px;transform-style:preserve-3d}
.iv-porte{position:absolute;inset:0;transform-origin:0 50%;transform-style:preserve-3d}
.iv-porte svg{position:absolute;inset:0;width:100%;height:100%}
.iv-dos{position:absolute;inset:0;border-radius:50%;background:#6b4a14}
.iv-volant{transform-origin:117px 117px}
.iv-gond{position:absolute;right:-10px;width:20px;height:40px;border-radius:6px;background:linear-gradient(90deg,#3c3c42,#a8a8b0,#3c3c42)}
.iv-ballons{position:absolute;left:195px;top:285px;width:0;height:0;z-index:4}
.iv-balle{position:absolute;left:0;top:0;width:max-content;line-height:0;transform:translate(-50%,-50%) scale(.1);opacity:0}
.iv-balle .ballon{display:block;max-width:none;filter:drop-shadow(0 8px 8px rgba(0,0,0,.55))}
.iv-titre{position:absolute;left:0;right:0;top:500px;z-index:5;opacity:0}
.iv-titre svg{display:block;width:390px;height:120px;overflow:visible}
.iv-titre text{font-family:"Cinzel",var(--f-display);font-weight:900}
.iv-sous{position:absolute;left:0;right:0;top:622px;z-index:5;text-align:center;font-weight:800;font-size:12.5px;letter-spacing:5px;color:#f3d58f;text-shadow:0 2px 6px rgba(0,0,0,.8);opacity:0}
.iv-entrer{position:absolute;left:0;right:0;top:668px;z-index:5;text-align:center;opacity:0}
.intro .cta-gold{border:0;color:#3b2604;background:linear-gradient(180deg,#fff3c4,#f2c34a 50%,#c99a1e);box-shadow:inset 0 1px 0 #fff,0 5px 0 #8a5c04,0 14px 22px rgba(0,0,0,.5)}
.intro.play .iv-coffre{animation:ivTourne 1.4s cubic-bezier(.4,0,.2,1) both}
.intro.play .iv-volant{animation:ivVolant .9s 1.35s cubic-bezier(.4,0,.2,1) both}
.intro.play .iv-porte{animation:ivPorte 1s 2.2s cubic-bezier(.5,0,.3,1) both}
.intro.play .iv-lumiere{animation:ivLumiere 1s 2.4s ease-out both}
.intro.play .iv-rayons{animation:ivRayons 6s 2.5s ease-out both}
.intro.play .iv-balle{animation:ivBalle 1.2s calc(2.7s + var(--d)) cubic-bezier(.2,.8,.2,1) both}
.intro.play .iv-titre{animation:ivTitre .9s 3.6s cubic-bezier(.2,.8,.2,1) both}
.intro.play .iv-sous{animation:ivSous .8s 4.2s ease-out both}
.intro.play .iv-entrer{animation:ivEntrer .7s 4.6s ease-out both}
.intro.statique .iv-porte{transform:rotateY(-80deg)}.intro.statique .iv-lumiere,.intro.statique .iv-titre,.intro.statique .iv-sous,.intro.statique .iv-entrer{opacity:1}
.intro.statique .iv-balle{opacity:1;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) rotate(var(--r))}
@keyframes ivTourne{0%{transform:rotateY(-70deg) scale(.7)}85%{transform:rotateY(370deg) scale(1)}100%{transform:rotateY(360deg) scale(1)}}
@keyframes ivVolant{to{transform:rotate(-320deg)}}
@keyframes ivPorte{to{transform:rotateY(-80deg)}}
@keyframes ivLumiere{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}
@keyframes ivRayons{0%{opacity:0;transform:rotate(0)}15%{opacity:.9}to{opacity:.7;transform:rotate(25deg)}}
@keyframes ivBalle{0%{opacity:0;transform:translate(-50%,-50%) scale(.1) rotate(0)}15%{opacity:1}80%{transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y) - 10px)) scale(1.05) rotate(var(--r))}100%{opacity:1;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1) rotate(var(--r))}}
@keyframes ivTitre{0%{opacity:0;transform:translateY(-20px) scale(1.3);filter:blur(6px)}to{opacity:1;transform:none;filter:none}}
@keyframes ivSous{0%{opacity:0;letter-spacing:12px}to{opacity:1;letter-spacing:5px}}
@keyframes ivEntrer{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* ---------- Premier lancement en marbre ---------- */
.compte-ecran,.compte-ecran[data-choix="B"]{background:radial-gradient(600px 300px at 90% -5%,rgba(233,181,47,.16),transparent 70%),linear-gradient(180deg,#fbf7ef 0%,#f4eee2 55%,#ede4d3 100%)}
.compte-ecran .ce-tete h1{font-family:var(--f-cin);background:none;color:var(--m-or);-webkit-text-fill-color:currentColor;text-shadow:0 1px 0 #fff3c4,0 2px 0 #8a5c04,0 6px 8px rgba(110,86,40,.3);font-size:24px}
.compte-ecran .ce-tete p{color:var(--m-sub)}
.compte-ecran .ce-carte{color:var(--m-ink);border:1px solid var(--m-bord);background:linear-gradient(180deg,#fff,#f3eada);box-shadow:inset 0 2px 0 #fff,0 6px 0 #d3c1a0,0 16px 22px rgba(110,86,40,.2)}
.compte-ecran .ce-carte b{font-family:var(--f-chif);font-weight:800;font-size:21px;color:var(--m-ink)}
.compte-ecran .ce-carte small{color:var(--m-faint)}
.compte-ecran .ce-carte.on{border:2px solid #e9b52f;box-shadow:inset 0 2px 0 #fff,0 6px 0 #c9961e,0 0 0 4px rgba(233,181,47,.25),0 16px 22px rgba(110,86,40,.25)}
.compte-ecran .gemme text{font-family:var(--f-cin)}
.compte-ecran label{color:var(--m-sub)}
.compte-ecran .inp{background:#fff;color:var(--m-ink);border:1px solid #d3c1a0;box-shadow:inset 0 2px 4px rgba(110,86,40,.12)}
.compte-ecran .ce-avert{color:var(--m-sub);background:#fff;border-color:var(--m-bord)}
.compte-ecran .ce-avert svg{color:var(--m-or2)}

/* ---------- Budget et Plus sur fond marbre (cartes émeraude) ---------- */
.shell[data-espace="emeraude"]{background:radial-gradient(600px 300px at 90% -5%,rgba(233,181,47,.16),transparent 70%),linear-gradient(180deg,#fbf7ef 0%,#f4eee2 55%,#ede4d3 100%)}
.shell[data-espace="emeraude"] .g{background:linear-gradient(155deg,rgba(255,255,255,.17),rgba(255,255,255,.04) 40%,rgba(255,255,255,.06)),linear-gradient(160deg,#1b5e4c,#0d3e32 60%,#072a22);
  box-shadow:inset 0 1.5px 0 rgba(255,255,255,.38),inset 0 -2px 0 rgba(0,0,0,.35),0 5px 0 #04190f,0 7px 0 #a8926a,0 18px 24px rgba(110,86,40,.3)}
.shell[data-espace="emeraude"] .top .hello,.shell[data-espace="emeraude"] .h-sub,.shell[data-espace="emeraude"] .page>.note,.shell[data-espace="emeraude"] .page>.stack:not(.g)>.note,.shell[data-espace="emeraude"] .page>p{color:#3d5a5f}
.shell[data-espace="emeraude"] .badge-compte{color:#8a5c04;border-color:#c99a1e;background:#fff7dc}
.shell[data-espace="emeraude"] .h-title{background:none;-webkit-text-fill-color:currentColor;color:#a87400;font-family:var(--f-cin);font-size:26px;filter:none;text-shadow:0 1px 0 #fff3c4,0 2px 0 #8a5c04,0 6px 8px rgba(110,86,40,.3)}
.shell[data-espace="emeraude"] .back{color:#8a6a1e}
.shell[data-espace="emeraude"] .lbl.out,.shell[data-espace="emeraude"] .page>.lbl,.shell[data-espace="emeraude"] .page>.stack:not(.g)>.lbl{color:#8a6a1e;text-shadow:none}
.shell[data-espace="emeraude"] .mbar .mnav,.shell[data-espace="emeraude"] .mbar .mcur{background:linear-gradient(160deg,#1b5e4c,#0d3e32)}
.shell[data-espace="emeraude"] .seg{background:#e6dcc8;box-shadow:inset 0 2px 5px rgba(110,86,40,.3)}
.shell[data-espace="emeraude"] .seg button{color:#3d5a5f}.shell[data-espace="emeraude"] .seg button.on{color:#3b2604}
.shell[data-espace="emeraude"] .tabbar{background:linear-gradient(180deg,#fff,#f3ebdc);border:1px solid #e2d5bd;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 2px 0 #fff,0 5px 0 #d3c1a0,0 20px 28px rgba(110,86,40,.25)}
.shell[data-espace="emeraude"] .tab{color:#3d5a5f}.shell[data-espace="emeraude"] .tab.on{color:#8a5c04}.shell[data-espace="emeraude"] .tab svg{filter:none}
.shell[data-espace="emeraude"] .toast{background:#0e3b43;color:#fff}
