:root{box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);color-scheme:light;
--bg:#F6F7F9;--surface:#FFFFFF;--ink:#0A2342;--muted:#56637A;--primary:#0A2342;--on-primary:#FFFFFF;--accent:#F0732F;--soft:#FFF1E8;--line:#E3E7EE;--radius:18px;--radius-sm:12px;
--font-title:"Fredoka","Figtree",ui-rounded,system-ui,sans-serif;--font-body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;}
html{scroll-padding-top:env(safe-area-inset-top,0px);height:100%}
*,*::before,*::after{box-sizing:inherit}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){color-scheme:light}}
:root[data-theme="dark"]{color-scheme:light}

/* Identité de démonstration : charte La Régie de Fernand */
:root[data-skin="fernand"]{--sc-deep:#0A2342;--sc-mid:#1C4A86;--sc-hi:#F0732F;--sc-hi2:#FFC9A6;--sc-hi-ink:#0C0D10;--on-accent:#FFF;--bg:#F6F7F9;--surface:#FFFFFF;--ink:#0A2342;--muted:#56637A;--primary:#0A2342;--on-primary:#FFF;--accent:#F0732F;--soft:#FFF1E8;--line:#E3E7EE;--radius:18px}
/* Les 4 identités */
:root[data-skin="pinede"]{--sc-deep:#142A1A;--sc-mid:#2F5D3A;--sc-hi:#E0B83A;--sc-hi2:#F3DFA0;--sc-hi-ink:#0C0D10;--on-accent:#1F2A1F;--bg:#F2F4EC;--surface:#FFFFFF;--ink:#1F2A1F;--muted:#5E6B5C;--primary:#2F5D3A;--on-primary:#FFF;--accent:#E0B83A;--soft:#DFE8D6;--line:#D3DCC9;--radius:14px}
:root[data-skin="riviere"]{--sc-deep:#0B2B44;--sc-mid:#1E5C8A;--sc-hi:#2BB3A3;--sc-hi2:#A9E6DE;--sc-hi-ink:#0C0D10;--on-accent:#FFF;--bg:#EEF4F8;--surface:#FFFFFF;--ink:#13293D;--muted:#51677A;--primary:#1E5C8A;--on-primary:#FFF;--accent:#2BB3A3;--soft:#D6E6F1;--line:#C8DAE7;--radius:22px}
:root[data-skin="tournesol"]{--sc-deep:#2A1B47;--sc-mid:#6B4FA0;--sc-hi:#F29A3E;--sc-hi2:#FFD7A8;--sc-hi-ink:#0C0D10;--on-accent:#FFF;--bg:#FFF7E3;--surface:#FFFFFF;--ink:#3A2A12;--muted:#7A6546;--primary:#E07F1F;--on-primary:#FFF;--accent:#6B4FA0;--soft:#FBE7BF;--line:#F0DCB3;--radius:26px}
:root[data-skin="nuit"]{--sc-deep:#10141F;--sc-mid:#2C3654;--sc-hi:#F2C14E;--sc-hi2:#FBE3A6;--sc-hi-ink:#0C0D10;--on-accent:#161C2E;--bg:#161C2E;--surface:#212A42;--ink:#EEF1F8;--muted:#A3AEC6;--primary:#F2C14E;--on-primary:#161C2E;--accent:#8FB8DE;--soft:#2C3654;--line:#35415F;--radius:6px;color-scheme:dark}

body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:16px;line-height:1.5;transition:background .3s,color .3s}
h1,h2,h3{font-family:var(--font-title);line-height:1.15;margin:0 0 .4em;letter-spacing:-.01em}
h1{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}
h2{font-size:1.45rem;font-weight:700}
h3{font-size:1.1rem;font-weight:700}
p{margin:0 0 .8em;max-width:68ch}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.muted{color:var(--muted)}

/* Structure */
.app{display:grid;grid-template-columns:240px 1fr;min-height:100vh}
.side{background:var(--surface);border-right:1px solid var(--line);padding:20px 14px;display:flex;flex-direction:column;gap:18px;position:sticky;top:env(safe-area-inset-top,0px);height:100vh;overflow:auto}
.brand{display:flex;align-items:center;gap:10px;padding:0 6px}
.logo{width:42px;height:42px;border-radius:var(--radius-sm);background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-family:var(--font-title);font-weight:800;font-size:1.4rem;flex:none}
.brand b{font-family:var(--font-title);font-size:1.05rem;display:block;line-height:1.1}
.brand small{color:var(--muted);font-size:.8rem}
.nav{display:flex;flex-direction:column;gap:2px}
.nav .grp{font-size:.78rem;color:var(--muted);padding:12px 10px 4px;font-weight:600}
.nav a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:var(--radius-sm);text-decoration:none;color:var(--ink);font-weight:500}
.nav a:hover{background:var(--soft)}
.nav a.on{background:var(--primary);color:var(--on-primary)}
.nav a .ic{width:22px;text-align:center}
.main{padding:28px clamp(16px,3vw,40px) 90px;min-width:0}
.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}
.skins{display:flex;align-items:center;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 6px;font:inherit;font-weight:600;color:var(--ink);cursor:pointer}.skins:hover{border-color:var(--primary)}.skins i{width:26px;height:26px;border-radius:50%;display:block;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
.pprev{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border-radius:12px;background:var(--bg)}.pprev b{padding:9px 16px;border-radius:999px;font-size:.9rem}.pprev small{flex-basis:100%;color:var(--muted)}
.skins span{font-size:.9rem}
.sw{width:30px;height:30px;border-radius:50%;border:3px solid transparent;padding:0;position:relative;overflow:hidden}
.sw.on{border-color:var(--ink)}
.sw i{position:absolute;inset:0;display:block}
.sw.perso{background:conic-gradient(#e33,#fc3,#3c6,#39f,#a4e,#e33)}
.mobnav{display:none}

.bar{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);padding-top:env(safe-area-inset-top,0px)}
.barin{max-width:1240px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px clamp(14px,3vw,32px);flex-wrap:wrap}
.bar .brand{text-decoration:none;color:inherit}
.crumb{display:flex;align-items:center;gap:10px}
.crumb .sep{color:var(--muted);font-size:1.4rem}
.crumb .mod{font-family:var(--font-title);font-weight:700;font-size:1.15rem}
.sitenav{display:flex;gap:4px}
.sitenav button,.sitenav a{background:none;border:0;padding:8px 12px;border-radius:var(--radius-sm);font-weight:600;color:var(--ink);text-decoration:none}
.sitenav button:hover,.sitenav a:hover{background:var(--soft)}
.main{max-width:1240px;margin:0 auto;padding:28px clamp(14px,3vw,32px) 60px}
.space .main{max-width:none}
.foot{border-top:1px solid var(--line);padding:26px clamp(14px,3vw,32px);color:var(--muted);font-size:.9rem;text-align:center}
.site-hero{padding:40px 0 30px;display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center}
.site-hero h1{font-size:clamp(2.4rem,6vw,4.4rem)}
.site-hero p{font-size:1.15rem}
.demo-stack{position:relative;height:300px}
.demo-stack .card{position:absolute;width:74%;box-shadow:0 18px 40px rgba(0,0,0,.12)}
.sec{padding:40px 0;border-top:1px solid var(--line)}
.sec>h2{font-size:clamp(1.6rem,3.5vw,2.3rem)}
.modcard{display:flex;flex-direction:column;gap:6px;text-decoration:none;color:inherit;transition:border-color .2s}
.modcard:hover{border-color:var(--primary)}
.modcard .ico{font-size:2.2rem}
.modcard .open{margin-top:auto;padding-top:10px;font-weight:700;color:var(--primary)}
.skinprev{border-radius:var(--radius);overflow:hidden;border:2px solid var(--line);cursor:pointer;background:none;padding:0;text-align:left}
.skinprev.on{border-color:var(--ink)}
.skinprev .top{height:70px;display:flex;align-items:flex-end;padding:10px;color:#fff;font-weight:800;font-family:var(--font-title);font-size:1.2rem}
.skinprev .bot{padding:10px;font-size:.9rem;background:var(--surface)}
.spacetabs{display:flex;gap:6px}
@media (max-width:860px){.site-hero{grid-template-columns:1fr}.demo-stack{display:none}.sitenav{display:none}.space .sitenav{display:flex}}
/* Composants */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:var(--radius-sm);padding:10px 16px;font-weight:600;background:var(--primary);color:var(--on-primary)}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn.ghost:hover{background:var(--soft)}
.btn.acc{background:var(--accent);color:var(--on-accent)}
.btn.sm{padding:6px 10px;font-size:.88rem}
.btn:disabled{opacity:.45;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:18px;border-bottom:1px solid var(--line)}
.tabs button{border:0;background:none;padding:10px 14px;font-weight:600;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs button.on{color:var(--ink);border-color:var(--primary)}
label.f{display:flex;flex-direction:column;gap:4px;font-size:.9rem;font-weight:600}
input[type=text],input[type=email],input[type=tel],input[type=search],input[type=password],input[type=number],input[type=date],input[type=time],select,textarea{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:9px 11px;font-weight:400;width:100%}
.pill{display:inline-block;font-size:.78rem;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--soft);color:var(--ink)}
.pill.p{background:var(--primary);color:var(--on-primary)}
.pill.a{background:var(--accent);color:var(--on-accent)}
.tablewrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
th{font-size:.85rem;color:var(--muted);font-weight:600}
.qty{display:flex;align-items:center;gap:8px}
.qty button{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--bg);font-size:1.1rem;font-weight:700}
.qty b{min-width:22px;text-align:center}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%) translateY(120px);background:var(--ink);color:var(--bg);padding:12px 20px;border-radius:999px;font-weight:600;transition:transform .25s;z-index:99}
.toast.show{transform:translateX(-50%) translateY(0)}
.hero{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:end;margin-bottom:28px}
.stat{font-family:var(--font-title);font-size:2.2rem;font-weight:800;line-height:1}
.empty{padding:28px;text-align:center;color:var(--muted);border:2px dashed var(--line);border-radius:var(--radius)}

/* Overlay écran */
.screen{position:fixed;inset:0;z-index:50;background:var(--primary);color:var(--on-primary);display:none;flex-direction:column;padding:calc(24px + env(safe-area-inset-top,0px)) 28px calc(24px + env(safe-area-inset-bottom,0px));overflow:auto}
.screen.open{display:flex}
.screen .close{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:16px;background:rgba(255,255,255,.18);color:inherit;border:0;border-radius:999px;padding:8px 14px;font-weight:600}

/* Semainier */
.week{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;overflow-x:auto}
.day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px;min-height:220px;display:flex;flex-direction:column;gap:8px}
.day.today{border:2px solid var(--primary)}
.day h3{font-size:1rem;display:flex;justify-content:space-between;align-items:center}
.ev{border-radius:var(--radius-sm);padding:8px;font-size:.88rem;background:var(--soft);border-left:4px solid var(--c,var(--primary));cursor:pointer;text-align:left;border-top:0;border-right:0;border-bottom:0;width:100%}
.ev b{display:block}
.ev small{color:var(--muted)}
.addev{margin-top:auto;border:1px dashed var(--line);background:none;border-radius:var(--radius-sm);padding:6px;color:var(--muted);font-weight:600}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:.88rem;margin-bottom:14px}
.legend i{display:inline-block;width:12px;height:12px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;align-items:center;justify-content:center;z-index:60;padding:16px}
.modal.open{display:flex}
.modal .card{width:min(460px,100%);max-height:90vh;overflow:auto}
.sweek{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-top:18px}
.sday{background:rgba(255,255,255,.12);border-radius:var(--radius);padding:14px}
.sday.today{background:rgba(255,255,255,.26)}
.sday h3{font-size:1.3rem}
.sday p{margin:.3em 0;font-size:1.05rem}

/* Loto */
.loto{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:20px}
.ball{width:190px;height:190px;border-radius:50%;margin:10px auto 18px;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#fff 0 12%,var(--accent) 60%,color-mix(in srgb,var(--accent) 70%,#000));color:#fff;font-family:var(--font-title);font-weight:800;font-size:5rem;text-shadow:0 2px 6px rgba(0,0,0,.25);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.ball.pop{animation:pop .5s}
@keyframes pop{0%{transform:scale(.3) rotate(-120deg)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.board{display:grid;grid-template-columns:repeat(10,1fr);gap:5px}
.board div{aspect-ratio:1;display:grid;place-items:center;border-radius:6px;background:var(--bg);border:1px solid var(--line);font-weight:700;font-size:clamp(.7rem,1.5vw,1rem);color:var(--muted)}
.board div.out{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.board div.last{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}
.sponsor{display:flex;align-items:center;gap:10px;justify-content:center;font-size:.9rem;color:var(--muted);padding:10px;border-top:1px solid var(--line);margin-top:14px}
.sponsor b{color:var(--ink)}
.recent{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin-bottom:14px}
.recent span{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--soft);font-weight:700}
.announce{font-family:var(--font-title);font-weight:800;font-size:clamp(3rem,10vw,7rem);text-align:center;margin:auto}
.lscreen{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;flex:1}
.lscreen .ball{width:min(40vw,340px);height:min(40vw,340px);font-size:min(16vw,9rem)}
.lscreen .board div{background:rgba(255,255,255,.12);border:0;color:rgba(255,255,255,.55)}
.lscreen .board div.out{background:var(--on-primary);color:var(--primary)}
.lscreen .board div.last{background:var(--accent);color:var(--on-accent)}

/* Jeux */
.gamebox{max-width:520px;margin:0 auto;text-align:center}
canvas{display:block;width:100%;max-width:420px;margin:0 auto;border-radius:var(--radius);background:var(--soft);touch-action:none}
.mem{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:420px;margin:0 auto}
.mem button{aspect-ratio:1;border:0;border-radius:var(--radius-sm);font-size:2rem;background:var(--primary);color:transparent;transition:transform .25s,background .25s}
.mem button.up,.mem button.done{background:var(--surface);color:inherit;border:2px solid var(--line);transform:rotateY(180deg)}
.mem button.done{opacity:.55}
.mem button span{display:inline-block;transform:rotateY(180deg)}
.holes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:360px;margin:0 auto}
.holes button{aspect-ratio:1;border-radius:50%;border:0;background:radial-gradient(circle at 50% 60%,color-mix(in srgb,var(--ink) 70%,transparent) 0 45%,var(--soft) 46%);font-size:2.6rem;transition:transform .1s}
.holes button.up{background:radial-gradient(circle at 50% 60%,var(--accent) 0 45%,var(--soft) 46%)}
.holes button:active{transform:scale(.94)}
.score{font-family:var(--font-title);font-size:1.6rem;font-weight:800}
.pad{display:flex;justify-content:center;gap:20px;margin-top:12px}
.pad button{width:70px;height:56px;font-size:1.5rem}

/* Pain tuiles */
.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.tile{position:relative;min-height:96px;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:14px;text-align:left;display:flex;flex-direction:column;justify-content:space-between}
.tile b{font-size:1.05rem}.tile small{color:var(--muted)}
.tile.on{border:2px solid var(--primary)}
.tile .cnt{position:absolute;top:8px;right:8px;background:var(--primary);color:var(--on-primary);border-radius:999px;min-width:28px;height:28px;display:grid;place-items:center;font-weight:800}
.tile:active{transform:scale(.97)}
/* Écrans génériques */
.ctrl{position:sticky;bottom:0;margin-top:18px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center;background:rgba(0,0,0,.28);padding:10px;border-radius:var(--radius)}
.ctrl button{background:rgba(255,255,255,.2);color:inherit;border:0;border-radius:var(--radius-sm);padding:8px 14px;font-weight:700}
.big{font-family:var(--font-title);font-weight:800;line-height:1}
.teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.team{background:var(--soft);border-radius:var(--radius);padding:12px;text-align:center}
.team input{text-align:center;font-weight:700;background:transparent;border:0;border-bottom:1px dashed var(--line);border-radius:0}
.team .pts{font-family:var(--font-title);font-size:2.4rem;font-weight:800}
.fam{display:grid;gap:8px}
.fam .ans{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--radius-sm);background:var(--soft);font-weight:700}
.fam .ans.hid{color:var(--muted);font-weight:500}
.sfam .ans{background:rgba(255,255,255,.14);font-size:clamp(1.1rem,2.6vw,2rem);padding:16px 20px}
.sfam .ans.hid{color:transparent;text-shadow:0 0 14px rgba(255,255,255,.5)}
.xs{font-size:clamp(3rem,10vw,8rem);color:#ff5a5a;font-weight:900;letter-spacing:.1em;text-align:center}
.phone{max-width:390px;margin:0 auto;border:10px solid var(--ink);border-radius:36px;overflow:hidden;background:var(--bg);min-height:640px}
.phone .ph{background:var(--primary);color:var(--on-primary);padding:22px 18px 18px}
.phone .pc{padding:16px;display:grid;gap:12px}
.suits{font-size:clamp(2rem,6vw,4rem);letter-spacing:.3em;opacity:.8;animation:pulse 3s infinite}
@keyframes pulse{50%{opacity:.35}}

body[data-mode] .bar .skins{display:none}
body[data-mode=mod] .bar .skins{display:flex}
.modcard .btn,.sitenav a,a.btn{text-decoration:none}
.modcard .btn{white-space:nowrap}
.sitenav .btn{color:var(--on-primary);margin-left:6px}
.crumb .pill{margin-left:4px}
.login{margin:40px auto}
.dsec{margin-top:30px}
.modcard.lock{opacity:.62}
.modcard.lock:hover{opacity:1}
body[data-mode=vac] .main{max-width:720px}
.vday{margin-bottom:12px;padding:16px}
.vday.today{border:2px solid var(--primary)}
.vday h3{display:flex;gap:8px;align-items:center}
.vev{display:flex;gap:12px;padding:8px 0 8px 10px;border-left:4px solid var(--c);margin:6px 0}
.vev b{min-width:48px}.vev small{display:block;color:var(--muted)}
/* Pain */
.pain{max-width:820px;margin:0 auto;position:relative;padding-bottom:70px}
.qc-pick{max-width:100%;font-weight:600}.qc-left{font-family:var(--font-title);font-size:2rem;font-variant-numeric:tabular-nums;color:var(--accent,#F0732F);margin:4px 0 8px}
.qc-img{max-width:100%;max-height:220px;border-radius:12px;display:block;margin:6px 0 12px}.qc-anec{background:#FFF6EF;border-left:4px solid var(--accent,#F0732F);padding:8px 12px;border-radius:0 10px 10px 0}.qc-fast{margin:6px 0}
.qc-rank li{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center}.qc-adj{display:flex;gap:4px}.qc-adj .btn{padding:4px 8px;font-size:.78rem}
.qc-be{border:1px solid var(--line,#E3E7EE);border-radius:12px;padding:10px;margin:10px 0}.qc-be.cur{border-color:var(--accent,#F0732F)}.qc-be-h{display:flex;gap:8px;align-items:center}.qc-be-h input{flex:1}
.qc-be2{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0}.qc-be2 img{height:56px;border-radius:8px}.qc-be2 label{display:flex;gap:6px;align-items:center;font-size:.85rem}.qc-be2 input[type=number]{width:70px}.qc-be textarea{width:100%;margin-bottom:8px}
.qcs-img{display:block;max-height:25vh;max-width:60vw;margin:0 auto 2vh;border-radius:1.6vh;box-shadow:0 1vh 3vh rgba(0,0,0,.35)}
.qcs-after{text-align:center;margin-top:2vh}.qcs-fast{font-size:clamp(1rem,3.4vh,2rem);margin:0}.qcs-fast small{opacity:.75}.qcs-anec{font-size:clamp(.95rem,2.8vh,1.7rem);max-width:70vw;margin:1vh auto 0;opacity:.92;line-height:1.35}
.qj-fast{margin-top:10px}.qj-anec{margin-top:10px;font-size:.95rem;opacity:.9}
.tvteam{position:relative}.tvscale{font-size:.85rem;color:var(--muted,#56637A);margin:4px 0 14px}.tvdel{position:absolute;top:6px;right:6px;width:26px;height:26px;border-radius:50%;border:1px solid var(--line,#E3E7EE);background:#fff;color:var(--muted,#56637A);font-size:.8rem;line-height:1;cursor:pointer}.tvdel:hover{color:#C0392B;border-color:#C0392B}
.scbar .scnew{margin-left:auto;white-space:nowrap;border:1.5px solid var(--ink,#0A2342);font-weight:700}
.avg-box{background:#fff;border:1px solid var(--line,#E3E7EE);border-radius:16px;padding:14px 16px;margin:12px 0;text-align:left}.avg-box small{display:block;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--muted,#56637A);margin-bottom:4px}
.avg-box>b{display:block;font-family:var(--font-title);font-size:1.45rem;line-height:1.15}.avg-box p{margin:6px 0 0;color:var(--muted,#56637A)}.avg-box.now{border:2px solid var(--accent,#F0732F)}.avg-box.next>b{font-size:1.1rem}
.avg-rule{font-size:.95rem}.avg-x2{font-size:.85rem;background:#FFE7D6;color:#B4471F;border-radius:999px;padding:2px 8px;vertical-align:middle}
.avg-clock{margin-top:10px;font-family:var(--font-title);font-size:2.4rem;font-variant-numeric:tabular-nums;color:var(--accent,#F0732F)}
.avg-row{display:grid;grid-template-columns:28px 1fr auto auto;gap:10px;align-items:center;padding:8px 0 8px 10px;border-left:5px solid var(--c);margin:6px 0;background:#F6F7F9;border-radius:8px}.avg-row em{font-style:normal;font-weight:800}.avg-row b{font-variant-numeric:tabular-nums;padding-right:10px}
.avg-row i{font-style:normal;font-size:.8rem;font-weight:700;color:var(--muted,#56637A)}.avg-row i.up{color:#2E9E5B}.avg-row i.dn{color:#C0392B}
.bg-adj{display:grid;grid-template-columns:1fr 120px;gap:8px}.bg-why{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.bg-hist{list-style:none;margin:0;padding:0;max-height:300px;overflow:auto}.bg-hist li{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line,#E3E7EE);border-left:4px solid var(--c);padding-left:8px}
.bg-hist b{font-variant-numeric:tabular-nums;color:#2E9E5B}.bg-hist b.neg{color:#C0392B}.bg-hist small{display:block;color:var(--muted,#56637A);font-size:.8rem}
.bg-pad{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.bg-pad .btn{justify-content:center}
.bg-scale{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.bg-scale label{display:flex;flex-direction:column;gap:2px;font-size:.8rem;color:var(--muted,#56637A)}.bg-scale input{width:100%}
.gro-podium .pod.hid .step{opacity:.55}.gro-podium .pod.hid .pn{opacity:.7}.bgs-sus{font-size:clamp(1rem,3vh,1.8rem);opacity:.8;margin:2vh 0 0}
.pstat{margin:0 0 10px;font-size:.85rem;color:var(--muted,#56637A);min-height:1.2em}.pstat::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#2E9E5B;margin-right:7px;vertical-align:1px}.pstat:empty::before{display:none}.pstat.wait::before{background:#F0A030}.pstat.off{color:#B4471F}.pstat.off::before{background:#D64545}
.ptabs{display:flex;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px;margin-bottom:18px;width:fit-content}
.ptabs button{border:0;background:none;padding:9px 18px;border-radius:999px;font-weight:600;color:var(--muted)}
.ptabs button.on{background:var(--primary);color:var(--on-primary)}
.daynav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.daynav h2{margin:0;text-align:center;font-size:1.4rem}
.daynav h2 span{display:block;font-size:.8rem;color:var(--muted);font-family:var(--font-body);font-weight:600;min-height:1em}
.iconbtn{width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:1.5rem;line-height:1}
.ptotals{display:flex;flex-wrap:wrap;gap:8px}
.ptot{background:var(--soft);border-radius:var(--radius-sm);padding:8px 10px;min-width:64px;text-align:center;font-size:.8rem;color:var(--muted)}
.ptot b{display:block;font-size:1.5rem;color:var(--ink);font-family:var(--font-title)}
.ptot.zero{opacity:.4}
.psum{margin-top:10px;font-size:.92rem;color:var(--muted)}
.ok{color:#2f8a3f}
.psearch{margin:14px 0 4px}.psrow{display:flex;gap:10px;align-items:center}.psrow .psearch{flex:1;margin:14px 0 4px}.pnew{flex:none;margin-top:10px}@media (min-width:700px){.pain~.fab,.pain .fab{display:none}}@media (max-width:699px){.pnew{display:none}}
.ph3{margin:18px 0 8px;font-size:1rem}
.pcard{padding:4px 16px}
.pcardb{margin-bottom:14px}
.prow-o{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:14px 0;border-bottom:1px solid var(--line);align-items:center}
.prow-o:last-child{border-bottom:0}
.prow-o.served .pedit{opacity:.5}
.prow-o.flash{animation:flash 1.6s}
@keyframes flash{0%,40%{background:var(--soft)}100%{background:transparent}}
.pedit{background:none;border:0;text-align:left;padding:0}
.who{font-weight:700}
.empl{display:inline-block;margin-left:8px;font-size:.8rem;font-weight:700;background:var(--soft);padding:1px 7px;border-radius:6px}
.its{font-size:.95rem;margin-top:2px}
.pnote{font-size:.88rem;color:var(--muted);font-style:italic}
.pserve{border:2px solid var(--primary);background:var(--surface);color:var(--primary);border-radius:var(--radius-sm);padding:10px 14px;font-weight:700;min-width:104px}
.pserve.done{background:var(--primary);color:var(--on-primary)}
.racts{grid-column:1/-1;display:flex;gap:6px;flex-wrap:wrap}
.racts button{border:1px solid var(--line);background:var(--bg);border-radius:999px;padding:5px 11px;font-size:.82rem;font-weight:600}
.racts button.d1{background:#fde2ec;border-color:#f3a6c2;color:#8a1d47}
.racts button.d2{background:#d8f3f0;border-color:#8fd8cf;color:#135e56}
.fab{position:fixed;right:max(20px,calc(50% - 606px));bottom:calc(24px + env(safe-area-inset-bottom,0px));width:62px;height:62px;border-radius:50%;border:0;background:var(--primary);color:var(--on-primary);font-size:2rem;box-shadow:0 8px 24px rgba(0,0,0,.25);z-index:20}
.pf{display:block;font-weight:600;font-size:.9rem;margin:14px 0 6px}
.chosen{display:flex;justify-content:space-between;align-items:center;background:var(--soft);border-radius:var(--radius-sm);padding:10px 12px;font-weight:700}
.chosen button{border:0;background:none;color:var(--primary);font-weight:700}
.sugg{border:1px solid var(--line);border-radius:var(--radius-sm);margin-top:6px;overflow:hidden}
.sugg button{display:flex;justify-content:space-between;width:100%;border:0;border-bottom:1px solid var(--line);background:var(--surface);padding:10px 12px;text-align:left}
.sugg button:hover{background:var(--soft)}
.g2p{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.plist{display:grid;gap:6px}
.prod{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--line)}
.prod.has{border-color:var(--primary);background:var(--soft)}
.step{display:flex;align-items:center;gap:6px}
.step button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:var(--surface);font-size:1.2rem;font-weight:700}
.step output{min-width:26px;text-align:center;font-weight:800;font-size:1.1rem}
.pbig{width:100%;margin-top:10px;padding:13px}
.btn.danger{color:#b3261e}
.bday{display:flex;justify-content:space-between;align-items:center;gap:10px}
.pord{border:2px solid var(--line);background:var(--surface);border-radius:var(--radius-sm);padding:9px 12px;font-weight:700}
.pord.done{border-color:#2f8a3f;background:#2f8a3f;color:#fff}
.pord:disabled{opacity:.4}
.btot{margin-top:10px}
.btot div{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--line)}
.btot b{font-size:1.15rem}
.crow{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.pline{display:grid;grid-template-columns:2fr 1fr auto;gap:8px;margin-bottom:6px}
.pline.off input{opacity:.45}
#pcel{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.35);z-index:80}
#pcel.show{display:flex}
.celcard{background:var(--surface);border-radius:var(--radius);padding:28px 30px;text-align:center;max-width:340px;margin:16px}
.celcheck{width:64px;height:64px;border-radius:50%;background:var(--primary);color:var(--on-primary);font-size:2rem;display:grid;place-items:center;margin:0 auto 12px}
.celtitle{font-family:var(--font-title);font-weight:800;font-size:1.4rem}
.celsub{color:var(--muted);margin-top:6px}
@media (max-width:600px){.g2p{grid-template-columns:1fr}.pline{grid-template-columns:1fr 1fr}.pline button{grid-column:1/-1}.ptabs{width:100%}.ptabs button{flex:1;padding:9px 6px}}

/* Marque Fernand sur le site public */
body[data-mode=site],body[data-mode=login]{--bg:#F6F7F9;--surface:#FFFFFF;--ink:#0A2342;--muted:#56637A;--primary:#0A2342;--on-primary:#FFFFFF;--accent:#F0732F;--soft:#FFF1E8;--line:#E3E7EE;--radius:16px}
body[data-mode=site] .btn,body[data-mode=login] .btn{border-radius:999px}
body[data-mode=site] .sitenav .btn{background:var(--accent);color:var(--on-accent)}
.fmark{height:44px;width:auto;flex:none}
.hero-logo{display:grid;place-items:center}
.hero-logo img{width:min(100%,340px);height:auto}
.site-hero h1 em{font-style:normal;color:var(--accent-ink,var(--accent))}
/* Pétanque */
.pqh{background:var(--primary);color:var(--on-primary);padding:22px 18px 18px}
.pqh h2{margin:.15em 0;font-size:1.45rem}.pqh small{opacity:.85}.pqh div{opacity:.9;font-size:.95rem;text-transform:none}
.pqb{padding:14px;display:grid;gap:12px}
.pqc{padding:16px}.pqc h3{margin:0 0 6px}
.pqc.ok{border:2px solid #2f8a3f}
.pqcode{font-family:var(--font-title);font-size:1.3rem;letter-spacing:.15em;background:var(--soft);padding:2px 8px;border-radius:6px}
.pqteam{background:var(--soft);border-radius:var(--radius-sm);padding:10px 12px}
.pqterr{font-family:var(--font-title);font-weight:800;font-size:2.4rem;line-height:1;margin-bottom:6px;color:var(--primary)}
.pqtime{margin-top:10px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--soft);display:flex;justify-content:space-between;font-weight:600}
.pqtime b{font-family:var(--font-title);font-size:1.3rem}
.pqtime.warn{background:#FFE7C2;color:#8a4b00}.pqtime.over{background:#FDE2E0;color:#8a1d1d}
.pqscore{display:flex;align-items:flex-end;gap:10px;justify-content:center}
.pqscore label{display:flex;flex-direction:column;align-items:center;font-weight:600;font-size:.9rem}
.pqscore input{width:84px;font-size:2rem;text-align:center;font-weight:800}
.pqscore span{padding-bottom:14px;color:var(--muted)}
.pqwarn{background:#FDE2E0;color:#8a1d1d;padding:10px;border-radius:var(--radius-sm);font-size:.92rem}
.pqwarn-s{color:#b3261e}
.pqrk{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-size:.95rem}
.pqrk:last-child{border-bottom:0}
.pqrk b{white-space:nowrap}
.pqphone{min-height:680px;max-height:780px;overflow:auto;position:sticky;top:90px}
.pqphone-full{max-width:480px;margin:0 auto;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg)}
.pqdemo{display:grid;grid-template-columns:1fr 390px;gap:20px;align-items:start}
.pqsteps{display:grid;gap:8px}.pqsteps .btn{justify-content:flex-start}
.pqday{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;background:var(--bg);font-weight:600}
.pqsm{display:grid;grid-template-columns:70px 1fr auto;gap:12px;padding:10px 14px;margin:6px 0;background:rgba(255,255,255,.12);border-radius:var(--radius-sm);font-size:clamp(1rem,2vw,1.5rem)}
.pqsm i{opacity:.7;font-style:normal}
.pqposters{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.pqposter{text-align:center;padding:28px}
.pqp-top{font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.85rem}
.pqposter h2{font-size:2rem;margin:.2em 0}
.pqp-when{font-weight:700;color:var(--primary);font-size:1.1rem;max-width:none}
.pqqr{width:200px;margin:14px auto}.pqqr svg{width:100%;height:auto;display:block}
.pqqr-fb{border:2px dashed var(--line);padding:30px 10px;color:var(--muted);word-break:break-all}
.pqposter p{max-width:none}
.pqplates{display:flex;flex-wrap:wrap;gap:12px}
.pqplate{width:110px;height:110px;border:4px solid var(--primary);border-radius:var(--radius);display:grid;place-items:center;font-family:var(--font-title);font-weight:800;font-size:3.4rem;color:var(--primary);background:var(--surface)}
@media (max-width:900px){.pqdemo{grid-template-columns:1fr}.pqphone{position:static}}
@media print{.pqposter{break-inside:avoid;border:2px solid #000}}

.hero-img img{width:100%;height:auto;border-radius:24px;display:block;box-shadow:0 20px 50px rgba(10,35,66,.15)}
.blk{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:34px;align-items:center;padding:34px 0;border-bottom:1px solid var(--line)}
.blk:last-child{border-bottom:0}
.blk.rev{grid-template-columns:minmax(0,7fr) minmax(0,5fr)}
.blk.rev>img{order:2}
.blk>img{width:100%;height:auto;border-radius:22px;display:block;aspect-ratio:auto}
.blk-t{font-size:clamp(1.4rem,3vw,2rem);margin:10px 0 6px}
.blk-g{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.login{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center;max-width:980px}
.login-img{width:100%;border-radius:22px}
@media (max-width:860px){body[data-mode=site] .sitenav{display:flex}body[data-mode=site] .sitenav button{display:none}.blk,.blk.rev,.login{grid-template-columns:1fr}.blk.rev>img{order:0}.login-img{display:none}}
.mthumb{width:calc(100% + 40px);margin:-20px -20px 8px;height:130px;object-fit:cover;border-radius:var(--radius) var(--radius) 0 0;display:block}
.modcard.lock .mthumb{filter:grayscale(1)}
.hello{display:flex;align-items:center;gap:16px}
.hello img{width:96px;height:auto;flex:none}
@media (max-width:600px){.hello img{width:70px}}
#gameFrame{position:fixed;inset:0;z-index:90;background:#0c2d46;display:none}
#gameFrame.open{display:block}
#gameFrame iframe{width:100%;height:100%;border:0;display:block;margin:0 auto}
@media (min-width:600px){#gameFrame{background:radial-gradient(circle at 50% 30%,#14466b,#081e30)}#gameFrame iframe{width:min(440px,100%);box-shadow:0 0 60px rgba(0,0,0,.45)}}
.hero-kick{display:inline-block;font-weight:700;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink,var(--accent));margin-bottom:10px}
.hero-sub{font-family:var(--font-title);font-weight:700;font-size:1.35rem;margin:.4em 0 .6em;color:var(--ink)}
.gf-close{position:absolute;top:calc(10px + env(safe-area-inset-top,0px));right:10px;z-index:2;border:0;border-radius:999px;padding:8px 14px;font-weight:700;background:rgba(0,0,0,.55);color:#fff}
.qrjeux{display:flex;gap:18px;align-items:center;margin-bottom:18px}
@media (max-width:600px){.qrjeux{flex-direction:column;align-items:flex-start}}

/* --- Passe de design : plus d'air, rendu plus soigné --- */
.main{padding-top:40px;padding-bottom:80px}
.card{padding:24px;border-color:color-mix(in srgb,var(--line) 80%,transparent);box-shadow:0 1px 2px rgba(10,35,66,.04),0 10px 30px -12px rgba(10,35,66,.10)}
.grid{gap:20px}
.btn{border-radius:999px;padding:11px 20px;transition:transform .12s,filter .15s}
.btn:active{transform:scale(.98)}
.btn.sm{padding:7px 14px}
.tabs{display:inline-flex;gap:4px;border:1px solid var(--line);border-radius:999px;padding:5px;background:var(--surface);margin-bottom:24px;flex-wrap:wrap}
.tabs button{border:0;border-radius:999px;padding:9px 18px;margin:0;color:var(--muted)}
.tabs button.on{background:var(--primary);color:var(--on-primary)}
.mhead{display:flex;align-items:center;gap:22px;margin:0 0 32px;flex-wrap:wrap}
.mhead-img{width:92px;height:92px;border-radius:24px;object-fit:cover;flex:none;box-shadow:0 10px 26px -10px rgba(10,35,66,.35)}
.mhead-txt{flex:1;min-width:min(100%,380px)}
.mhead-txt h1{margin:0 0 6px}
.mhead-txt p{margin:0}
.mhead-act{display:flex;gap:10px;flex-wrap:wrap}
.pain{max-width:1040px}
.scr-brand{position:absolute;left:24px;top:calc(16px + env(safe-area-inset-top,0px));display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.92);color:#0A2342;border-radius:999px;padding:6px 14px 6px 6px;font-weight:700;font-size:.9rem}
.scr-brand img{width:auto;max-width:110px;height:30px;object-fit:contain}
.modcard h3{font-size:1.15rem}
@media (max-width:600px){.mhead{gap:12px;margin-bottom:18px;flex-wrap:wrap}.mhead-img{width:48px;height:48px;border-radius:14px}.mhead-txt{min-width:0;flex:1 1 calc(100% - 64px)}.mhead-txt h1{font-size:1.7rem;margin:0}
 .mhead-txt p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:.92rem;cursor:pointer}.mhead-txt p.open{display:block}
 .mhead-act{width:100%}.mhead-act .btn{flex:1;padding:10px 12px}
 body[data-mode=mod] .barin{flex-wrap:nowrap;gap:6px}body[data-mode=mod] .barin>.row{flex-wrap:nowrap;gap:4px!important}body[data-mode=mod] .bar .skins{display:none!important}body[data-mode=mod] #barLeft{min-width:0;flex:1 1 auto;overflow:hidden}body[data-mode=mod] .barin>.row{flex:none}body[data-mode=mod] .acc-pill{padding:4px 8px;font-size:.8rem}body[data-mode=mod] .mhead-act .btn{font-size:.92rem;white-space:nowrap}body[data-mode=mod] .scbar .sclogo{display:none}body[data-mode=mod] .crumb .pill,body[data-mode=mod] .crumb .sep{display:none}body[data-mode=mod] .sitenav{gap:2px;flex-wrap:nowrap}body[data-mode=mod] .sitenav a{white-space:nowrap;padding:6px 6px;font-size:.9rem}body[data-mode=mod] .crumb .mod{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:42vw}}

/* --- Régie loto --- */
.lgrid{display:grid;grid-template-columns:minmax(300px,420px) 1fr;gap:24px;align-items:start}
.lcage{display:flex;flex-direction:column;align-items:center;gap:16px;background:radial-gradient(circle at 50% 30%,color-mix(in srgb,var(--primary) 78%,#fff),var(--primary) 70%);color:var(--on-primary);border:0}
.lcage-top{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}
.lcage .pill.p{background:rgba(255,255,255,.14);color:#fff}
.lcage-mid{position:relative;width:100%;max-width:340px;aspect-ratio:1}
.lcage-mid canvas,.lscr-cage canvas{width:100%;height:100%;display:block;background:transparent;border-radius:0}
#lbig{position:absolute;right:-6px;bottom:-6px}
.lball{--bc:#0A2342;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;flex:none;background:radial-gradient(circle at 32% 28%,#fff 0 10%,var(--bc) 34%,color-mix(in srgb,var(--bc) 55%,#000) 100%);box-shadow:0 6px 16px -6px rgba(0,0,0,.45)}
.lball span{width:56%;height:56%;border-radius:50%;background:#FFF4E0;color:#0A2342;display:grid;place-items:center;font-family:var(--font-title);font-weight:800;font-size:.95rem}
.lball.big{width:118px;height:118px}.lball.big span{font-size:2.3rem}
.lball.huge{width:min(18vw,26vh,220px);height:min(18vw,26vh,220px)}.lball.huge span{font-size:min(7vw,4.6rem)}
.lball.sm{width:38px;height:38px}.lball.sm span{font-size:.8rem}
.lball.lnone{--bc:#5A6479}
.lball.spin{animation:lspin .5s linear infinite}
.lball:not(.spin):not(.sm){animation:lpop .5s}
@keyframes lspin{to{transform:rotate(360deg)}}
@keyframes lpop{0%{transform:scale(.3) rotate(-90deg)}70%{transform:scale(1.08)}100%{transform:scale(1)}}
.lrecent{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;min-height:38px;color:rgba(255,255,255,.7)}
.lrecent .muted{color:rgba(255,255,255,.65)}
.lbtn{width:100%;padding:17px;font-size:1.15rem;background:var(--accent);color:var(--on-accent)}
.lbtn kbd{font:inherit;font-size:.75rem;opacity:.8;border:1px solid rgba(255,255,255,.5);border-radius:6px;padding:1px 6px;margin-left:6px}
.lcage .btn.ghost{color:#fff;border-color:rgba(255,255,255,.3)}
.lcage .btn.ghost:hover{background:rgba(255,255,255,.1)}
.lcage .muted{color:rgba(255,255,255,.7)}
.lboard{display:grid;grid-template-columns:repeat(10,1fr);gap:6px}
.lboard div{aspect-ratio:1;display:grid;place-items:center;border-radius:50%;font-weight:700;font-size:clamp(.72rem,1.3vw,.95rem);color:var(--muted);background:var(--bg)}
.lboard div.out{background:var(--bc);color:#fff}
.lboard div.last{background:var(--bc);color:#fff;outline:3px solid var(--accent);outline-offset:2px}
.lsteps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.lstep{border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:4px;font-size:.92rem}
.lstep b{font-family:var(--font-title);font-size:1.05rem}
.lstep small{color:var(--muted)}
.lstep.cur{border:2px solid var(--accent);background:var(--soft)}
.lstep.done{opacity:.6}
.lann{margin-top:20px;display:grid;gap:16px}
.lcheck{border-top:1px solid var(--line);padding-top:16px}
.lnums{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0}
.lnums span{min-width:38px;padding:6px 8px;border-radius:999px;text-align:center;font-weight:700}
.lnums .ok{background:#DFF3E4;color:#1d6b35}.lnums .ko{background:#FDE2E0;color:#8a1d1d}
.lok{color:#1d6b35;font-weight:800;font-size:1.2rem;margin:8px 0}
.llots{display:grid;grid-template-columns:120px repeat(3,1fr) auto;gap:10px;align-items:end;padding:14px 0;border-bottom:1px solid var(--line)}
.llots h3{margin:0 0 10px}
p.sponsor{display:block;text-align:center;color:var(--muted);font-size:.9rem;margin-top:28px;border:0}
/* écran de salle */
.lscr{position:relative;display:flex;flex-direction:column;flex:1;gap:18px;color:var(--on-primary);padding-top:44px}
.lscr.ecran{position:fixed;inset:0;padding:72px 32px 28px;background:radial-gradient(circle at 25% 30%,color-mix(in srgb,var(--sc-mid) 85%,#fff),var(--sc-mid) 45%,var(--sc-deep));color:#fff;--on-primary:#FFFFFF;--accent:var(--sc-hi)}
body[data-mode=ecran] .bar,body[data-mode=ecran] .foot{display:none}
.lscr-main{display:grid;grid-template-columns:minmax(260px,40%) 1fr;gap:4vw;align-items:center;flex:1}
.lscr-left{display:flex;flex-direction:column;align-items:center;gap:18px}
.lscr-cage{position:relative;width:100%;max-width:min(440px,calc(100vh - 300px));aspect-ratio:1}
.lscr-cage canvas{width:100%;height:100%}
.lscr-ball{position:absolute;right:-4%;bottom:-4%}
.lscr-rec{display:flex;gap:10px}
.lscr .lboard{gap:min(8px,1vh);width:100%;max-width:calc((100vh - 230px)/.9);margin:0 auto}
.lscr-right{display:flex;justify-content:center}
.lscr .lboard div{background:color-mix(in srgb,var(--on-primary) 9%,transparent);color:color-mix(in srgb,var(--on-primary) 55%,transparent);font-size:clamp(.8rem,1.6vw,1.4rem)}
.lscr .lboard div.out,.lscr .lboard div.last{color:#fff;background:var(--bc)}
.lscr-bar{display:flex;gap:28px;flex-wrap:wrap;justify-content:center;background:rgba(255,255,255,.08);border-radius:999px;padding:14px 28px;font-size:clamp(1rem,1.8vw,1.5rem)}
.lscr-bar b{color:var(--accent)}
.lscr-ann{margin:auto;text-align:center}
.lscr-ann div{font-family:var(--font-title);font-weight:800;font-size:clamp(3rem,11vw,9rem);color:var(--accent);line-height:1}
.lscr-ann.win div{color:var(--on-primary)}
.lscr-ann p{font-size:clamp(1.2rem,2.6vw,2.2rem);opacity:.9}
.lscr-sponsor{display:flex;align-items:center;justify-content:center;gap:10px;opacity:.85;font-size:.9rem;margin:0}.lscr-sponsor img{height:34px;width:auto}
@media (max-width:980px){.lgrid,.lscr-main{grid-template-columns:1fr}.llots{grid-template-columns:1fr}.lsteps{grid-template-columns:1fr}}
/* ===== Régies de soirée : parties communes côté régie ===== */
.tvsw{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-bottom:20px}
.tvsw button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:18px;padding:16px 20px;cursor:pointer;color:var(--ink);transition:transform .15s,box-shadow .15s}
.tvsw button:hover{transform:translateY(-2px);box-shadow:0 10px 24px -16px rgba(10,35,66,.5)}
.tvsw button b{font-family:var(--font-title);font-size:1.2rem}
.tvsw button small{color:var(--muted)}
.tvsw button.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.tvsw button.on small{color:inherit;opacity:.75}
@media (max-width:600px){.tvsw{grid-template-columns:1fr 1fr;gap:8px}.tvsw button{padding:10px 12px;border-radius:14px}.tvsw button b{font-size:1rem}.tvsw button small{font-size:.75rem;line-height:1.25}}
.tvg,.ca-g,.gj-g{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}
.gj-g{grid-template-columns:minmax(300px,400px) minmax(0,1fr)}
@media (max-width:980px){.tvg,.ca-g,.gj-g{grid-template-columns:1fr}}
.ca-lang{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.ca-lang span{margin-right:6px;font-size:.88rem}
.ca-lang button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font-weight:600;font-size:.85rem;cursor:pointer}
.ca-lang button.on{background:var(--ink);color:var(--surface);border-color:var(--ink)}

/* Jeux télé : régie */
.tvteams{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.tvteam{flex:1 1 200px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;text-align:center;position:relative;transition:border-color .2s,box-shadow .2s}
.tvteam input{text-align:center;font-weight:700;border-color:transparent;background:transparent}
.tvteam input:hover,.tvteam input:focus{border-color:var(--line);background:var(--bg)}
.tvpts{font-family:var(--font-title);font-weight:800;font-size:2.6rem;line-height:1.1;margin:4px 0 8px}
.tvteam.hand{border:2px solid var(--accent);box-shadow:0 0 0 5px var(--soft)}
.tvteam.hand::before{content:'À la main';position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--accent);color:var(--on-accent);font-size:.72rem;font-weight:700;border-radius:999px;padding:2px 10px;letter-spacing:.04em;text-transform:uppercase}
.tvadd{flex:0 0 auto;border:1.5px dashed var(--line);background:transparent;border-radius:18px;padding:0 22px;color:var(--muted);font-weight:600;cursor:pointer}
.tvq{font-size:clamp(1.3rem,2.4vw,1.8rem);margin:12px 0 6px;line-height:1.2}
.tvans{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tvans button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:12px 14px;cursor:pointer;color:var(--ink);font:inherit;transition:background .15s}
.tvans button i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-weight:700;font-size:.8rem;flex:none}
.tvans button span{flex:1;font-weight:600}
.tvans button b{font-family:var(--font-title);font-size:1.1rem;color:var(--muted)}
.tvans button.on{background:linear-gradient(180deg,#FFE7A8,#F6C453);border-color:#E0A93A}
.tvans button.on b{color:#6B4300}
.tvpot{display:flex;align-items:baseline;gap:10px;margin:16px 0;padding:12px 18px;border-radius:14px;background:var(--soft)}
.tvpot span{font-weight:600}.tvpot b{font-family:var(--font-title);font-size:2rem}.tvpot small{color:var(--muted)}
.tvact{display:flex;gap:8px;flex-wrap:wrap}
.btn.tvx{background:#C62828;color:#fff}
.btn.tvx em{font-style:normal;letter-spacing:.15em;margin-left:4px}
.tvbq{border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin-bottom:8px;background:var(--surface)}
.tvbq summary{cursor:pointer;font-weight:600;list-style:none}
.tvbq summary::-webkit-details-marker{display:none}
.tvbq summary::before{content:'▸ ';color:var(--muted)}
.tvbq[open] summary::before{content:'▾ '}
.tvbq[open]{background:var(--bg)}
.tvbq .f{margin:10px 0}
.tvbq input{min-width:0;max-width:100%;box-sizing:border-box}
.tvba>*{min-width:0}
.tvba{display:grid;grid-template-columns:1fr 84px auto;gap:6px;margin-bottom:6px;align-items:center}
.tvba.cur{background:var(--soft);border-radius:12px;padding:4px}
.tvprop{display:flex;gap:8px;max-width:420px}
.tvprop input{font-size:1.3rem;font-weight:700}
.tvhist{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 16px;min-height:34px}
.tvhist span{border-radius:999px;padding:6px 12px;font-weight:600;background:var(--bg);border:1px solid var(--line)}
.tvhist span b{font-size:.8rem;margin-left:4px}
.tvhist .plus b{color:#1d6b35}.tvhist .moins b{color:#b3261e}.tvhist .ok{background:#DFF3E4;border-color:#9fd3ae}

/* Jeux télé : écran façon plateau */
.ecr{position:relative;display:flex;flex-direction:column;flex:1;overflow:hidden;min-height:100%}
.screen .ecr{position:absolute;inset:0}
.screen .close,.screen .scr-brand{z-index:5}
.ecr.ecran{position:fixed;inset:0}
.ecr-brand{position:absolute;left:22px;top:18px;font-family:var(--font-body);display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.92);color:#0A2342;border-radius:999px;padding:6px 14px 6px 6px;font-weight:700;font-size:.9rem;z-index:5}
.ecr-brand img{width:auto;max-width:110px;height:30px;object-fit:contain}
.ecr-tv{background:radial-gradient(ellipse 60% 50% at 50% 0%,color-mix(in srgb,var(--sc-mid) 45%,transparent),transparent 70%),radial-gradient(ellipse 40% 60% at 0% 100%,color-mix(in srgb,var(--sc-hi) 25%,transparent),transparent 70%),radial-gradient(ellipse 40% 60% at 100% 100%,color-mix(in srgb,var(--sc-mid) 25%,transparent),transparent 70%),var(--sc-deep);color:#fff;align-items:center;padding:4vh 4vw 3vh;gap:2vh;font-family:var(--font-body)}
.tvs-lights{position:absolute;inset:0;border-radius:26px;pointer-events:none;
 background:radial-gradient(circle,#FFE9A8 0 2.6px,color-mix(in srgb,var(--sc-hi2) 25%,transparent) 3.6px,transparent 6px) 0 0/28px 28px;
 -webkit-mask:linear-gradient(#000 0 0) top/100% 28px no-repeat,linear-gradient(#000 0 0) bottom/100% 28px no-repeat,linear-gradient(#000 0 0) left/28px 100% no-repeat,linear-gradient(#000 0 0) right/28px 100% no-repeat;
 mask:linear-gradient(#000 0 0) top/100% 28px no-repeat,linear-gradient(#000 0 0) bottom/100% 28px no-repeat,linear-gradient(#000 0 0) left/28px 100% no-repeat,linear-gradient(#000 0 0) right/28px 100% no-repeat;
 animation:tvbulb 1.2s steps(2) infinite}
@keyframes tvbulb{50%{opacity:.55}}
.tvs-title{margin-top:1vh}
.tvs-title span{font-family:'Bungee',var(--font-title);font-size:clamp(1.6rem,4.4vh,3rem);letter-spacing:.04em;background:linear-gradient(180deg,#FFFFFF,var(--sc-hi2) 55%,var(--sc-hi));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 color-mix(in srgb,var(--sc-deep) 60%,#000)) drop-shadow(0 10px 18px rgba(0,0,0,.5))}
.tvs-q{font-family:var(--font-title);font-weight:700;font-size:clamp(1.3rem,4vh,2.6rem);text-align:center;max-width:24ch;line-height:1.15;text-wrap:balance}
.tvs-board{display:grid;grid-template-columns:1fr 1fr;gap:1.4vh 1.6vw;width:min(1100px,92vw);grid-auto-flow:column;grid-template-rows:repeat(var(--r,4),1fr)}
.tvs-tile{height:clamp(44px,9vh,90px);perspective:900px;position:relative}
.tvs-tile .f,.tvs-tile .b{position:absolute;inset:0;border-radius:12px;display:flex;align-items:center;backface-visibility:hidden;transition:transform .7s cubic-bezier(.3,1.4,.5,1)}
.tvs-tile .f{background:linear-gradient(180deg,var(--sc-mid),color-mix(in srgb,var(--sc-mid) 55%,#000));border:2px solid color-mix(in srgb,var(--sc-mid) 55%,#fff);box-shadow:inset 0 2px 0 rgba(255,255,255,.25),0 8px 20px -8px #000;justify-content:center}
.tvs-tile .f i{font-style:normal;font-family:'Bungee',var(--font-title);font-size:clamp(1.2rem,4vh,2.4rem);color:var(--sc-hi2);width:1.8em;height:1.8em;border-radius:50%;display:grid;place-items:center;background:var(--sc-deep);border:2px solid var(--sc-hi2)}
.tvs-tile .b{transform:rotateX(180deg);background:linear-gradient(180deg,#FFFFFF,var(--sc-hi2) 60%,var(--sc-hi));border:2px solid var(--sc-hi2);color:var(--sc-deep);padding:0 1.2vw 0 1.6vw;gap:1vw;box-shadow:0 0 30px color-mix(in srgb,var(--sc-hi2) 45%,transparent)}
.tvs-tile .b span{flex:1;font-family:var(--font-title);font-weight:800;font-size:clamp(1rem,3.4vh,2rem);text-transform:uppercase;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tvs-tile .b b{font-family:'Bungee',var(--font-title);font-weight:400;font-size:clamp(1.1rem,3.8vh,2.3rem);background:var(--sc-deep);color:var(--sc-hi2);border-radius:10px;padding:.1em .45em}
.tvs-tile.on .f{transform:rotateX(-180deg)}
.tvs-tile.on .b{transform:rotateX(0)}
.tvs-tile.flip .b{animation:tvglow 1.2s}
@keyframes tvglow{0%{box-shadow:0 0 0 rgba(255,210,90,0)}40%{box-shadow:0 0 80px rgba(255,220,120,1)}}
.tvs-pot{display:flex;align-items:center;gap:14px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:clamp(.8rem,2vh,1.2rem)}
.tvs-pot b{font-family:'Bungee',var(--font-title);font-weight:400;font-size:clamp(1.6rem,5vh,3rem);color:var(--sc-hi2);letter-spacing:0;background:rgba(0,0,0,.35);border:2px solid var(--sc-hi2);border-radius:14px;padding:0 .4em}
.tvs-pot em{font-style:normal;background:var(--sc-hi);color:#fff;border-radius:999px;padding:4px 14px;animation:tvpulse 1s infinite}
@keyframes tvpulse{50%{opacity:.55}}
.tvs-teams{display:flex;gap:2vw;margin-top:auto;justify-content:center;flex-wrap:wrap}
.tvs-team{min-width:min(260px,40vw);text-align:center;background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.14);border-radius:18px;padding:1vh 2vw;transition:all .3s}
.tvs-team span{display:block;font-weight:700;font-size:clamp(.9rem,2.4vh,1.4rem);opacity:.85}
.tvs-team b{font-family:'Bungee',var(--font-title);font-weight:400;font-size:clamp(1.8rem,6vh,3.6rem);line-height:1.1}
.tvs-team.hand{border-color:var(--sc-hi2);background:color-mix(in srgb,var(--sc-hi2) 12%,transparent);box-shadow:0 0 40px -10px var(--sc-hi2)}
.tvs-x{position:absolute;right:4vw;bottom:4vh;display:flex;gap:10px}
.tvs-x span{font-family:'Bungee',var(--font-title);color:#FF3B3B;font-size:clamp(1.6rem,5vh,3rem);text-shadow:0 0 16px rgba(255,40,40,.7)}
.tvs-bigx{position:absolute;inset:0;display:grid;place-items:center;background:rgba(20,0,0,.35);animation:tvxout 1.6s forwards;pointer-events:none}
.tvs-bigx span{font-family:'Bungee',var(--font-title);font-size:min(60vh,50vw);line-height:1;color:#FF2E2E;text-shadow:0 0 60px rgba(255,0,0,.8),0 12px 0 #6B0000;animation:tvxin .35s cubic-bezier(.3,1.6,.5,1)}
@keyframes tvxin{from{transform:scale(2.4);opacity:0}}
@keyframes tvxout{0%,70%{opacity:1}100%{opacity:0}}
.tvs-obj{font-family:var(--font-title);font-weight:800;font-size:clamp(1.6rem,6vh,3.6rem);text-align:center;margin-top:2vh;text-wrap:balance}
.tvs-price{font-family:'Bungee',var(--font-title);font-size:clamp(4rem,20vh,12rem);line-height:1;color:var(--sc-hi2);text-shadow:0 8px 0 color-mix(in srgb,var(--sc-deep) 60%,#000),0 0 50px color-mix(in srgb,var(--sc-hi2) 45%,transparent);letter-spacing:.02em}
.tvs-price.rev{animation:tvxin .5s cubic-bezier(.3,1.6,.5,1)}
.tvs-verdict{font-family:'Bungee',var(--font-title);font-size:clamp(1.4rem,6vh,3.4rem);min-height:1.2em;text-align:center}
.tvs-verdict.plus{color:#5CFF9D}.tvs-verdict.moins{color:#FF5C7A}.tvs-verdict.ok{color:var(--sc-hi2);animation:tvpulse .6s 3}
.tvs-timer{font-family:'Bungee',var(--font-title);font-size:clamp(1.4rem,5vh,3rem);background:var(--sc-hi);border-radius:999px;padding:.1em .8em}
.tvs-hist{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;opacity:.8}
.tvs-hist span{border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:4px 14px;font-weight:600}

/* Casino : régie */
.ca-live{min-height:100%}
.ca-g{align-items:start}.ca-tips{margin:18px 0 16px;padding-left:1.3em;line-height:1.6;color:var(--muted)}
.ca-amb{text-align:center;padding:30px 10px;border-radius:16px;background:radial-gradient(ellipse at 50% 0%,color-mix(in srgb,var(--sc-mid) 70%,#000),color-mix(in srgb,var(--sc-deep) 75%,#000) 75%);color:var(--sc-hi2)}
.ca-amb h2{font-family:'Poiret One',var(--font-title);font-size:2.2rem;margin:.2em 0;color:var(--sc-hi2)}
.ca-amb p{color:color-mix(in srgb,var(--sc-hi2) 75%,#888);max-width:40ch;margin:0 auto}
.ca-suits{letter-spacing:.5em;font-size:1.4rem;color:var(--sc-hi)}
.ca-lothead{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.pill.ca-rot{background:#3b2a12;color:#F5D48B}
.ca-lot{display:grid;grid-template-columns:140px 1fr;gap:20px;align-items:center}
.ca-lot img,.ca-noimg{width:140px;height:140px;border-radius:14px;object-fit:cover;background:color-mix(in srgb,var(--sc-deep) 75%,#000);border:3px solid var(--sc-hi)}
.ca-noimg{display:grid;place-items:center;font-size:3rem;color:var(--sc-hi)}
.ca-lot h2{margin:0 0 6px;font-size:1.5rem}
.ca-amount{font-family:var(--font-title);font-weight:800;font-size:3.4rem;line-height:1}
.ca-amount small{font-size:1rem;font-weight:600;color:var(--muted)}
.ca-bids{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:20px 0 12px}
.ca-bids .btn{justify-content:center;font-size:1.15rem;padding:14px;background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--sc-mid) 65%,#000),color-mix(in srgb,var(--sc-deep) 75%,#000));color:var(--sc-hi2);border:2px dashed rgba(201,164,92,.75);box-shadow:inset 0 0 0 4px color-mix(in srgb,var(--sc-deep) 75%,#000),0 6px 14px -8px rgba(0,0,0,.6);font-family:var(--font-title);font-weight:800}
.ca-bids .btn:hover{border-style:solid}
.ca-bids .btn:disabled{opacity:.35}
.ecr-gros .ecr-brand{top:auto;bottom:18px}.ecr-sem .ecr-brand{top:auto;bottom:14px}
.ca-steps{display:flex;gap:8px;flex-wrap:wrap}
.btn.ca-gavel{background:#0B2419;color:#F3E3B5;border:2px solid #C9A45C;font-size:1.05rem;padding:12px 22px}
.ca-help{font-size:.86rem;color:var(--muted);background:var(--soft);border-radius:12px;padding:10px 12px;margin:0 0 12px}
.ca-list{display:grid;gap:6px;max-height:420px;overflow:auto;padding-right:4px}
.ca-row{display:grid;grid-template-columns:40px 116px auto auto 1fr auto auto;gap:6px 10px;align-items:center;padding:6px 4px;border-radius:12px;border-bottom:1px solid var(--line,#E3E7EE)}
.ca-row>.ca-thumb{grid-row:1/3;align-self:start}.ca-row>input[type=text]{grid-column:2/7;grid-row:1;width:100%;min-width:0}.ca-row>.ca-st{grid-column:7;grid-row:1;text-align:right}
.ca-row>.ca-start{grid-column:2;grid-row:2;width:100%;min-width:0}.ca-row>label.ca-chk:nth-of-type(1){grid-column:3;grid-row:2}.ca-row>label.ca-chk:nth-of-type(2){grid-column:4;grid-row:2}.ca-row>label.btn{grid-column:6/8;grid-row:2;justify-self:end}
.ca-row.cur{background:var(--soft)}
.ca-thumb{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:var(--bg);font-weight:700;color:var(--muted);cursor:pointer;overflow:hidden;padding:0}
.ca-thumb img{width:100%;height:100%;object-fit:cover}
.ca-chk{display:flex;align-items:center;gap:4px;font-size:.82rem;color:var(--muted)}
.ca-chk input{width:auto}
.ca-st{font-weight:700;font-size:.85rem;text-align:right}
@media (max-width:600px){.ca-lot{grid-template-columns:1fr}.ca-row .ca-st{display:none}.ca-row{grid-template-columns:36px 96px auto auto 1fr;gap:6px 8px}.ca-row>input[type=text]{grid-column:2/6}.ca-row>.ca-thumb{grid-row:1/4}.ca-row>label.btn{grid-column:2/6;grid-row:3;justify-self:start}}

/* Casino : écran Art déco */
.ecr-casino{background:radial-gradient(ellipse 70% 60% at 50% 45%,color-mix(in srgb,var(--sc-mid) 60%,#000),color-mix(in srgb,var(--sc-deep) 75%,#000) 70%,color-mix(in srgb,var(--sc-deep) 25%,#000));color:var(--sc-hi2);align-items:center;justify-content:center;padding:5vh 6vw;font-family:'Poiret One',var(--font-title)}
.cas-deco{position:absolute;inset:2.4vh 1.8vw;pointer-events:none;border:1px solid color-mix(in srgb,var(--sc-hi) 55%,transparent);outline:1px solid color-mix(in srgb,var(--sc-hi) 25%,transparent);outline-offset:8px}
.cas-deco i{position:absolute;width:9vh;height:9vh;border:2px solid var(--sc-hi)}
.cas-deco i::after{content:'';position:absolute;inset:8px;border:1px solid color-mix(in srgb,var(--sc-hi) 60%,transparent)}
.cas-deco i:nth-child(1){left:-2px;top:-2px;border-right:0;border-bottom:0}
.cas-deco i:nth-child(2){right:-2px;top:-2px;border-left:0;border-bottom:0}
.cas-deco i:nth-child(3){left:-2px;bottom:-2px;border-right:0;border-top:0}
.cas-deco i:nth-child(4){right:-2px;bottom:-2px;border-left:0;border-top:0}
.cas-sun{position:absolute;left:50%;top:55%;width:150vh;height:150vh;transform:translate(-50%,-50%);border-radius:50%;background:repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--sc-hi) 12%,transparent) 0 4deg,transparent 4deg 12deg);-webkit-mask:radial-gradient(circle,transparent 18%,#000 19%,transparent 62%);mask:radial-gradient(circle,transparent 18%,#000 19%,transparent 62%);animation:cassun 90s linear infinite}
@keyframes cassun{to{transform:translate(-50%,-50%) rotate(360deg)}}
.cas-amb{position:relative;text-align:center}
.cas-chips{position:absolute;inset:0;overflow:hidden;pointer-events:none}.cas-chips i{position:absolute;top:-10vh;font-style:normal;font-size:clamp(1.4rem,5vh,3rem);color:var(--sc-hi);opacity:.28;animation:casfall linear infinite}
.cas-chips i:nth-child(even){color:color-mix(in srgb,var(--sc-hi2) 80%,#c0392b)}
@keyframes casfall{from{transform:translateY(0) rotate(0)}to{transform:translateY(125vh) rotate(540deg)}}
@media (prefers-reduced-motion:reduce){.cas-chips{display:none}}
.cas-call{margin-top:3vh;font-size:clamp(1.4rem,5vh,3rem);color:var(--sc-hi2);letter-spacing:.08em;animation:caspulse 1s ease-in-out infinite}.cas-call .ecd{font-variant-numeric:tabular-nums;font-weight:800;margin-left:.4em}
@keyframes caspulse{50%{opacity:.55}}
.cas-strip{position:absolute;left:0;right:0;bottom:4vh;display:flex;justify-content:center;flex-wrap:wrap;gap:1vh 1.6vw;font-size:clamp(.8rem,2.2vh,1.3rem);padding:0 4vw}.cas-strip span{letter-spacing:.25em;text-transform:uppercase;color:var(--sc-hi);opacity:.8}.cas-strip b{font-weight:600;opacity:.85}
.cas-pal{position:relative;display:grid;grid-template-columns:1fr 1.2fr;gap:5vw;align-items:center;width:min(1300px,88vw);margin-top:8vh}
.cas-tot{text-align:center}.cas-best{font-size:clamp(1rem,3vh,1.8rem);margin:2vh 0 0;opacity:.9}
.cas-sold{list-style:none;margin:0;padding:0;max-height:64vh;overflow:hidden;columns:1}.cas-sold li{display:flex;justify-content:space-between;gap:2vw;padding:1.1vh 0;border-bottom:1px solid color-mix(in srgb,var(--sc-hi) 35%,transparent);font-size:clamp(1rem,3vh,1.9rem)}.cas-sold li b{color:var(--sc-hi2);font-variant-numeric:tabular-nums}.cas-sold li.rot span::after{content:' 💩';}
.ca-exact{margin-top:10px;gap:8px}.ca-exact input{width:150px}.ca-start{width:92px}
.cas-suits{font-size:clamp(1.2rem,4vh,2.4rem);letter-spacing:.8em;margin-left:.8em;color:var(--sc-hi)}
.cas-amb h1{font-family:'Poiret One',var(--font-title);font-weight:400;font-size:clamp(4rem,22vh,14rem);line-height:.95;margin:.1em 0;letter-spacing:.14em;margin-right:-.14em;background:linear-gradient(180deg,#FFFFFF,var(--sc-hi) 60%,color-mix(in srgb,var(--sc-hi) 60%,#000));-webkit-background-clip:text;background-clip:text;color:transparent;text-transform:uppercase}
.cas-rule{height:2px;width:min(60vw,700px);margin:2vh auto;background:linear-gradient(90deg,transparent,var(--sc-hi),transparent);position:relative}
.cas-rule::after{content:'◆';position:absolute;left:50%;top:50%;transform:translate(-50%,-52%);color:var(--sc-hi);background:color-mix(in srgb,var(--sc-mid) 60%,#000);padding:0 10px;font-size:1.2rem}
.cas-tag{font-size:clamp(1.8rem,7vh,4.4rem);margin:0;letter-spacing:.06em}
.cas-sub{font-family:var(--font-body);font-size:clamp(.9rem,2.4vh,1.4rem);letter-spacing:.3em;text-transform:uppercase;opacity:.65;margin:1.5vh 0 0}
.cas-head{position:absolute;top:5vh;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:.4vh}
.cas-head span{font-size:clamp(1.4rem,5vh,3rem);letter-spacing:.2em;text-transform:uppercase;color:var(--sc-hi2)}
.cas-head em{font-style:normal;font-family:var(--font-body);font-size:clamp(.8rem,2vh,1.1rem);letter-spacing:.35em;text-transform:uppercase;opacity:.7}
.cas-lot{position:relative;display:grid;grid-template-columns:auto 1fr;gap:5vw;align-items:center;width:min(1300px,90vw);margin-top:6vh}
.cas-frame{width:min(46vh,34vw);aspect-ratio:1;padding:12px;border:2px solid var(--sc-hi);outline:1px solid color-mix(in srgb,var(--sc-hi) 50%,transparent);outline-offset:6px;background:color-mix(in srgb,var(--sc-deep) 40%,#000)}
.cas-frame img{width:100%;height:100%;object-fit:cover;display:block}
.cas-mystery{width:100%;height:100%;display:grid;place-items:center;font-size:min(22vh,16vw);color:var(--sc-hi);background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--sc-deep) 70%,#000) 0 14px,color-mix(in srgb,var(--sc-deep) 85%,#000) 14px 28px)}
.cas-info h2{font-family:'Poiret One',var(--font-title);font-weight:400;font-size:clamp(1.8rem,6.4vh,4rem);margin:0 0 2vh;line-height:1.05;color:var(--sc-hi2)}
.cas-amt{font-family:var(--font-title);font-weight:800;font-size:clamp(4rem,22vh,13rem);line-height:.9;background:linear-gradient(180deg,#FFFFFF,var(--sc-hi2) 50%,color-mix(in srgb,var(--sc-hi) 70%,#000));-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.cas-amt.bump{animation:casbump .45s}
@keyframes casbump{40%{transform:scale(1.12)}}
.cas-unit{font-size:clamp(1.2rem,4vh,2.4rem);letter-spacing:.35em;text-transform:uppercase;color:var(--sc-hi)}
.cas-step{margin-top:3vh;display:inline-block;font-size:clamp(1.6rem,6vh,3.6rem);min-height:1.3em;color:var(--sc-hi2)}
.cas-step.sold,.cas-step.rot{font-family:var(--font-title);font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:.1em .5em;border:6px double currentColor;border-radius:10px;transform:rotate(-8deg)}
.cas-step.sold{color:var(--sc-hi2)}
.cas-step.rot{color:#FF6B4A}
.cas-step.stamp{animation:casstamp .5s cubic-bezier(.3,1.7,.5,1)}
@keyframes casstamp{from{transform:rotate(-8deg) scale(2.6);opacity:0}}

/* Gros jeux : régie */
.gj-live{text-align:center;background:linear-gradient(180deg,#F6EBD8,#EEDDBF);border-color:#E2CBA4}
.gj-round{display:flex;justify-content:center;align-items:baseline;gap:8px;font-weight:600;color:color-mix(in srgb,var(--sc-deep) 60%,#6B4A22)}
.gj-round b{font-family:'Alfa Slab One',var(--font-title);font-weight:400;font-size:2.4rem;color:color-mix(in srgb,var(--sc-deep) 85%,#2E1C08)}
.gj-clock{font-family:'Alfa Slab One',var(--font-title);font-size:4rem;line-height:1.1;color:color-mix(in srgb,var(--sc-deep) 85%,#2E1C08);margin:6px 0 12px;opacity:.5}
.gj-clock.run{opacity:1;color:var(--sc-hi)}
.gj-dur{display:flex;align-items:center;gap:6px;font-weight:600;font-size:.9rem}
.gj-dur input{width:70px}
.gj-plan{display:grid;gap:6px;margin-top:18px;text-align:left}
.gj-plan div{display:flex;justify-content:space-between;gap:10px;background:rgba(255,255,255,.65);border-radius:10px;padding:8px 12px}
.gj-plan span{font-weight:600}.gj-plan b{color:color-mix(in srgb,var(--sc-deep) 60%,#8B4A16)}
.gj-live .ca-lang{justify-content:center;border-color:#E2CBA4}
.gj-t th input{min-width:140px;font-weight:700}
.gj-t td input[type=number]{width:74px}
.gj-t td input[type=text]{min-width:130px}
.gj-t td.now input{border:2px solid var(--accent);background:var(--soft)}

/* Gros jeux : écran fête de village */
.ecr-gros{background:
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='70'%3E%3Cpath d='M0 6 Q120 34 240 6' fill='none' stroke='%23553616' stroke-width='2'/%3E%3Cpath d='M14 11 L34 11 L24 44Z' fill='%23D9482B'/%3E%3Cpath d='M62 18 L82 19 L71 52Z' fill='%23F2B632'/%3E%3Cpath d='M110 20 L130 20 L120 54Z' fill='%232E7D5B'/%3E%3Cpath d='M158 19 L178 18 L169 52Z' fill='%232D6CB5'/%3E%3Cpath d='M206 11 L226 11 L216 44Z' fill='%23F28C28'/%3E%3C/svg%3E") top left/240px 70px repeat-x,
 radial-gradient(ellipse at 50% 40%,rgba(255,255,255,.18),transparent 70%),
 repeating-linear-gradient(115deg,rgba(90,60,20,.04) 0 2px,transparent 2px 7px),#CFA56E;
 color:#2E1C08;align-items:center;padding:9vh 5vw 4vh;gap:3vh}
.gro-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:100%;gap:2vw}
.gro-head h1{font-family:'Alfa Slab One',var(--font-title);font-weight:400;font-size:clamp(2rem,8vh,5rem);margin:0;color:#FFF4DC;text-shadow:0 4px 0 color-mix(in srgb,var(--sc-deep) 70%,#6E3F12),0 8px 18px rgba(60,30,0,.35);grid-column:2;text-align:center;line-height:1}
.gro-tour{grid-column:1;grid-row:1;justify-self:start;font-weight:800;font-size:clamp(1rem,3vh,1.6rem);background:color-mix(in srgb,var(--sc-deep) 80%,#000);color:#FFE7B0;border-radius:999px;padding:.3em 1em}
.gro-tour b{font-family:'Alfa Slab One',var(--font-title);font-weight:400}
.gro-clock{grid-column:3;justify-self:end;font-family:'Alfa Slab One',var(--font-title);font-size:clamp(1.6rem,7vh,4rem);background:#FFF4DC;border:4px solid color-mix(in srgb,var(--sc-deep) 70%,#6E3F12);border-radius:18px;padding:.05em .45em;box-shadow:0 8px 0 color-mix(in srgb,var(--sc-deep) 70%,#6E3F12)}
.gro-clock.off{opacity:.55}
.gro-change{font-family:'Alfa Slab One',var(--font-title);font-size:clamp(2rem,9vh,5.4rem);color:#fff;background:var(--sc-hi);padding:.15em .8em;border-radius:14px;transform:rotate(-2deg);box-shadow:0 10px 0 color-mix(in srgb,var(--sc-hi) 55%,#000);animation:gropulse 1s infinite}
@keyframes gropulse{50%{transform:rotate(-2deg) scale(1.04)}}
.sign{position:relative;display:grid;align-items:center;gap:1.4vw;color:#FFF1D2;border-radius:10px;padding:1.2vh 2vw;
 background:repeating-linear-gradient(0deg,rgba(0,0,0,.07) 0 2px,transparent 2px 9px),linear-gradient(180deg,color-mix(in srgb,var(--sc-mid) 70%,#9A6433),color-mix(in srgb,var(--sc-deep) 60%,#7A4A22));
 box-shadow:inset 0 2px 0 rgba(255,255,255,.18),inset 0 -3px 0 rgba(0,0,0,.25),0 8px 16px -8px rgba(50,25,0,.6)}
.sign::before,.sign::after{content:'';position:absolute;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#E8E2D6,#6D675E)}
.sign::before{left:10px}.sign::after{right:10px}
.gro-rank,.gro-plan{display:grid;gap:1.4vh;width:min(1100px,90vw)}
.gro-rank{grid-template-columns:1fr}
.gro-rank .sign{grid-template-columns:auto 1fr auto;font-size:clamp(1.1rem,4vh,2.4rem)}
.gro-rank .sign:nth-child(even){transform:rotate(.4deg)}.gro-rank .sign:nth-child(odd){transform:rotate(-.4deg)}
.gro-rank em{font-style:normal;font-family:'Alfa Slab One',var(--font-title);width:1.6em;height:1.6em;display:grid;place-items:center;border-radius:50%;background:#FFE7B0;color:color-mix(in srgb,var(--sc-deep) 70%,#5A3510);margin-left:10px}
.gro-rank span{font-weight:800}
.gro-rank b{font-family:'Alfa Slab One',var(--font-title);font-weight:400;margin-right:10px}
.gro-rank .sign.first{background:repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 2px,transparent 2px 9px),linear-gradient(180deg,var(--sc-hi2),var(--sc-hi));color:color-mix(in srgb,var(--sc-deep) 80%,#000)}
.gro-rank .sign.first em{background:color-mix(in srgb,var(--sc-deep) 80%,#000);color:var(--sc-hi2)}
.gro-plan{grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr))}
.gro-plan .sign{grid-template-columns:1fr auto 1.3fr;font-size:clamp(1rem,3.4vh,2rem);padding-left:2.4vw;padding-right:2.4vw}
.gro-plan span{font-weight:700;opacity:.9}.gro-plan i{font-style:normal;opacity:.6}
.gro-plan b{font-family:'Alfa Slab One',var(--font-title);font-weight:400;color:#FFE7B0}
.gro-podium{display:grid;grid-template-columns:repeat(3,1fr);align-items:end;gap:1.4vw;width:min(1000px,88vw);margin-top:auto}
.pod{display:flex;flex-direction:column;align-items:center;text-align:center;animation:grorise .9s cubic-bezier(.3,1.3,.5,1) both}
.pod.p1{animation-delay:.5s}.pod.p3{animation-delay:.25s}
@keyframes grorise{from{transform:translateY(40vh);opacity:0}}
.pod .pn{font-family:'Alfa Slab One',var(--font-title);font-size:clamp(1.1rem,4.4vh,2.6rem);color:color-mix(in srgb,var(--sc-deep) 80%,#000);line-height:1.05}
.pod .ps{font-weight:800;font-size:clamp(.9rem,2.8vh,1.6rem);margin:.4vh 0 1vh;color:color-mix(in srgb,var(--sc-deep) 70%,#6E3F12)}
.pod .step{width:100%;display:grid;place-items:center;border-radius:12px 12px 0 0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.07) 0 2px,transparent 2px 9px),linear-gradient(180deg,color-mix(in srgb,var(--sc-mid) 70%,#9A6433),color-mix(in srgb,var(--sc-deep) 70%,#6E3F12));box-shadow:inset 0 3px 0 rgba(255,255,255,.2)}
.pod .step b{font-family:'Alfa Slab One',var(--font-title);font-weight:400;font-size:clamp(2rem,10vh,6rem);color:#FFE7B0}
.pod.p1 .step{height:34vh;background:repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0 2px,transparent 2px 9px),linear-gradient(180deg,var(--sc-hi2),var(--sc-hi))}
.pod.p1 .step b{color:color-mix(in srgb,var(--sc-deep) 80%,#000)}
.pod.p2 .step{height:24vh}.pod.p3 .step{height:16vh}

/* ===== Pot d'accueil : régie ===== */
.pa-g{grid-template-columns:minmax(280px,360px) minmax(0,1fr)}
.pa-live{position:sticky;top:90px;text-align:center}
.pa-now{margin:18px 0}
.pa-now small{color:var(--muted);font-weight:600}
.pa-now h2{font-family:var(--font-title);font-weight:600;font-size:1.9rem;margin:.2em 0 0;line-height:1.1}
.pa-ctl{display:flex;justify-content:center;gap:8px}
.pa-ctl .btn{min-width:56px;justify-content:center}
.pa-ctl #paplay{min-width:120px}
.pa-dur{justify-content:center;margin-top:16px}
.pa-tip{font-size:.88rem;margin:16px 0 0}
.pa-list{display:grid;gap:12px}
.pa-item{display:grid;grid-template-columns:92px 1fr;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;transition:border-color .2s,box-shadow .2s}
.pa-item.cur{border-color:var(--accent);box-shadow:0 0 0 4px var(--soft)}
.pa-thumb{width:92px;height:92px;border-radius:12px;overflow:hidden;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-family:var(--font-title);font-size:1.6rem}
.pa-thumb.k-prog{background:var(--accent)}.pa-thumb.k-qr{background:var(--ink)}
.pa-thumb img{width:100%;height:100%;object-fit:cover}
.pa-fields{display:grid;gap:8px;min-width:0}
.pa-fields input,.pa-fields textarea{min-width:0;width:100%;box-sizing:border-box}
.pa-fields input[type=text]{font-weight:700}
.pa-top{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:center}
.pa-tools{display:flex;gap:4px}
.pa-opts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pa-auto{margin:0;font-size:.88rem}
.pa-opts .ca-chk{white-space:nowrap;gap:6px}
.pa-opts .ca-chk input{margin:0}
.pa-add{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
@media (max-width:980px){.pa-g{grid-template-columns:1fr}.pa-live{position:static}}
@media (max-width:600px){.pa-item{grid-template-columns:1fr}.pa-thumb{width:100%;height:120px}}

/* ===== Pot d'accueil : écran carte postale ===== */
.ecr-pot{background:
 radial-gradient(circle at 12% 18%,color-mix(in srgb,var(--accent) 16%,transparent),transparent 40%),
 radial-gradient(circle at 90% 90%,color-mix(in srgb,var(--primary) 12%,transparent),transparent 45%),
 repeating-linear-gradient(0deg,rgba(0,0,0,.018) 0 1px,transparent 1px 4px),#FBF6EC;
 color:var(--ink,#1b1b1b);align-items:center;justify-content:center;padding:7vh 6vw 9vh}
.pot-stamp{position:absolute;right:4vw;top:5vh;width:11vh;height:13vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--primary);color:var(--on-primary);transform:rotate(6deg);
 padding:7px;-webkit-mask:linear-gradient(#000 0 0) content-box,radial-gradient(circle 4px,transparent 95%,#000) -6px -6px/12px 12px;mask:linear-gradient(#000 0 0) content-box,radial-gradient(circle 4px,transparent 95%,#000) -6px -6px/12px 12px}
.pot-stamp::before{content:'';position:absolute;inset:14px;border:1.5px solid color-mix(in srgb,var(--on-primary) 60%,transparent)}
.pot-stamp b{font-family:var(--font-title);font-size:6vh;line-height:1}
.pot-stamp small{font-size:1.5vh;letter-spacing:.14em;text-transform:uppercase;margin-top:.6vh}
.pot-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:5vw;align-items:center;width:min(1400px,88vw);animation:potin .9s cubic-bezier(.2,.9,.3,1) both}
@keyframes potin{from{opacity:0;transform:translateY(3vh)}}
.pot-ph{aspect-ratio:4/3.2;background:#fff;padding:1.6vh 1.6vh 5vh;box-shadow:0 2vh 5vh -2vh rgba(40,25,5,.45);transform:rotate(-2.2deg);position:relative}
.pot-ph::after{content:'';position:absolute;left:50%;top:-2.2vh;width:14vh;height:4.4vh;transform:translateX(-50%) rotate(3deg);background:color-mix(in srgb,var(--accent) 45%,#fff);opacity:.75}
.pot-ph img{width:100%;height:100%;object-fit:cover;display:block}
.pot-card.noimg .pot-ph>span{width:100%;height:100%;display:grid;place-items:center;font-family:var(--font-title);font-weight:600;font-size:34vh;line-height:1;color:var(--on-primary);
 background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--accent) 70%,var(--primary)),var(--primary) 70%)}
.pot-qr{display:grid;place-items:center;padding:4vh}
.pot-qr svg{height:100%;width:auto;aspect-ratio:1;max-width:100%}
.pot-txt{min-width:0}
.pot-kick{display:inline-block;font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(.8rem,2vh,1.2rem);color:var(--accent);border-bottom:2px solid currentColor;padding-bottom:.4vh}
.pot-txt h1{font-family:var(--font-title);font-weight:600;font-size:clamp(2.4rem,11vh,7.4rem);line-height:.98;margin:2.4vh 0;color:var(--primary);letter-spacing:-.01em;text-wrap:balance}
.pot-txt p{font-size:clamp(1.1rem,3.8vh,2.3rem);line-height:1.35;margin:0;max-width:26ch;color:color-mix(in srgb,var(--ink,#222) 85%,transparent)}
.pot-prog{width:min(1500px,92vw);animation:potin .9s cubic-bezier(.2,.9,.3,1) both}
.pot-prog h1{font-family:var(--font-title);font-weight:600;font-size:clamp(2rem,8vh,5rem);margin:1.4vh 0 3vh;color:var(--primary);line-height:1}
.pot-week{display:grid;grid-template-columns:repeat(7,1fr);gap:1vw}
.pot-week>div{background:#fff;border-radius:1.4vh;padding:1.6vh 1vw;box-shadow:0 1vh 3vh -2vh rgba(40,25,5,.35);min-height:30vh}
.pot-week>div.today{outline:3px solid var(--accent);outline-offset:3px}
.pot-week b{display:block;font-family:var(--font-title);font-size:clamp(1rem,3.4vh,1.8rem);color:var(--primary);margin-bottom:1vh}
.pot-week p{margin:0 0 1.2vh;font-weight:600;font-size:clamp(.75rem,2.2vh,1.15rem);line-height:1.2;border-left:4px solid var(--c);padding-left:.6vw}
.pot-week p span{display:block;font-weight:800;color:var(--muted);font-size:.85em}
.pot-week p.free{border:0;padding:0;color:var(--muted);font-weight:500}
.pot-dots{position:absolute;bottom:4vh;left:50%;transform:translateX(-50%);display:flex;gap:10px}
.pot-dots i{width:34px;height:5px;border-radius:5px;background:color-mix(in srgb,var(--primary) 18%,transparent);overflow:hidden}
.pot-dots i.on{background:color-mix(in srgb,var(--primary) 30%,transparent)}
.pot-dots em{display:block;height:100%;background:var(--primary);animation:potbar linear forwards;transform-origin:left}
@keyframes potbar{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ===== Écran de veille : tableau façon gare ===== */
.ecr-veille{background:radial-gradient(ellipse 70% 60% at 50% 0%,color-mix(in srgb,var(--primary) 45%,#0C0D10),#0C0D10 70%);color:#F3EEDD;padding:0;font-family:var(--font-body)}
.vv-top{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:3vw;padding:3.2vh 3.4vw;border-bottom:1px solid rgba(255,255,255,.1)}
.vv-camp{font-weight:800;font-size:clamp(1rem,3vh,1.7rem);letter-spacing:.02em}
.vv-date{font-size:clamp(.9rem,2.6vh,1.5rem);opacity:.7}
.vv-date::first-letter,.vp-hero p::first-letter{text-transform:uppercase}
.vv-clock{font-family:'Space Mono',monospace;font-weight:700;font-size:clamp(2rem,8vh,5rem);line-height:1;color:var(--sc-hi);letter-spacing:.02em}
.vv-main{flex:1;display:flex;flex-direction:column;justify-content:center;padding:2vh 3.4vw;min-height:0}
.vv-h{font-family:var(--font-title);font-weight:800;font-size:clamp(1.4rem,5.4vh,3.2rem);margin:0 0 2.6vh;display:flex;align-items:center;gap:1vw}
.vv-h::before{content:'';width:1.2vh;height:5vh;background:var(--accent);border-radius:3px}
.vv-board{display:grid;gap:1.1vh}
.vv-row{display:grid;grid-template-columns:auto minmax(0,2.4fr) minmax(0,1.2fr) minmax(170px,.9fr);gap:1.2vw;align-items:center}
.vv-row.head{font-size:clamp(.7rem,1.8vh,1rem);letter-spacing:.2em;text-transform:uppercase;opacity:.5;font-weight:700}
.vv-row.head span:first-child{min-width:calc(5 * 4.6vh)}
.vv-time{display:flex;gap:.35vh;min-width:calc(5 * 4.6vh)}
.vv-time i,.vv-flap{position:relative;background:linear-gradient(180deg,#26272B 0 49.5%,#1B1C1F 50.5% 100%);border-radius:.6vh;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 .4vh .8vh rgba(0,0,0,.5)}
.vv-time i::after,.vv-flap::after{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:rgba(0,0,0,.75)}
.vv-time i{font-style:normal;font-family:'Space Mono',monospace;font-weight:700;width:4.2vh;height:6.4vh;display:grid;place-items:center;font-size:4.2vh;color:var(--sc-hi)}
.vv-time u{text-decoration:none;font-family:'Space Mono',monospace;font-weight:700;font-size:4vh;color:var(--sc-hi);align-self:center;width:1.6vh;text-align:center}
.vv-flap{font-family:'Space Mono',monospace;font-weight:700;text-transform:uppercase;font-size:clamp(.9rem,3.2vh,1.9rem);padding:1.4vh 1.2vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.02em}
.vv-flap.l{color:#BDB8A8;font-size:clamp(.8rem,2.6vh,1.5rem)}
.vv-st{font-weight:800;font-size:clamp(.85rem,2.8vh,1.6rem);text-transform:uppercase;letter-spacing:.06em;color:#9E9A8E;display:flex;align-items:center;gap:.8vh}
.vv-row.now .vv-st{color:var(--sc-hi-ink);background:var(--sc-hi);border-radius:999px;padding:.6vh 1.4vh;justify-self:start}
.vv-row.now .vv-st::before{content:'';width:1.2vh;height:1.2vh;border-radius:50%;background:#0C0D10;animation:vvblink 1s infinite}
.vv-row.in .vv-st{color:var(--sc-hi)}
.vv-row.done{opacity:.35}
.vv-row.now .vv-flap{box-shadow:inset 0 0 0 2px var(--sc-hi),0 .4vh .8vh rgba(0,0,0,.5)}
.vv-row.free .vv-flap{grid-column:1/-1;text-align:center}
@keyframes vvblink{50%{opacity:.2}}
.vv-board.flip .vv-row:not(.head)>*{animation:vvflip .55s cubic-bezier(.3,1.4,.6,1) both;animation-delay:var(--d)}
@keyframes vvflip{from{transform:perspective(600px) rotateX(-90deg);opacity:.2}}
.vv-qr{display:flex;align-items:center;justify-content:center;gap:5vw;animation:potin .8s both}
.vv-qrbox{background:#fff;padding:3vh;border-radius:2vh;width:44vh;height:44vh}
.vv-qrbox svg{width:100%;height:100%}
.vv-qr h1{font-family:var(--font-title);font-weight:800;font-size:clamp(2rem,8vh,5rem);line-height:1.02;max-width:14ch;margin:0 0 2vh}
.vv-qr p{font-size:clamp(1rem,3.4vh,2rem);opacity:.7;margin:0}
.vv-tick{background:var(--sc-hi);color:var(--sc-hi-ink);overflow:hidden;white-space:nowrap;padding:1.6vh 0;font-weight:800;font-size:clamp(1rem,3.4vh,2rem)}
.vv-tick-in{display:inline-block;animation:vvtick linear infinite;padding-left:100%}
.vv-tick-in b{margin:0 2.4vw;opacity:.5}
@keyframes vvtick{to{transform:translateX(-50%)}}
.vv-opts{display:grid;gap:8px}
.vv-opt{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;cursor:pointer}
.vv-opt input{width:auto;margin-top:4px}
.vv-opt span{display:flex;flex-direction:column}
.vv-opt small{color:var(--muted)}
.vv-msgs{display:grid;gap:6px}
.vv-msg{display:grid;grid-template-columns:1fr auto;gap:6px}
.vv-msg input{min-width:0}

/* ===== Semainier : affiche à l'écran ===== */
.ecr-sem{background:var(--primary);color:var(--on-primary);padding:5vh 3vw 3vh;gap:2.4vh}
.sem-h{display:flex;justify-content:space-between;align-items:flex-end;gap:2vw;padding-left:16vw}
.sem-kick{font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-size:clamp(.7rem,1.9vh,1.1rem);opacity:.75}
.sem-h h1{font-family:var(--font-title);font-weight:600;font-size:clamp(2rem,8vh,5rem);margin:.4vh 0 0;line-height:1}
.sem-dates{text-align:right;font-weight:600;font-size:clamp(.9rem,2.4vh,1.4rem);opacity:.85;display:flex;flex-direction:column;align-items:flex-end;gap:1vh}
.sem-dates span{font-weight:800;letter-spacing:.2em;background:var(--accent);color:var(--on-primary);border-radius:999px;padding:.3vh 1.2vh;font-size:.8em}
.sem-grid{flex:1;display:grid;grid-template-columns:repeat(5,1fr);gap:1.2vw;min-height:0}
.sem-day{background:var(--bg,#FBF8F3);color:var(--ink,#1b1b1b);border-radius:1.6vh;padding:2.2vh 1.2vw;overflow:hidden;display:flex;flex-direction:column;gap:1.1vh}
.sem-day.past{opacity:.55}
.sem-day.today{box-shadow:0 0 0 .5vh var(--accent)}
.sem-day h2 small{font-size:.6em;opacity:.6}.sem-day h2{font-family:var(--font-title);font-weight:600;font-size:clamp(1.2rem,4.6vh,2.8rem);margin:0 0 .6vh;color:var(--primary);display:flex;flex-direction:column}
.sem-day h2 em{font-family:var(--font-body);font-style:normal;font-weight:800;font-size:.45em;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.sem-day p{margin:0;border-left:.6vh solid var(--c);padding-left:.8vw;font-weight:700;font-size:clamp(.9rem,3.3vh,1.9rem);line-height:1.2}
.sem-day p b{display:block;font-weight:800;color:var(--c);font-size:.9em}
.sem-day p small{display:block;font-weight:500;color:var(--muted);font-size:.8em}
.sem-leg{display:flex;gap:2vw;justify-content:center;font-weight:600;font-size:clamp(.8rem,2vh,1.1rem)}
.sem-leg i{display:inline-block;width:1.6vh;height:1.6vh;border-radius:50%;margin-right:.6vh;vertical-align:-.2vh}

/* ===== Espace vacancier ===== */
.vp{max-width:520px;margin:0 auto;display:grid;gap:14px;padding-bottom:30px}
.vp-hero{position:relative;background:var(--primary);color:var(--on-primary);border-radius:0 0 28px 28px;padding:28px 22px 30px;margin:-4px -2px 0;overflow:hidden}
.vp-hero::after{content:'';position:absolute;right:-60px;top:-60px;width:200px;height:200px;border-radius:50%;background:var(--accent);opacity:.35}
.vp-camp{position:relative;font-weight:700;letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;opacity:.85}
.vp-hero h1{position:relative;font-family:var(--font-title);font-weight:600;font-size:2.4rem;margin:.15em 0 .1em;color:inherit}
.vp-hero p{position:relative;margin:0;opacity:.85}
.vp-lang{position:absolute;right:14px;top:14px;z-index:1;display:flex;background:rgba(255,255,255,.15);border-radius:999px;padding:3px}
.vp-lang button{border:0;background:transparent;color:inherit;font-weight:700;font-size:.75rem;padding:5px 9px;border-radius:999px;cursor:pointer}
.vp-lang button.on{background:var(--on-primary);color:var(--primary)}
.vp-lbl{display:inline-flex;align-items:center;gap:8px;font-size:.72rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.vp-now{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:18px 20px;margin:0 4px}
.vp-now.on{border:2px solid var(--accent)}
.vp-now.on .vp-lbl{color:var(--accent)}
.vp-now .vp-lbl i{width:9px;height:9px;border-radius:50%;background:var(--muted)}
.vp-now.on .vp-lbl i{background:var(--accent);box-shadow:0 0 0 0 var(--accent);animation:vppulse 1.6s infinite}
@keyframes vppulse{70%{box-shadow:0 0 0 10px transparent}}
.vp-now h2{font-family:var(--font-title);font-size:1.7rem;margin:.3em 0 .15em;line-height:1.1}
.vp-now h2.none{font-size:1.15rem;color:var(--muted);font-weight:600}
.vp-now p{margin:0;color:var(--muted)}
.vp-loto{margin-top:12px;padding-top:12px;border-top:1px dashed var(--line);font-weight:600}
.vp-loto b{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--primary);color:var(--on-primary);margin-left:6px}
.vp-next{margin:0 4px;padding:16px 20px;border-radius:22px;background:var(--soft)}
.vp-next>div{display:flex;gap:16px;align-items:center;margin-top:6px}
.vp-next>div>b{font-family:var(--font-title);font-size:1.6rem;color:var(--primary)}
.vp-next h3{margin:0;font-size:1.1rem}.vp-next p{margin:0;color:var(--muted);font-size:.9rem}
.vp-tl{margin:0 4px;padding:6px 4px}
.vp-tl h2,.vp-infos h2{font-family:var(--font-title);font-weight:600;font-size:1.5rem;margin:6px 0 10px}
.vp-ev{display:grid;grid-template-columns:62px 1fr;gap:12px;padding:10px 0;border-bottom:1px solid var(--line);position:relative}
.vp-ev b{font-family:var(--font-title);font-weight:800;color:var(--c)}
.vp-ev span{display:block;font-weight:700}
.vp-ev small{color:var(--muted)}
.vp-ev.past{opacity:.45}
.vp-ev.cur{background:var(--soft);border-radius:12px;padding:10px;margin:0 -10px;border-bottom-color:transparent}
.vp-free{color:var(--muted)}
.vp-tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 4px}
.vp-tile{display:flex;flex-direction:column;justify-content:flex-end;min-height:104px;padding:14px;border-radius:20px;text-decoration:none;color:var(--on-primary);background:var(--primary);position:relative;overflow:hidden}
.vp-tile::before{content:'';position:absolute;right:-24px;top:-24px;width:80px;height:80px;border-radius:50%;background:currentColor;opacity:.12}
.vp-tile b{font-family:var(--font-title);font-size:1.15rem}
.vp-tile small{opacity:.8;font-size:.8rem}
.vp-tile.t2{background:var(--accent)}.vp-tile.t3{background:color-mix(in srgb,var(--primary) 55%,var(--accent))}
.vp-qrcard a:not(.btn){color:var(--accent);font-weight:600}.vp-tile.t4{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.vp-infos{margin:0 4px}
.vp-infos details{border-bottom:1px solid var(--line);padding:12px 2px}
.vp-infos summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.vp-infos summary::after{content:'+';color:var(--accent-ink,var(--accent));font-weight:800}
.vp-infos details[open] summary::after{content:'−'}
.vp-infos p{margin:8px 0 0;color:var(--muted)}
.vp-staff{display:grid;grid-template-columns:auto minmax(0,380px);gap:40px;justify-content:center;align-items:start}
.vp-frame{width:380px;height:760px;border-radius:48px;border:12px solid #111;background:var(--bg);position:relative;overflow:hidden;box-shadow:0 30px 60px -30px rgba(10,35,66,.5)}
.vp-notch{position:absolute;top:8px;left:50%;transform:translateX(-50%);width:110px;height:26px;background:#111;border-radius:16px;z-index:2}
.vp-scroll{height:100%;overflow:auto;scrollbar-width:none}
.vp-scroll .vp-hero{padding-top:48px;margin:0}
.vp-qrcard{text-align:center}
@media (max-width:900px){.vp-staff{grid-template-columns:1fr}.vp-frame{margin:0 auto;width:min(380px,100%)}}

/* ===== Mini-jeux : pictos dessinés ===== */
.mem button span svg{width:70%;height:70%}
.mem button{position:relative;display:grid;place-items:center;background:repeating-linear-gradient(45deg,var(--primary) 0 10px,color-mix(in srgb,var(--primary) 82%,#fff) 10px 20px);box-shadow:inset 0 0 0 5px var(--primary),inset 0 0 0 7px color-mix(in srgb,var(--accent) 70%,transparent);cursor:pointer}
.mem button span{visibility:hidden;width:100%;height:100%;display:grid;place-items:center}
.mem button.up span,.mem button.done span{visibility:visible}
.mem button.up,.mem button.done{box-shadow:none;background:var(--surface)}
.mem button.done{opacity:1;border-color:var(--accent);background:var(--soft)}
.holes{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.18),transparent 50%),linear-gradient(160deg,#86BF4E,#5A9433);padding:16px;border-radius:28px;box-shadow:inset 0 -6px 0 rgba(0,0,0,.12)}
.holes button,.holes button.up{position:relative;overflow:hidden;background:radial-gradient(ellipse 46% 26% at 50% 74%,#2E1B0C 0 70%,#6B4423 72% 100%,transparent 101%);cursor:pointer}
.holes button svg{position:absolute;left:11%;bottom:22%}
.holes button svg{width:78%;height:78%;animation:popsq .18s ease-out}
@keyframes popsq{from{transform:translateY(40%) scale(.6)}}
.gm-ic{height:110px;display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-bottom:6px}
.gm-ic img{height:100%;border-radius:16px}
.gm-ic svg{height:64px;width:64px}

/* ===== Pétanque : écran du bar, ardoises de boulodrome ===== */
.ecr-pq{background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.35),transparent 45%),
 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='90' height='90'%3E%3Cg fill='%23a8916a' fill-opacity='.35'%3E%3Ccircle cx='7' cy='12' r='1.6'/%3E%3Ccircle cx='40' cy='5' r='1.1'/%3E%3Ccircle cx='70' cy='22' r='2'/%3E%3Ccircle cx='22' cy='48' r='1.3'/%3E%3Ccircle cx='58' cy='60' r='1.7'/%3E%3Ccircle cx='84' cy='74' r='1.2'/%3E%3Ccircle cx='12' cy='80' r='2.1'/%3E%3Ccircle cx='46' cy='84' r='1'/%3E%3C/g%3E%3C/svg%3E"),#E6D6B3;
 color:#2A2A24;padding:3.4vh 3vw 3vh;gap:2.4vh;font-family:var(--font-body)}
.pq-head{display:flex;align-items:center;gap:1.6vw;padding-left:15vw}
.pq-head .pq-boules{height:7vh;width:auto;flex:none}
.pq-head h1{font-family:'Caveat Brush',var(--font-title);font-weight:400;font-size:clamp(2rem,8.4vh,5.2rem);margin:0;line-height:1;color:var(--sc-deep)}
.pq-when{margin-left:auto;font-weight:800;font-size:clamp(.9rem,2.8vh,1.6rem);background:var(--sc-deep);color:var(--sc-hi2);border-radius:999px;padding:.6vh 1.6vw}
.pq-when::first-letter{text-transform:uppercase}
.pq-slate{background:linear-gradient(160deg,color-mix(in srgb,var(--sc-deep) 45%,#2F3A35),color-mix(in srgb,var(--sc-deep) 45%,#1F2724));color:#F4F1E8;border-radius:1.6vh;padding:2vh 1.6vw;box-shadow:0 1.2vh 2.4vh -1.2vh rgba(40,30,10,.55),inset 0 0 0 .7vh #7A5B35,inset 0 0 0 .9vh #5C4326;position:relative}
.pq-slate h2{font-family:'Caveat Brush',var(--font-title);font-weight:400;font-size:clamp(1.4rem,5.4vh,3.2rem);margin:0 0 1.2vh;line-height:1}
.pq-slate.big{padding:4vh 3vw;text-align:center}
.pq-center{flex:1;display:grid;place-items:center}
.pq-center .pq-slate p{font-size:clamp(1.2rem,4vh,2.4rem);margin:0}
.pq-open{flex:1;display:grid;grid-template-columns:1.3fr 1fr;gap:3vw;align-items:center}
.pq-hour{font-family:'Caveat Brush',var(--font-title);font-size:clamp(4rem,24vh,15rem);line-height:.9;color:var(--sc-hi2)}
.pq-counts{display:flex;justify-content:center;gap:5vw;margin-top:2vh}
.pq-counts b{display:block;font-family:'Caveat Brush',var(--font-title);font-weight:400;font-size:clamp(2.4rem,11vh,6.4rem);line-height:1}
.pq-counts span{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:clamp(.7rem,2vh,1.1rem);opacity:.75}
.pq-draw{margin-top:3vh;font-weight:800;font-size:clamp(1.2rem,4.4vh,2.6rem);color:var(--sc-hi2)}
.pq-qr{text-align:center}
.pq-qrbox{background:#fff;padding:2.4vh;border-radius:1.6vh;width:40vh;height:40vh;margin:0 auto;box-shadow:0 1.2vh 2.4vh -1.2vh rgba(40,30,10,.55);transform:rotate(1.5deg)}
.pq-qrbox svg{width:100%;height:100%}
.pq-qr p{font-weight:800;font-size:clamp(1rem,3.2vh,1.8rem);max-width:22ch;margin:2.4vh auto 0;color:var(--sc-deep)}
.pq-play,.pq-done{flex:1;display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:2vw;min-height:0}
.pq-rd{font-family:'Caveat Brush',var(--font-title);font-weight:400;font-size:clamp(1.4rem,5.4vh,3.2rem);margin:0 0 1.6vh;color:var(--sc-deep)}
.pq-matches{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr));gap:1.6vh 1.2vw}
.pq-m{display:grid;grid-template-columns:1fr auto;gap:.6vh 1vw;align-items:center;padding:1.8vh 1.6vw 1.8vh 1.4vw}
.pq-plaque{grid-column:1/-1;justify-self:start;background:var(--sc-hi2);color:#2A2A24;font-weight:900;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.7rem,2vh,1.1rem);border-radius:.6vh;padding:.3vh .9vw}
.pq-teams{font-weight:700;font-size:clamp(.95rem,3vh,1.7rem);line-height:1.2}
.pq-teams span{display:block}
.pq-teams i{font-style:normal;font-family:'Caveat Brush',var(--font-title);opacity:.6;font-size:.9em}
.pq-sc{font-family:'Caveat Brush',var(--font-title);font-weight:400;font-size:clamp(1.6rem,6vh,3.4rem);color:var(--sc-hi2);text-align:right;line-height:1}
.pq-sc small{display:block;font-family:var(--font-body);font-weight:900;font-size:clamp(.6rem,1.8vh,1rem);color:var(--sc-hi);text-transform:uppercase}
.pq-m.res{opacity:.72}.pq-m.res .pq-sc{color:#F4F1E8}
.pq-m.last{box-shadow:0 1.2vh 2.4vh -1.2vh rgba(40,30,10,.55),inset 0 0 0 .7vh var(--sc-hi),inset 0 0 0 .9vh #5C4326}
.pq-rank{align-self:start}
.pq-rk{display:grid;grid-template-columns:auto 1fr auto auto;gap:1vw;align-items:center;padding:1vh 0;border-bottom:1px dashed rgba(244,241,232,.25);font-size:clamp(.85rem,2.6vh,1.5rem)}
.pq-rk em{font-style:normal;font-family:'Caveat Brush',var(--font-title);font-size:1.3em;width:1.6em;color:var(--sc-hi2)}
.pq-rk span{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pq-rk b{font-family:'Caveat Brush',var(--font-title);font-weight:400;font-size:1.3em}
.pq-rk small{opacity:.6;min-width:3ch;text-align:right}
.pq-rk.first span{color:var(--sc-hi2)}
.pq-slate.win{align-self:center}
.pq-kick{font-weight:900;letter-spacing:.2em;text-transform:uppercase;color:var(--sc-hi2);font-size:clamp(.8rem,2.4vh,1.3rem)}
.pq-slate.win h2{font-size:clamp(2.4rem,11vh,6.4rem);margin:1.4vh 0}
.pq-slate.win p{font-size:clamp(1rem,3.2vh,1.8rem);margin:.6vh 0}
.pq-prize{color:var(--sc-hi2);font-weight:700}
.pqh-t{display:flex;align-items:center;gap:10px}
.pqh-t .pq-boules{height:34px;width:auto}
@media (max-width:900px){.pq-open,.pq-play,.pq-done{grid-template-columns:1fr}}

.evrep{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}
.evrep label{cursor:pointer}
.evrep input{position:absolute;opacity:0;width:1px;height:1px}
.evrep span{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:6px 11px;font-weight:600;font-size:.85rem;background:var(--surface)}
.evrep input:checked+span{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.evrep input:focus-visible+span{outline:2px solid var(--accent)}
.dsec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.dsec-p{font-weight:700;color:var(--muted);white-space:nowrap}
.offres-g{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.offres-g .offer{display:flex;flex-direction:column}
.offre-full{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:16px;padding-top:28px}
.cps-n{font-family:var(--font-title);font-weight:800;font-size:2.6rem;color:var(--accent-ink,var(--accent));line-height:1}
.cps h3{margin:.2em 0 .4em}
.abo-g{margin:18px 0 16px}
.abo-pk{cursor:pointer}.abo-pk input,.abo-full input{width:22px;height:22px}
.abo-full{cursor:pointer;display:block;padding-top:28px}
.abo-hint{background:var(--soft);border-radius:14px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;font-weight:600}
.abo-tot{margin-top:16px}
/* ===== Gros jeux façon Big Games : régie ===== */
.bg-track{display:flex;gap:6px;overflow-x:auto;padding:4px 2px 12px;margin-bottom:8px;scrollbar-width:thin}
@media (min-width:700px){.bg-track{flex-wrap:wrap;overflow:visible}}@media (max-width:699px){.bg-track{-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:40px}}
.bg-track button{flex:none;display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:6px 14px 6px 6px;font-weight:600;cursor:pointer;color:var(--ink);max-width:220px}
.bg-track button span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bg-track i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--bg);font-weight:800;font-size:.8rem;flex:none}
.bg-track button.done i{background:#2E7D5B;color:#fff}
.bg-track button.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.bg-track button.on i{background:var(--accent);color:var(--on-accent)}
.bg-live{background:linear-gradient(180deg,#F6EBD8,#EEDDBF);border-color:#E2CBA4}
.bg-now small{font-weight:700;color:color-mix(in srgb,var(--sc-deep) 60%,#8B4A16);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem}
.bg-now h2{font-family:'Alfa Slab One',var(--font-title);font-weight:400;font-size:1.7rem;margin:.15em 0 0;color:color-mix(in srgb,var(--sc-deep) 85%,#2E1C08);line-height:1.1}
.bg-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0 4px}
.bg-step{border:1px solid #D9BE92;background:rgba(255,255,255,.6);border-radius:12px;padding:10px 6px;font-weight:700;cursor:pointer;color:color-mix(in srgb,var(--sc-deep) 70%,#5A3A16);font-size:.88rem}
.bg-step.on{background:color-mix(in srgb,var(--sc-deep) 85%,#2E1C08);color:#FFE7B0;border-color:color-mix(in srgb,var(--sc-deep) 85%,#2E1C08)}
.bg-live .gj-clock{text-align:center}
.bg-res{display:grid;gap:6px}
.bg-res label{display:grid;grid-template-columns:1fr 96px 74px;gap:8px;align-items:center;background:rgba(255,255,255,.7);border-radius:12px;padding:6px 8px 6px 12px;border-left:6px solid var(--c)}
.bg-res span{font-weight:700}
.bg-res input{font-weight:700;text-align:center;min-width:0}
.bg-res b{font-size:.85rem;color:color-mix(in srgb,var(--sc-deep) 60%,#8B4A16);text-align:right}
.bg-tot{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}
.bg-tot em{font-style:normal;width:26px;height:26px;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-weight:800;font-size:.85rem}
.bg-tot span{font-weight:700}
.bg-teams{display:grid;gap:6px}
.bg-teams div{display:grid;grid-template-columns:44px 1fr auto;gap:6px;align-items:center}
.bg-teams input[type=color]{width:44px;height:40px;padding:2px;border-radius:10px;cursor:pointer}
.bg-ev2{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:8px}
.bg-ev2 select,.bg-ev2 input,.tvbq textarea{min-width:0;width:100%;box-sizing:border-box}

/* ===== Gros jeux façon Big Games : écran ===== */
.bgs-head{grid-template-columns:auto 1fr;justify-items:start}
.bgs-head h1{grid-column:1}
.bgs-trail{display:flex;align-items:center;justify-self:end;gap:0}
.bgs-trail i{font-style:normal;width:5vh;height:5vh;border-radius:50%;display:grid;place-items:center;font-family:'Alfa Slab One',var(--font-title);font-size:2.2vh;background:rgba(255,244,220,.55);color:color-mix(in srgb,var(--sc-deep) 70%,#6E3F12);border:.4vh solid color-mix(in srgb,var(--sc-deep) 70%,#6E3F12)}
.bgs-trail i.done{background:color-mix(in srgb,var(--sc-deep) 70%,#6E3F12);color:#FFE7B0}
.bgs-trail i.cur{background:var(--sc-hi);color:#fff;border-color:var(--sc-hi);transform:scale(1.25);box-shadow:0 0 0 .6vh color-mix(in srgb,var(--sc-hi) 25%,transparent)}
.bgs-trail b{width:2.4vw;height:.5vh;background:color-mix(in srgb,var(--sc-deep) 70%,#6E3F12);opacity:.5}
.bgs-sub{font-family:'Alfa Slab One',var(--font-title);font-weight:400;font-size:clamp(1.4rem,5.6vh,3.4rem);margin:0;color:color-mix(in srgb,var(--sc-deep) 85%,#2E1C08)}
.bgs-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:1.6vh 1.4vw;width:min(1200px,92vw)}
.bgs-teams .sign{grid-template-columns:auto 1fr;font-size:clamp(1.2rem,4.4vh,2.6rem);font-weight:800;padding-left:2.6vw}
.bgs-dot{width:4vh;height:4vh;border-radius:50%;background:var(--c);box-shadow:0 0 0 .5vh rgba(255,241,210,.8)}
.bgs-next{font-size:clamp(1rem,3.4vh,2rem);font-weight:700;margin:0;color:color-mix(in srgb,var(--sc-deep) 85%,#2E1C08)}
.bgs-ev{flex:1;display:grid;grid-template-columns:auto 1fr;gap:4vw;align-items:center;width:min(1400px,92vw)}
.bgs-medal{width:34vh;height:34vh;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#FFE7B0;
 background:repeating-radial-gradient(circle at 50% 50%,rgba(0,0,0,.07) 0 .6vh,transparent .6vh 1.6vh),radial-gradient(circle,color-mix(in srgb,var(--sc-mid) 70%,#A86A35),color-mix(in srgb,var(--sc-deep) 70%,#6E3F12));
 box-shadow:inset 0 0 0 1.4vh color-mix(in srgb,var(--sc-deep) 70%,#5A3510),inset 0 0 0 1.8vh var(--sc-hi2),0 3vh 5vh -2vh rgba(60,30,0,.55)}
.bgs-ev.anim .bgs-medal{animation:bgspin .9s cubic-bezier(.3,1.4,.5,1)}
@keyframes bgspin{from{transform:rotate(-120deg) scale(.4);opacity:0}}
.bgs-medal small{font-weight:800;letter-spacing:.2em;text-transform:uppercase;font-size:2.2vh;opacity:.85}
.bgs-medal b{font-family:'Alfa Slab One',var(--font-title);font-weight:400;font-size:17vh;line-height:.95}
.bgs-ev.play .bgs-medal{width:24vh;height:24vh}.bgs-ev.play .bgs-medal b{font-size:11vh}
.bgs-name{font-family:'Alfa Slab One',var(--font-title);font-weight:400;font-size:clamp(2rem,9vh,5.6rem);margin:0;line-height:1;color:color-mix(in srgb,var(--sc-deep) 85%,#2E1C08);text-wrap:balance}
.bgs-rule{font-size:clamp(1rem,3.6vh,2.1rem);font-weight:600;line-height:1.35;margin:2.4vh 0 0;max-width:34ch;background:rgba(255,244,220,.65);border-radius:1.6vh;padding:1.8vh 2vw;border-left:1vh solid var(--sc-hi)}
.bgs-win{margin-top:2.4vh;font-weight:800;font-size:clamp(.9rem,2.8vh,1.6rem);text-transform:uppercase;letter-spacing:.06em;color:color-mix(in srgb,var(--sc-deep) 70%,#6E3F12)}
.bgs-clock{margin-top:2vh;font-family:'Alfa Slab One',var(--font-title);font-size:clamp(4rem,22vh,14rem);line-height:1;color:#FFF4DC;text-shadow:0 1vh 0 color-mix(in srgb,var(--sc-deep) 70%,#6E3F12),0 2vh 4vh rgba(60,30,0,.4)}
.bgs-ev .gro-change{margin-top:3vh;display:inline-block}
.bgs-chips{display:flex;gap:1vw;flex-wrap:wrap;justify-content:center}
.bgs-chips span{background:var(--c);color:#fff;font-weight:800;border-radius:999px;padding:.8vh 1.6vw;font-size:clamp(.8rem,2.4vh,1.4rem);box-shadow:0 .6vh 0 rgba(0,0,0,.2)}
.bgs-res{flex:1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:3vw;width:min(1400px,94vw);align-items:start}
.bgs-kick{font-weight:800;letter-spacing:.18em;text-transform:uppercase;font-size:clamp(.7rem,2vh,1.1rem);color:color-mix(in srgb,var(--sc-deep) 60%,#8B4A16);margin-bottom:1vh}
.bgs-rk{display:grid;gap:1.2vh;margin-top:2.4vh}
.bgs-rk .sign{grid-template-columns:auto 1fr auto;font-size:clamp(1rem,3.8vh,2.3rem);border-left:1.2vh solid var(--c)}
.bgs-res.anim .bgs-rk .sign{animation:bgin .6s cubic-bezier(.3,1.3,.5,1) both;animation-delay:var(--d)}
@keyframes bgin{from{transform:translateX(-30vw);opacity:0}}
.bgs-rk em{font-style:normal;font-family:'Alfa Slab One',var(--font-title);width:1.7em;height:1.7em;display:grid;place-items:center;border-radius:50%;background:#FFE7B0;color:color-mix(in srgb,var(--sc-deep) 70%,#5A3510);margin-left:.6vw}
.bgs-rk span{font-weight:800}
.bgs-rk b{font-family:'Alfa Slab One',var(--font-title);font-weight:400;color:#FFE7B0;margin-right:1vw}
.bgs-gen{background:rgba(255,244,220,.7);border-radius:2vh;padding:2.4vh 2vw;box-shadow:0 1.6vh 3vh -2vh rgba(60,30,0,.45)}
.bgs-gen div{display:grid;grid-template-columns:auto 1fr auto;gap:1vw;align-items:center;padding:1vh 0;border-bottom:1px dashed color-mix(in srgb,var(--sc-deep) 30%,transparent);font-size:clamp(.9rem,3vh,1.7rem)}
.bgs-gen em{font-style:normal;width:4.4vh;height:4.4vh;border-radius:50%;background:var(--c);color:#fff;display:grid;place-items:center;font-weight:900;font-size:.8em}
.bgs-gen span{font-weight:800}
.bgs-gen b{font-family:'Alfa Slab One',var(--font-title);font-weight:400}
@media (max-width:900px){.bgs-ev,.bgs-res{grid-template-columns:1fr}.bgs-medal{width:22vh;height:22vh}.bgs-medal b{font-size:10vh}}

/* ===== Jeux télé : aide, jeux à venir, quiz ===== */
.tvhelp{background:var(--soft);border-radius:18px;padding:14px 18px;margin-bottom:18px}
.tvhelp-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.tvhelp ol{margin:8px 0 0;padding-left:1.3em;display:grid;gap:4px}
.tvhelp-show{border:0;background:none;color:var(--accent-ink,var(--accent));font-weight:700;cursor:pointer;margin:0 0 14px;padding:0}
.tvsoon{margin-top:24px}
.tvsoon h3{margin:0 0 10px}
.tvsoon>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.tvsoon>div>div{border:1.5px dashed var(--line);border-radius:16px;padding:14px 16px;display:flex;flex-direction:column;gap:4px;position:relative;color:var(--muted)}
.tvsoon b{color:var(--ink);font-family:var(--font-title);font-size:1.1rem}
.tvsoon em{position:absolute;top:12px;right:12px;font-style:normal;font-size:.72rem;font-weight:700;background:var(--bg);border-radius:999px;padding:2px 8px}
.qz-ans{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.qz-ans button{display:flex;align-items:center;gap:10px;text-align:left;border:1px solid var(--line);background:var(--bg);border-radius:12px;padding:12px 14px;cursor:pointer;font:inherit;color:var(--ink)}
.qz-ans button:disabled{cursor:default}
.qz-ans i{font-style:normal;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:var(--on-primary);font-weight:800;font-size:.8rem;flex:none}
.qz-ans span{font-weight:600}
.qz-ans .pick{background:#FFE2C2;border-color:#F0A35E}
.qz-ans .ok{background:#DFF3E4;border-color:#7cc492}
.qz-ans .ko{background:#FDE2E0;border-color:#e59a94}
.qz-ans .cut{opacity:.35;text-decoration:line-through}
.qz-jok{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.qz-jok .gj-dur{margin-left:auto}
.qz-edit{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;margin-bottom:6px}
.qz-edit label{display:flex;align-items:center;gap:4px;cursor:pointer}
.qz-edit input[type=radio]{width:auto}
.qz-edit input[type=text]{min-width:0}
/* écran du quiz */
.qzs{flex:1;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3vw;width:100%;max-width:100%;min-width:0;box-sizing:border-box;align-items:center}
.qzs-main{display:flex;flex-direction:column;align-items:center;gap:3vh}
.qzs-q{width:min(1100px,82vw);text-align:center;font-family:var(--font-title);font-weight:700;font-size:clamp(1.3rem,4.6vh,2.8rem);line-height:1.2;padding:3vh 5vw;color:#fff;
 background:linear-gradient(180deg,var(--sc-mid),var(--sc-deep));clip-path:polygon(4% 0,96% 0,100% 50%,96% 100%,4% 100%,0 50%);position:relative;text-wrap:balance}
.qzs-q::before{content:'';position:absolute;inset:0;clip-path:inherit;box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--sc-mid) 45%,#fff);pointer-events:none}
.qzs-q.in{animation:tvxin .5s cubic-bezier(.3,1.4,.5,1)}
.qzs-pub{font-family:'Bungee',var(--font-title);font-size:clamp(1rem,3.4vh,2rem);color:var(--sc-hi2);animation:tvpulse 1s infinite}
.qzs-ans{display:grid;grid-template-columns:1fr 1fr;gap:2vh 2vw;width:min(1100px,82vw)}
.qzs-a{display:flex;align-items:center;gap:1.4vw;padding:2.2vh 3vw;font-weight:700;font-size:clamp(1rem,3.6vh,2.2rem);color:#fff;
 background:linear-gradient(180deg,var(--sc-mid),var(--sc-deep));clip-path:polygon(5% 0,95% 0,100% 50%,95% 100%,5% 100%,0 50%);transition:background .3s;animation:tvxin .45s cubic-bezier(.3,1.4,.5,1) both;animation-delay:var(--d)}
.qzs-a i{font-style:normal;font-family:'Bungee',var(--font-title);color:var(--sc-hi)}
.qzs-a.hide{visibility:hidden;animation:none}
.qzs-a.cut{opacity:.25}
.qzs-a.pick{background:linear-gradient(180deg,var(--sc-hi),color-mix(in srgb,var(--sc-hi) 70%,#000))}.qzs-a.pick i{color:#fff}
.qzs-a.ok{background:linear-gradient(180deg,#36C46A,#18803E);animation:qzok .5s 3}.qzs-a.ok i{color:#fff}
.qzs-a.ko{background:linear-gradient(180deg,#E8483B,#97190F)}.qzs-a.ko i{color:#fff}
@keyframes qzok{50%{filter:brightness(1.5)}}
.qzs-lad{list-style:none;margin:0;padding:1.4vh 1vw;display:flex;flex-direction:column-reverse;gap:.6vh;background:rgba(0,0,0,.35);border-radius:1.6vh;align-self:center}
.qzs-lad li{min-width:20vh;white-space:nowrap;height:4.6vh;border-radius:.8vh;display:flex;align-items:center;justify-content:space-between;gap:2vh;padding:0 1.6vh;font-family:'Bungee',var(--font-title);font-size:2.2vh;color:rgba(255,255,255,.5)}
.qzs-lad li b{font-weight:400}.qzs-lad li.pal{color:#fff}.qzs-lad li.pal b{color:var(--sc-hi2)}
.qzs-lad li.done{color:var(--sc-hi2)}
.qzs-lad li.cur{background:var(--sc-hi);color:#1a1a1a}
@media (max-width:900px){.qzs{grid-template-columns:1fr}.qzs-lad{display:none}.qzs-ans{grid-template-columns:1fr}}

.imp-tabs{display:flex;gap:8px;flex-wrap:wrap}
.ocr-bar{position:relative;margin-top:12px;background:var(--bg);border-radius:12px;overflow:hidden;padding:10px 14px;font-weight:600;font-size:.9rem}
.ocr-bar span{position:relative;z-index:1}
.ocr-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--soft);transition:width .3s}
.imp-prev{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px;max-height:260px;overflow:auto;padding:10px;background:var(--bg);border-radius:14px}
.imp-prev div{display:flex;flex-direction:column;gap:4px}
.imp-prev b{font-family:var(--font-title)}
.imp-prev span{font-size:.85rem;border-left:3px solid var(--c);padding-left:6px}
.imp-prev small{color:var(--muted)}
.llhead{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.llbar{flex:0 0 200px;height:8px;border-radius:8px;background:var(--line);overflow:hidden}.llbar i{display:block;height:100%;background:var(--accent)}
.llgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.llcard{display:flex;flex-direction:column;gap:10px}
.llcard.cur{border:2px solid var(--accent)}
.llcard header{display:flex;align-items:center;gap:10px}.llcard header h3{margin:0;flex:1}
.lllot{display:grid;grid-template-columns:1fr;gap:6px;color:var(--ink);border-radius:14px;padding:8px 8px 8px 12px;background:var(--bg);border-left:4px solid var(--line)}
.lllot.has{border-left-color:var(--accent)}
.lllot.won{border-left-color:#2E7D5B;background:#EAF5EE}
.llstage{display:flex;align-items:baseline;gap:8px;line-height:1.15}.llstage small{color:var(--muted);font-size:.78rem}
.lllot input{min-width:0;width:100%;box-sizing:border-box;font-weight:600;background:var(--surface)}
.llwin{grid-column:1/-1;font-size:.82rem;font-weight:700;color:#1d6b35}
.llcopy{align-self:flex-start}
.lladd{border:2px dashed var(--line);background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--muted);font-weight:700;cursor:pointer;min-height:200px}
.lladd span{font-size:2rem;line-height:1}
/* ===== Motus et Mot de passe ===== */
.mo-grid{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:4px;max-width:calc(var(--n) * 46px)}
.mo-grid i{aspect-ratio:1;display:grid;place-items:center;font-style:normal;font-weight:800;background:var(--sc-mid);color:#fff;font-family:var(--font-title)}
.mo-grid i.r{background:#D7262B}
.mo-grid i.y{background:var(--sc-mid);background-image:radial-gradient(circle,#F2C230 0 58%,transparent 60%);color:#1a1a1a}
.mo-grid i.next{background:color-mix(in srgb,var(--sc-mid) 80%,#fff);color:rgba(255,255,255,.55)}.mo-grid i.next.k{color:#fff}
.mo-grid i.e{background:color-mix(in srgb,var(--sc-mid) 70%,#000)}
.mo-sol{display:flex;gap:4px;margin-top:8px}.mo-sol i{flex:1;aspect-ratio:1;display:grid;place-items:center;font-style:normal;font-weight:800;background:#D7262B;color:#fff;max-width:46px}
.mo-list{display:grid;gap:6px}.mo-list div{display:grid;grid-template-columns:1fr auto auto;gap:6px}.mo-list div.cur input{border-color:var(--accent)}.mo-list input{min-width:0}
.mp-clues{display:flex;gap:6px;flex-wrap:wrap;min-height:30px;margin:12px 0 0}.mp-clues span:not(.muted){background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:5px 12px;font-weight:600}
.mo-t{margin-bottom:1vh}
.mo-grid.big{gap:.6vh;width:min(calc(var(--n) * 9.4vh),88vw);max-width:none;margin:0 auto;border:1vh solid var(--sc-deep);background:var(--sc-deep);border-radius:1vh;box-shadow:0 2vh 5vh -2vh #000}
.mo-grid.big i{font-family:'Bungee',var(--font-title);font-weight:400;font-size:5vh}
.mo-grid.big i.flip{animation:moflip .5s both;animation-delay:var(--d)}
@keyframes moflip{0%{transform:rotateX(90deg)}100%{transform:none}}
.mo-grid.shake{animation:moshake .4s}
@keyframes moshake{25%{transform:translateX(-1.6vw)}75%{transform:translateX(1.6vw)}}
.mo-grid.big .mo-sol{grid-column:1/-1}
.ecr-tv .mo-sol{gap:.6vh;margin-top:.6vh}.ecr-tv .mo-sol i{max-width:none;font-family:'Bungee',var(--font-title);font-weight:400;font-size:5vh}
.mp-word{font-family:'Bungee',var(--font-title);font-size:clamp(2.6rem,14vh,9rem);line-height:1;color:var(--sc-hi2);text-shadow:0 8px 0 color-mix(in srgb,var(--sc-deep) 60%,#000);margin-top:4vh;text-align:center}
.mp-word.found{color:#5CFF9D}.mp-word.pass{color:#FF5C7A}
.mp-pts{display:flex;align-items:baseline;gap:1vw;font-weight:700;font-size:clamp(1rem,3vh,1.8rem);text-transform:uppercase;letter-spacing:.1em}
.mp-pts b{font-family:'Bungee',var(--font-title);font-weight:400;font-size:clamp(2rem,9vh,5.4rem);letter-spacing:0;background:rgba(0,0,0,.35);border:3px solid var(--sc-hi2);border-radius:2vh;padding:0 .4em;color:var(--sc-hi2)}
.mp-pts.bump b{animation:casbump .45s}
.mp-cl{display:flex;gap:1vw;flex-wrap:wrap;justify-content:center;max-width:80vw}
.mp-cl span{font-weight:800;font-size:clamp(1rem,3.4vh,2rem);background:var(--sc-mid);border:2px solid color-mix(in srgb,var(--sc-mid) 55%,#fff);border-radius:999px;padding:.6vh 1.6vw;animation:tvxin .4s both}

.faq{display:grid;gap:8px;max-width:820px;margin-top:16px}
.faq-i{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px 20px}
.faq-i summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq-i summary::-webkit-details-marker{display:none}
.faq-i summary::after{content:'+';color:var(--accent-ink,var(--accent));font-weight:800;font-size:1.2rem;line-height:1}
.faq-i[open] summary::after{content:'−'}
.faq-i p{margin:10px 0 0;color:var(--muted)}
.lscr-steps{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:-6px}
.lscr-steps span{border-radius:999px;padding:5px 14px;font-weight:700;font-size:clamp(.75rem,1.3vw,1rem);background:color-mix(in srgb,var(--on-primary) 9%,transparent);opacity:.75}
.lscr-steps span small{font-weight:500;opacity:.8}
.lscr-steps span.cur{background:var(--accent);color:var(--on-accent);opacity:1}
.lscr-steps span.done{text-decoration:line-through;opacity:.45}
.lscr-steps i{width:14px;height:2px;background:currentColor;opacity:.3}
.lscr-next{font-size:clamp(1rem,2vw,1.6rem)!important;margin-top:2vh;opacity:.85}
.lllot select{width:auto;padding:4px 8px;font-weight:700;border-radius:10px}
.llstage{flex-wrap:wrap}
.llmv{margin-left:auto;display:flex;gap:4px}.llmv .btn{padding:3px 9px}
.lllot.now{box-shadow:0 0 0 2px var(--accent)}
.lladdstep{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:.85rem}
.lladd{cursor:default}
.lladd b{color:var(--ink)}
.lladd-m{display:grid;gap:6px;width:100%;margin-top:6px}
.lladd-m .btn{flex-direction:column;align-items:flex-start;gap:0;border-radius:14px;text-align:left}
.lladd-m small{font-weight:500;color:var(--muted);font-size:.75rem}
/* ===== Site : mouvement ===== */
.hero-img img{animation:herofloat 7s ease-in-out infinite}
@keyframes herofloat{50%{transform:translateY(-10px) rotate(-.4deg)}}
.site-hero>div:first-child>*{animation:heroin .8s cubic-bezier(.2,.9,.3,1) both}
.site-hero>div:first-child>*:nth-child(2){animation-delay:.08s}.site-hero>div:first-child>*:nth-child(3){animation-delay:.16s}.site-hero>div:first-child>*:nth-child(4){animation-delay:.24s}.site-hero>div:first-child>*:nth-child(5){animation-delay:.32s}
.hero-img{animation:heroin 1s .2s cubic-bezier(.2,.9,.3,1) both}
@keyframes heroin{from{opacity:0;transform:translateY(18px)}}
.rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.9,.3,1) var(--rd,0ms),transform .7s cubic-bezier(.2,.9,.3,1) var(--rd,0ms)}
.rv.in{opacity:1;transform:none}
.blk img{transition:transform .5s cubic-bezier(.2,.9,.3,1)}
.blk:hover img{transform:scale(1.03) rotate(-.6deg)}
.ticker{overflow:hidden;background:var(--primary);color:var(--on-primary);margin:18px calc(50% - 50vw - 40px) 0;padding:14px 0;transform:rotate(-1.2deg)}
.ticker-in a{color:inherit;text-decoration:none}.ticker-in a:hover{color:var(--accent)}.ticker:hover .ticker-in{animation-play-state:paused}
@media (max-width:640px){.ticker-in{animation-duration:34s;font-size:1rem;gap:20px}}
@media (prefers-reduced-motion:reduce){.ticker{overflow-x:auto;scrollbar-width:none;transform:none}.ticker-in{padding:0 20px}}
.ticker-in{display:inline-flex;gap:26px;white-space:nowrap;animation:tick 48s linear infinite;font-family:var(--font-title);font-weight:800;font-size:1.15rem}
.ticker-in b{color:var(--accent);font-size:.9rem;align-self:center}
@keyframes tick{to{transform:translateX(-50%)}}
.showcase{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:40px;align-items:center}
.show-txt h2{margin:.3em 0 .3em;font-size:clamp(1.9rem,4vw,2.6rem)}
html,body{overflow-x:clip}
.show-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-top:16px}
.show-tabs button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:7px 14px;font-weight:600;cursor:pointer}
.show-tabs button.on{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}
.tv{position:relative}
.tv-screen{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#0b0f19;border:12px solid #15171d;box-shadow:0 30px 60px -25px rgba(10,35,66,.6),inset 0 0 0 1px rgba(255,255,255,.06)}
.tv-screen iframe{position:absolute;left:0;top:0;width:1280px;height:720px;border:0;transform-origin:0 0;pointer-events:none}
.tv-glare{position:absolute;inset:0;background:linear-gradient(115deg,rgba(255,255,255,.10),transparent 35%);pointer-events:none}
.tv-foot{width:28%;height:14px;margin:0 auto;background:#15171d;border-radius:0 0 10px 10px}
.show-bar{height:3px;background:var(--line);border-radius:3px;overflow:hidden;width:40%;margin:14px auto 0}
.show-bar i{display:block;height:100%;background:var(--accent);animation:showbar 7s linear both}
@keyframes showbar{from{width:0}to{width:100%}}
@media (max-width:860px){.showcase{grid-template-columns:1fr}.tv-screen{border-width:7px}}
@media (prefers-reduced-motion: reduce){.hero-img img,.ticker-in,.site-hero>div:first-child>*,.hero-img{animation:none}.rv{opacity:1;transform:none}}

/* ===== Buzzers, Speed quiz, Blind test ===== */
.bz-panel{background:var(--bg);border-radius:16px;padding:12px;display:grid;gap:10px}
.bz-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}
.bz-t{border:0;border-radius:14px;padding:12px 10px;background:color-mix(in srgb,var(--c) 14%,var(--surface));border-bottom:4px solid var(--c);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--ink);font:inherit;transition:transform .1s}
.bz-t:active{transform:translateY(2px)}
.bz-t small{color:var(--muted);font-size:.75rem}
.bz-t kbd{font:inherit;font-weight:700;border:1px solid var(--line);border-radius:5px;padding:0 5px;background:var(--surface)}
.bz-t.first{background:var(--c);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 30%,transparent)}.bz-t.first small{color:#fff}
.bz-t.out{opacity:.35;text-decoration:line-through}
.bz-state{text-align:center;font-weight:700;padding:8px;border-radius:10px;background:var(--surface);color:var(--muted)}
.bz-state.armed{background:#DFF3E4;color:#1d6b35;animation:tvpulse 1.2s infinite}
.bz-state.hit{background:var(--soft);color:var(--ink)}
.bz-keys summary{cursor:pointer;font-weight:600;font-size:.88rem;color:var(--muted)}
.bz-keys p{font-size:.85rem;margin:6px 0}
.bz-keyrow{display:flex;gap:6px;flex-wrap:wrap}
.sq-list,.bt-list{display:grid;gap:6px;max-height:520px;overflow:auto}
.sq-list div,.bt-list div{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;gap:6px;padding:3px;border-radius:12px}
.sq-list div.cur,.bt-list div.cur{background:var(--soft)}
.sq-list input,.bt-list input{min-width:0}
.bt-list div{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto}
.bt-empty{text-align:center;padding:20px 10px}
.bt-ctrl{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.bt-ctrl .gj-dur{margin-left:auto}
.sqs-q{width:min(1100px,86vw);text-align:center;font-family:var(--font-title);font-weight:800;font-size:clamp(1.6rem,7vh,4.2rem);line-height:1.1;margin:auto 0 1vh;text-wrap:balance}
.sqs-q.wait{opacity:.5;font-family:'Bungee',var(--font-title);font-weight:400}
.sqs-a{font-family:'Bungee',var(--font-title);font-size:clamp(1.6rem,8vh,4.6rem);color:#5CFF9D;text-shadow:0 6px 0 #0d5a2c;animation:tvxin .5s}
.sqs-go{font-family:'Bungee',var(--font-title);font-size:clamp(1.4rem,6vh,3.4rem);color:var(--sc-hi2);animation:tvpulse .8s infinite}
.bzs-teams{display:flex;gap:1.6vw;margin-top:auto;justify-content:center;flex-wrap:wrap}
.bzs-t{min-width:min(220px,40vw);text-align:center;background:color-mix(in srgb,var(--c) 22%,rgba(0,0,0,.3));border:3px solid var(--c);border-radius:2vh;padding:1vh 1.6vw}
.bzs-t span{display:block;font-weight:800;font-size:clamp(.9rem,2.6vh,1.5rem)}
.bzs-t b{font-family:'Bungee',var(--font-title);font-weight:400;font-size:clamp(1.6rem,5.4vh,3.2rem);line-height:1.1}
.bzs-t.first{background:var(--c);box-shadow:0 0 60px var(--c);transform:scale(1.08)}
.bzs-t.out{opacity:.3}
.bzs-flash{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;background:radial-gradient(circle,color-mix(in srgb,var(--c) 55%,transparent),transparent 70%)}
.bzs-flash span{font-family:'Bungee',var(--font-title);font-size:clamp(2.4rem,14vh,9rem);color:#fff;background:var(--c);padding:.1em .6em;border-radius:3vh;box-shadow:0 2vh 0 rgba(0,0,0,.35);transform:rotate(-3deg)}
.bzs-flash.go span{animation:tvxin .45s cubic-bezier(.3,1.6,.5,1)}
.bts-disc{width:30vh;height:30vh;border-radius:50%;margin-top:2vh;background:repeating-radial-gradient(circle,#111 0 .5vh,#1d1d1d .5vh 1vh);box-shadow:0 0 0 1vh #000,0 2vh 5vh -1vh #000;display:grid;place-items:center}
.bts-disc i{width:10vh;height:10vh;border-radius:50%;background:radial-gradient(circle,#0b0b0b 0 12%,var(--sc-hi) 13% 100%)}
.bts-disc.spin{animation:btspin 1.8s linear infinite}
@keyframes btspin{to{transform:rotate(360deg)}}
.bts-ask{font-size:clamp(1rem,3.2vh,1.8rem);font-weight:700;text-transform:uppercase;letter-spacing:.1em;opacity:.85}
.bts-ask b{color:var(--sc-hi2)}
.bts-eq{display:flex;gap:.6vw;align-items:flex-end;height:8vh}
.bts-eq i{width:1.2vw;height:20%;background:var(--sc-hi);border-radius:4px}
.bts-eq.on i{animation:btseq .7s ease-in-out infinite alternate;animation-delay:var(--d)}
@keyframes btseq{to{height:100%}}
.bts-rev{display:flex;flex-direction:column;align-items:center;animation:tvxin .5s}
.bts-rev b{font-family:'Bungee',var(--font-title);font-weight:400;font-size:clamp(1.6rem,8vh,4.6rem);color:var(--sc-hi2);text-align:center;line-height:1.05}
.bts-rev span{font-weight:800;font-size:clamp(1rem,4vh,2.4rem)}
.bts-n{opacity:.6;font-weight:700}

/* Offres */
.price{font-family:var(--font-title);font-size:2.6rem;font-weight:800;line-height:1}
.price small{font-size:1rem;font-weight:600;color:var(--muted)}
.offer ul{padding-left:1.1em;margin:.6em 0 1em}
.offer li{margin:.25em 0}
.offer.star{border:2px solid var(--primary);position:relative}
.offer.star .pill{position:absolute;top:-12px;left:20px}

@media (max-width:860px){
 .app{grid-template-columns:1fr}
 .side{display:none}
 .mobnav{display:flex;position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);z-index:40;padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));overflow-x:auto;gap:2px}
 .mobnav a{flex:1 0 64px;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;text-decoration:none;color:var(--muted);padding:4px;border-radius:var(--radius-sm);font-weight:600}
 .mobnav a.on{color:var(--primary);background:var(--soft)}
 .mobnav a .ic{font-size:1.25rem}
 .hero{grid-template-columns:1fr}
 .loto{grid-template-columns:1fr}
 .lscreen{grid-template-columns:1fr}
 .week{grid-template-columns:1fr}
 .day{min-height:0}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media print{.bar,.foot,.side,.mobnav,.topbar,.tabs,.noprint{display:none!important}.app{display:block}.card{border:0}}
@media screen{#printSheet{display:none}}
#mskins .grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))!important;gap:10px}#mskins .skinprev .top{min-height:0;height:64px;font-size:1rem;padding:10px 12px}#mskins .skinprev .bot{padding:6px 12px;font-size:.85rem}
.offer-cta{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:10px}.offer.picked{box-shadow:0 0 0 2.5px var(--accent)}.cart-b.on{background:var(--soft);color:var(--ink)}
.cartbar{position:sticky;bottom:12px;z-index:20;margin-top:16px;display:none;align-items:center;justify-content:space-between;gap:14px;background:var(--primary);color:var(--on-primary);border-radius:calc(var(--radius) + 4px);padding:14px 14px 14px 20px;box-shadow:0 12px 30px rgba(10,20,40,.25)}
.cartbar.show{display:flex;animation:cartin .35s ease}.cartbar div{display:flex;flex-direction:column;gap:2px;min-width:0}.cartbar span{font-size:.9rem;opacity:.85}
.cart-up{align-self:flex-start;margin-top:4px;background:none;border:0;padding:0;color:var(--accent);font:inherit;font-weight:700;font-size:.88rem;text-decoration:underline;cursor:pointer}
@keyframes cartin{from{transform:translateY(20px);opacity:0}}
.rsv-sum{background:var(--bg);border-radius:12px;padding:12px 16px;margin:0 0 16px}.rsv-sum p{display:flex;justify-content:space-between;gap:10px;margin:4px 0;font-size:.95rem}.rsv-sum .rsv-t{border-top:1px solid var(--line);padding-top:8px;margin-top:8px;font-size:1.05rem}.rsv-sum .rsv-n{color:var(--muted)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
@media (max-width:640px){.cartbar{flex-wrap:wrap;gap:8px 12px;bottom:8px;padding:12px 12px 12px 16px}.cartbar div{flex:1}.cartbar b{font-size:.92rem;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.cartbar span{font-size:.8rem}.cartbar .btn{padding:12px 18px}}
@media print{body.printing>*:not(#printSheet){display:none!important}body.printing{background:#fff!important}#printSheet{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
@page{margin:10mm}
.sp{font-family:var(--font-body);color:#14181F;display:flex;flex-direction:column;gap:5mm;height:186mm}
.sp-h{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:3px solid var(--primary);padding-bottom:3mm}
.sp-h small{font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--primary);font-size:10pt}
.sp-h h1{font-family:var(--font-title);font-size:30pt;margin:1mm 0 0;line-height:1;color:var(--primary)}
.sp-h p{margin:2mm 0 0;font-size:11pt;color:#4A5568}.sp-h img{height:20mm;width:auto}
.sp-w{display:grid;grid-template-columns:repeat(7,1fr);gap:2.5mm;flex:1;min-height:0}
.sp-w section{border:1px solid #DDD5C8;border-radius:3mm;padding:3mm 2.5mm;display:flex;flex-direction:column;gap:3.5mm;overflow:hidden}
.sp-w h2{font-family:var(--font-title);font-size:14pt;margin:0 0 1mm;padding-bottom:1.5mm;border-bottom:1px solid #DDD5C8;color:var(--primary)}
.sp-w p{margin:0;border-left:1.4mm solid var(--c);padding:1mm 0 1mm 2.5mm;font-size:12pt;font-weight:600;line-height:1.2;break-inside:avoid}
.sp-w p b{display:block;font-size:11pt;font-weight:800}.sp-w p small{display:block;color:#5A6479;font-size:9pt;font-weight:500}
.sp-w .sp-0{border:0;color:#9AA1AE;font-style:italic;padding:0}
.sp-f{display:flex;justify-content:space-between;align-items:center;gap:6mm}
.sp-l{display:flex;gap:5mm;font-size:10pt;font-weight:600}.sp-l span{display:flex;align-items:center;gap:1.5mm}.sp-l i{width:3.5mm;height:3.5mm;border-radius:50%;display:block}
.sp-q{display:flex;align-items:center;gap:3mm;font-size:9pt}.sp-q>div{width:22mm;height:22mm}.sp-q svg{width:100%;height:100%}.sp-q b{display:block;font-size:10.5pt}
#printSheet.land{page:paysage}@page paysage{size:A4 landscape;margin:10mm}
#printSheet:not(.land){page:portrait}@page portrait{size:A4 portrait;margin:10mm}

/* ===== Site vitrine : affiche de fête foraine ===== */
body{--fz-jaune:#FFD23F;--fz-rouge:#F0732F;--fz-nuit:#0A2342;--fz-papier:#FFFFFF;--fz-orange:#F0732F;--fz-encre:#0A2342;--fz-cond:"Figtree",system-ui,sans-serif}
body[data-mode=site]{
 --font-title:"Fredoka","Figtree",system-ui,sans-serif;--fz-cond:"Figtree",system-ui,sans-serif;--font-body:"Figtree",system-ui,sans-serif;background:var(--fz-papier);color:var(--fz-encre);font-family:var(--font-body)}
body[data-mode=site] .main{max-width:none;padding:0}
body[data-mode=site] .bar{background:var(--fz-papier);border-bottom:3px solid var(--fz-encre);backdrop-filter:none}
body[data-mode=site] .brand b{font-family:var(--lp-h);font-weight:600;font-size:1.1rem;letter-spacing:.01em}
body[data-mode=site] .brand small{font-family:var(--fz-cond);font-size:.95rem;font-weight:600;color:var(--fz-encre)}
body[data-mode=site] .sitenav button{font-family:var(--fz-cond);font-size:1.15rem;font-weight:600;color:var(--fz-encre)}
body[data-mode=site] .sitenav button:hover{background:var(--fz-jaune)}
body[data-mode=site] .sitenav .btn{background:var(--fz-rouge);color:#fff;font-family:var(--fz-cond);font-size:1.1rem;font-weight:700;border-radius:4px;padding:8px 16px}
body[data-mode=site] h1,body[data-mode=site] h2,body[data-mode=site] h3{font-family:var(--lp-h);font-weight:600;letter-spacing:0}
.fz-in{max-width:1180px;margin:0 auto;padding:0 clamp(16px,4vw,40px)}
.fz-band,.fz-papier,.fz-jaune,.fz-rouge,.fz-nuit{padding:clamp(48px,7vw,88px) 0}
.fz-papier{background:var(--fz-papier);color:var(--fz-encre)}
.fz-jaune{background:var(--fz-jaune);color:var(--fz-encre)}
.fz-rouge{background:var(--fz-rouge);color:#fff}
.fz-nuit{background:var(--fz-nuit);color:#fff}
body[data-mode=site] section h2{font-size:clamp(2.2rem,5.4vw,3.8rem);line-height:1.02;margin:0 0 .3em}
.fz-lead{font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.55;max-width:60ch;margin:0 0 1.4em}
.fz-hand{font-family:var(--fz-cond);font-weight:700;font-size:1.3rem;margin:0 0 .3em}
/* enseigne */
.fz-hero{background:var(--fz-jaune);padding:clamp(28px,5vw,64px) 0 clamp(40px,6vw,72px);border-bottom:3px solid var(--fz-encre)}
.fz-hero-g{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,4vw,48px);align-items:center}
.fz-sign{position:relative;background:var(--fz-nuit);color:#fff;text-align:center;border-radius:10px;padding:clamp(40px,5vw,62px) clamp(26px,4vw,52px) clamp(38px,5vw,56px);box-shadow:0 0 0 6px var(--fz-nuit),0 0 0 9px var(--fz-rouge)}
.fz-bulbs{position:absolute;inset:10px;border-radius:6px;padding:9px;pointer-events:none;
 -webkit-mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
 background:radial-gradient(circle,#FFF4C2 0 2.5px,#FFD23F 3.5px,rgba(255,210,63,.35) 5px,transparent 6.5px) 0 0/24px 24px}
.fz-bulbs.b{background-position:12px 12px;opacity:.25}
.fz-bulbs.a{animation:fzblink 1.2s steps(1) infinite}.fz-bulbs.b{animation:fzblink 1.2s steps(1) infinite reverse}
@keyframes fzblink{0%{opacity:1}50%{opacity:.25}}
.fz-pres{font-family:var(--fz-cond);font-size:clamp(1.1rem,1.8vw,1.35rem);font-weight:600;margin:0 0 .5em;color:#FFE9A8}
.fz-sign h1{margin:0;line-height:.95;display:flex;flex-direction:column;align-items:center}
.fz-sign h1 .l1{font-size:clamp(2.2rem,5.6vw,4.4rem);color:var(--fz-jaune)}
.fz-sign h1 .l2{font-family:var(--fz-cond);font-weight:600;font-size:clamp(1.6rem,3.4vw,2.6rem);letter-spacing:.32em;margin:.2em 0 .15em .32em;color:#fff}
.fz-sign h1 .l3{font-size:clamp(2.6rem,6.8vw,5.4rem);color:var(--fz-orange)}
.fz-sub{max-width:44ch;margin:1.2em auto 1.6em;font-size:1.08rem;line-height:1.55;color:#E6EAF2}
.fz-cta{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.fz-ticket{--n:9px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--fz-cond);font-weight:700;font-size:1.25rem;letter-spacing:.02em;text-decoration:none;cursor:pointer;border:0;
 background:var(--fz-rouge);color:#fff;padding:13px 30px;position:relative;
 -webkit-mask:radial-gradient(circle at 0 50%,#0000 var(--n),#000 calc(var(--n) + .5px)) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 var(--n),#000 calc(var(--n) + .5px)) right/51% 100% no-repeat;
 mask:radial-gradient(circle at 0 50%,#0000 var(--n),#000 calc(var(--n) + .5px)) left/51% 100% no-repeat,radial-gradient(circle at 100% 50%,#0000 var(--n),#000 calc(var(--n) + .5px)) right/51% 100% no-repeat}
.fz-ticket::after{content:'';position:absolute;inset:5px 14px;border:1.5px dashed rgba(255,255,255,.55);pointer-events:none}
.fz-ticket.alt{background:var(--fz-jaune);color:var(--fz-encre)}.fz-ticket.alt::after{border-color:rgba(10,35,66,.4)}
.fz-ticket:hover{filter:brightness(1.08)}.fz-ticket:focus-visible{outline:3px solid #fff;outline-offset:3px}
.fz-ticket:disabled{opacity:.6;cursor:wait}
.fz-stamp{position:absolute;right:-18px;top:-26px;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;text-align:center;padding:16px;box-sizing:border-box;
 font-family:var(--fz-cond);font-weight:700;font-size:.98rem;line-height:1.05;color:var(--fz-rouge);background:var(--fz-papier);border:3px solid var(--fz-rouge);box-shadow:inset 0 0 0 4px var(--fz-papier),inset 0 0 0 5.5px var(--fz-rouge);transform:rotate(12deg)}
.fz-print{margin:0;background:var(--fz-papier);border:3px solid var(--fz-encre);padding:10px;box-shadow:8px 8px 0 var(--fz-encre)}
.fz-print img{display:block;width:100%;height:auto}
.fz-hero-img{transform:rotate(2deg)}
/* écran de salle */
.fz-show-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:clamp(24px,4vw,48px);align-items:center}
.fz-show h2{color:var(--fz-jaune)}.fz-show .fz-lead{color:#D6DEEA}
.fz-tabs{display:flex;flex-wrap:wrap;gap:8px}
.fz-tabs button{font-family:var(--fz-cond);font-weight:600;font-size:1.1rem;background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4);border-radius:3px;padding:6px 14px;cursor:pointer}
.fz-tabs button.on{background:var(--fz-jaune);border-color:var(--fz-jaune);color:var(--fz-encre)}
.fz-show .show-bar{background:rgba(255,255,255,.15)}.fz-show .show-bar i{background:var(--fz-jaune)}
/* packs */
.fz-intro{padding-bottom:8px}
.fz-pack{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(28px,5vw,64px);align-items:center}
.fz-pack.rev .fz-print{order:-1}
.fz-pack h3{font-size:clamp(1.9rem,4.2vw,3rem);line-height:1.04;margin:0 0 .35em}
.fz-band .fz-print{transform:rotate(-1.5deg)}.fz-pack.rev .fz-print{transform:rotate(1.5deg)}
.fz-mods{list-style:none;padding:0;margin:0;border-top:2px solid currentColor}
.fz-mods li{border-bottom:2px solid currentColor}
.fz-mods a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 18px;padding:14px 2px;color:inherit;text-decoration:none}
.fz-mods b{font-family:var(--fz-cond);font-size:1.45rem;font-weight:700;line-height:1.1}
.fz-mods span{grid-column:1;font-size:.98rem;opacity:.88}
.fz-mods em{grid-column:2;grid-row:1/3;align-self:center;font-style:normal;font-family:var(--fz-cond);font-weight:700;font-size:1.1rem;padding:6px 14px;border:2px solid currentColor;border-radius:3px}
.fz-rouge .fz-mods a:hover em{background:#fff;color:var(--fz-rouge)}
.fz-nuit .fz-mods a:hover em{background:var(--fz-jaune);color:var(--fz-encre);border-color:var(--fz-jaune)}
.fz-jaune .fz-mods a:hover em,.fz-papier .fz-mods a:hover em{background:var(--fz-encre);color:var(--fz-jaune)}
.fz-papier.fz-band{border-top:3px solid var(--fz-encre);border-bottom:3px solid var(--fz-encre)}
.fz-nuit .fz-hand{color:var(--fz-jaune)}.fz-rouge .fz-hand{color:#FFE9A8}
/* loto offert */
.fz-free{padding-top:clamp(40px,6vw,64px)}
.fz-gratis{display:flex;align-items:center;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;border:3px solid var(--fz-encre);background:var(--fz-jaune);padding:clamp(22px,3vw,34px) clamp(24px,4vw,48px);position:relative}
.fz-gratis::before,.fz-gratis::after{content:'';position:absolute;top:50%;width:30px;height:30px;margin-top:-15px;border-radius:50%;background:var(--fz-papier);border:3px solid var(--fz-encre)}
.fz-gratis::before{left:-17px;clip-path:inset(0 0 0 50%)}.fz-gratis::after{right:-17px;clip-path:inset(0 50% 0 0)}
.fz-gratis h3{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:0 0 .25em}.fz-gratis p:not(.fz-hand){margin:0;max-width:56ch;line-height:1.55}
.fz-gratis .fz-hand{color:var(--fz-rouge)}
/* fanions */
.fz-garland{position:relative;display:flex;flex-wrap:wrap;gap:10px clamp(10px,2vw,22px);padding-top:14px}
.fz-garland::before{content:'';position:absolute;left:-2%;right:-2%;top:10px;height:3px;background:var(--fz-encre);border-radius:3px}
.fz-flag{position:relative;background:none;border:0;padding:0;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font-family:var(--fz-cond);font-weight:700;font-size:1.1rem;color:var(--fz-encre)}
.fz-flag i{display:block;width:clamp(76px,10vw,104px);height:clamp(88px,11vw,118px);clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(90deg,var(--a) 50%,var(--b) 50%);transform-origin:50% 0;transition:transform .25s}
.fz-flag[data-perso] i{background:conic-gradient(from 200deg at 50% 30%,#e33,#fc3,#3c6,#39f,#a4e,#e33)}
.fz-flag:hover i{transform:rotate(-5deg)}
.fz-flag.on span{text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:4px}
.fz-flag.on i{filter:drop-shadow(0 0 0 #000) drop-shadow(3px 3px 0 var(--fz-encre))}
.fz-flag:focus-visible{outline:3px solid var(--fz-encre);outline-offset:4px}
/* tarifs */
.fz-board{border:3px solid var(--fz-encre);background:#fff;padding:clamp(10px,2vw,20px) clamp(16px,3vw,32px);box-shadow:8px 8px 0 var(--fz-rouge)}
.fz-row{display:flex;align-items:center;gap:14px;padding:16px 0;border-bottom:2px dashed rgba(10,35,66,.25)}
.fz-row:last-child{border-bottom:0}
.fz-row-n{display:flex;flex-direction:column;min-width:0}
.fz-row-n b{font-family:var(--fz-cond);font-size:1.6rem;font-weight:700;line-height:1.1}
.fz-row-n small{font-family:var(--font-body);font-size:.92rem;opacity:.8;font-weight:400}
.fz-dots{flex:1;min-width:20px;border-bottom:4px dotted var(--fz-encre);margin-bottom:6px;align-self:flex-end;opacity:.6}
.fz-price{font-family:var(--lp-h);font-weight:600;font-size:clamp(1.6rem,3vw,2.2rem);white-space:nowrap}
.fz-pick{font-family:var(--fz-cond);font-weight:700;font-size:1.1rem;border:2px solid var(--fz-encre);background:#fff;color:var(--fz-encre);border-radius:3px;padding:7px 16px;cursor:pointer;min-width:92px}
.fz-pick:hover{background:var(--fz-jaune)}
.fz-row.on .fz-pick{background:var(--fz-encre);color:#fff}
.fz-pick:disabled{opacity:.45;cursor:default}
.fz-row.big{background:var(--fz-jaune);margin:10px calc(-1 * clamp(16px,3vw,32px)) calc(-1 * clamp(10px,2vw,20px));padding:20px clamp(16px,3vw,32px)}
.fz-row.big b{font-size:2rem}
.fz-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,36px);margin-top:36px}
.fz-notes p{margin:0;line-height:1.55;border-top:3px solid var(--fz-encre);padding-top:12px}
.fz-notes b{display:block;font-family:var(--fz-cond);font-size:1.3rem;margin-bottom:4px}
body[data-mode=site] .cartbar{background:var(--fz-encre);border-radius:6px;box-shadow:6px 6px 0 var(--fz-rouge)}
body[data-mode=site] .cartbar .btn{background:var(--fz-rouge);color:#fff;border-radius:4px;font-family:var(--fz-cond);font-size:1.2rem}
body[data-mode=site] .cart-up{color:var(--fz-jaune)}
/* FAQ */
.fz-faq{border-top:3px solid var(--fz-encre)}
.fz-faq .faq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(20px,4vw,48px);max-width:none;margin-top:10px}
.fz-faq .faq-i{background:none;border:0;border-bottom:2px solid var(--fz-encre);border-radius:0;padding:16px 2px}
.fz-faq .faq-i summary{font-family:var(--fz-cond);font-size:1.35rem;font-weight:700}
.fz-faq .faq-i summary::after{color:var(--fz-rouge)}
.fz-faq .faq-i p{color:var(--fz-encre);opacity:.85;line-height:1.55}
/* contact */
.fz-contact-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.fz-contact h2{color:#fff}.fz-contact .fz-lead{color:#FFE5E2}
.fz-form{background:var(--fz-papier);color:var(--fz-encre);padding:clamp(20px,3vw,32px);display:grid;gap:14px;border:3px solid var(--fz-encre);box-shadow:8px 8px 0 var(--fz-encre)}
.fz-form .f{font-family:var(--fz-cond);font-size:1.15rem;font-weight:600}
.fz-form input{border-radius:3px;border:2px solid var(--fz-encre);background:#fff;font-family:var(--font-body)}
.fz-form .fz-ticket{justify-self:start;background:var(--fz-encre)}
/* pied */
body[data-mode=site] .foot{background:var(--fz-encre);color:#fff;border:0;padding:28px 16px}
.fz-foot{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 22px;font-family:var(--fz-cond);font-size:1.1rem}
.fz-foot b{font-family:var(--lp-h);font-weight:600;color:var(--fz-jaune)}
@media (max-width:900px){
 .fz-hero-g,.fz-show-g,.fz-pack,.fz-contact-g{grid-template-columns:1fr}
 .fz-pack.rev .fz-print{order:0}
 .fz-hero-img{max-width:520px;justify-self:center}
 .fz-band .fz-print{max-width:520px}
 .fz-faq .faq{grid-template-columns:1fr}
 .fz-notes{grid-template-columns:1fr}
 .fz-stamp{width:92px;height:92px;font-size:.8rem;right:-6px;top:-30px;padding:12px}
}
@media (max-width:560px){
 .fz-row{flex-wrap:wrap;gap:6px 12px}.fz-row-n{flex-basis:100%}.fz-dots{margin-bottom:10px}
 .fz-ticket{width:100%}
 .fz-sign h1 .l2{letter-spacing:.2em;margin-left:.2em}
 .fz-mods em{padding:5px 10px;font-size:1rem}
 .fz-garland{gap:8px 6px;justify-content:space-between}.fz-flag i{width:50px;height:60px}.fz-flag{font-size:.92rem}
 .fz-stamp{width:80px;height:80px;font-size:.72rem;top:-22px;right:-4px;padding:10px}
}
@media (prefers-reduced-motion:reduce){.fz-bulbs.a,.fz-bulbs.b{animation:none}.fz-bulbs.b{opacity:1}}
@media (max-width:560px){body[data-mode=site] .barin{flex-wrap:nowrap;padding-top:8px;padding-bottom:8px}body[data-mode=site] .brand small{display:none}body[data-mode=site] .brand b{font-size:.98rem}body[data-mode=site] .fmark{height:36px}body[data-mode=site] .sitenav .btn{padding:7px 12px;font-size:1rem;white-space:nowrap}}

/* Une soirée avec Fernand */
.fz-prog{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border-top:3px solid var(--fz-encre)}
.fz-prog li{display:flex;flex-direction:column;gap:10px;padding:18px 18px 4px 0;position:relative}
.fz-prog li::before{content:'';position:absolute;top:-10px;left:0;width:17px;height:17px;border-radius:50%;background:var(--fz-rouge);border:3px solid var(--fz-encre)}
.fz-prog time{font-family:var(--lp-h);font-weight:600;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1;color:var(--fz-rouge)}
.fz-prog b{display:block;font-family:var(--fz-cond);font-size:1.4rem;line-height:1.15}
.fz-prog span{display:block;line-height:1.5;margin:4px 0 8px}
.fz-prog a{font-family:var(--fz-cond);font-weight:700;font-size:1.05rem;color:var(--fz-encre);text-decoration-thickness:2px;text-underline-offset:4px}
.fz-appli-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:center}
.fz-appli{border-top:3px solid var(--fz-encre)}
.fz-pro{padding:clamp(34px,5vw,56px) 0}.fz-pro h2{color:var(--fz-jaune)}.fz-pro .fz-lead{margin:0;color:#E6EAF2}
.fz-link{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--fz-jaune);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
/* Formules */
.fz-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);align-items:stretch}
.fz-fc{position:relative;background:#fff;color:var(--fz-encre);border:3px solid var(--fz-encre);padding:24px clamp(18px,2vw,26px) 22px;display:flex;flex-direction:column}
.fz-fc.star{box-shadow:8px 8px 0 var(--fz-rouge);transform:translateY(-6px)}
.fz-fc.on{outline:4px solid var(--fz-rouge);outline-offset:3px}
.fz-fc-tag{position:absolute;top:-16px;left:18px;margin:0;background:var(--fz-rouge);color:#fff;font-family:var(--fz-cond);font-weight:700;font-size:1.05rem;padding:3px 12px}
.fz-fc h3{font-family:var(--lp-h);font-weight:600;font-size:clamp(1.6rem,2.6vw,2.1rem);margin:0}
.fz-fc-p{margin:6px 0 4px;display:flex;align-items:baseline;gap:8px}.fz-fc-p b{font-family:var(--lp-h);font-weight:600;font-size:clamp(2.2rem,4vw,3rem);line-height:1}.fz-fc-p span{font-family:var(--fz-cond);font-weight:600;font-size:1.1rem}
.fz-fc-t{margin:0 0 12px;line-height:1.45}
.fz-fc-plus{margin:0 0 4px;font-family:var(--fz-cond);font-weight:700;font-size:1.1rem}
.fz-fc ul{list-style:none;padding:0;margin:0 0 18px;border-top:2px dashed rgba(10,35,66,.3)}
.fz-fc li{padding:7px 0 7px 22px;border-bottom:2px dashed rgba(10,35,66,.3);position:relative;line-height:1.35}
.fz-fc li::before{content:'';position:absolute;left:2px;top:13px;width:9px;height:9px;border-radius:50%;background:var(--fz-rouge)}
.fz-fc .fz-pick{margin-top:auto;align-self:stretch;padding:10px 16px;font-size:1.2rem}
.fz-fc.on .fz-pick{background:var(--fz-encre);color:#fff}
.fz-pick{font-family:var(--fz-cond);font-weight:700;font-size:1.1rem;border:2px solid var(--fz-encre);background:#fff;color:var(--fz-encre);border-radius:3px;padding:7px 16px;cursor:pointer}
.fz-pick:hover{background:var(--fz-jaune)}
.fz-carte,.fz-opts{background:color-mix(in srgb,var(--fz-encre,#0A2342) 6%,#F4F1EC);border-radius:18px;padding:18px clamp(14px,2vw,22px)}
.fz-carte .fz-opt,.fz-opts .fz-opt{background:#fff}
.fz-opts{margin-top:26px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;align-items:center}
.fz-opts .fz-hand{grid-column:1/-1;margin:0}
.fz-opt{display:flex;align-items:center;gap:12px;background:#fff;border:2px solid var(--fz-encre);padding:12px 14px;cursor:pointer}
.fz-opt input{width:20px;height:20px;accent-color:var(--fz-rouge);flex:none}
.fz-opt span{display:flex;flex-direction:column;flex:1;min-width:0}.fz-opt b{font-family:var(--fz-cond);font-size:1.25rem}.fz-opt small{font-size:.9rem;opacity:.8}
.fz-opt em{font-style:normal;font-family:var(--fz-cond);font-weight:700;font-size:1.2rem;white-space:nowrap}
.fz-opt.inc{opacity:.75}.fz-opt.inc em{color:var(--fz-rouge)}
.fz-opts-h{grid-column:1/-1;margin:0;font-size:.95rem;opacity:.8}
.fz-scope .cartbar,.fz-forms~.cartbar{background:var(--fz-encre);color:#fff;border-radius:6px;box-shadow:6px 6px 0 var(--fz-rouge)}
.fz-forms~.cartbar .btn{background:var(--fz-rouge);color:#fff;border-radius:4px;font-family:var(--fz-cond);font-size:1.2rem}
.fz-notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px clamp(16px,3vw,36px);margin-top:30px}
.fz-notes p{margin:0;line-height:1.55;border-top:3px solid var(--fz-encre);padding-top:12px}
.fz-notes b{display:block;font-family:var(--fz-cond);font-size:1.3rem;margin-bottom:4px}
.fz-notes .fz-launch{border-top-color:var(--fz-rouge)}.fz-notes .fz-launch b{color:var(--fz-rouge)}
.fz-scope{color:var(--ink)}
.fz-forms .fz-fc-p{flex-wrap:wrap;gap:2px 8px}.fz-forms .fz-fc-p b{white-space:nowrap;font-size:clamp(2rem,2.8vw,2.6rem)}
@media (max-width:900px){.fz-forms{grid-template-columns:1fr}.fz-fc.star{transform:none}.fz-prog{grid-template-columns:repeat(2,minmax(0,1fr))}.fz-appli-g{grid-template-columns:1fr}.fz-opts,.fz-notes{grid-template-columns:minmax(0,1fr)}.fz-qopt{flex-wrap:wrap}}
@media (max-width:560px){.fz-opt{flex-wrap:wrap;row-gap:4px}.fz-opt>span:not(.fz-step){flex:1 1 calc(100% - 40px)}.fz-opt>em{margin-left:32px}}
@media (max-width:560px){.fz-prog{grid-template-columns:1fr;border-top:0;border-left:3px solid var(--fz-encre);padding-left:18px}.fz-prog li{padding:6px 0 18px}.fz-prog li::before{top:8px;left:-29px}}
.fz-fc-dv{background:var(--fz-papier)}
.fz-dv{font-family:var(--lp-h);font-weight:600;font-size:clamp(1.9rem,3.4vw,2.5rem);line-height:1;color:var(--fz-rouge)}
.fz-var{display:flex;gap:6px;margin:0 0 12px}
.fz-var button{flex:1;font-family:var(--fz-cond);font-weight:700;font-size:1.05rem;padding:8px 6px;border:2px solid var(--fz-encre);background:#fff;color:var(--fz-encre);border-radius:3px;cursor:pointer}
.fz-var button.on{background:var(--fz-encre);color:#fff}
.rsv-sum .rsv-h{margin:12px 0 2px;font-weight:800;font-size:.8rem;color:var(--muted);display:block}.rsv-sum .rsv-h:first-child{margin-top:0}
.car-int{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:6px}.car-int label{display:flex;gap:8px;align-items:flex-start;font-weight:500;font-size:.95rem;cursor:pointer}.car-int input{margin-top:3px;width:18px;height:18px;accent-color:var(--primary);flex:none}
@media (max-width:600px){.car-int{grid-template-columns:1fr}}
.fz-optout{background:none;border:0;padding:0;font:inherit;font-size:.9rem;color:#C9D3E3;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
/* ---------- Scènes des écrans de salle : accueil, entracte, fin ---------- */
.ecr-scene{position:relative;display:grid;place-items:center;overflow:hidden;color:#fff;font-family:var(--font-body);background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--sc-mid) 80%,#fff 8%),var(--sc-mid) 35%,var(--sc-deep) 100%)}
.ecran.ecr-scene{position:fixed;inset:0}
.scn-rays{position:absolute;inset:-50%;background:repeating-conic-gradient(from 0deg at 50% 50%,color-mix(in srgb,var(--sc-hi) 7%,transparent) 0 6deg,transparent 6deg 18deg);animation:scnSpin 90s linear infinite;pointer-events:none}
@keyframes scnSpin{to{transform:rotate(360deg)}}
.scn-bulbs{position:absolute;inset:3vmin;border-radius:3vmin;pointer-events:none}
.scn-bulbs i{position:absolute;width:1.3vmin;height:1.3vmin;margin:-.65vmin 0 0 -.65vmin;border-radius:50%;background:var(--sc-hi);box-shadow:0 0 1.6vmin var(--sc-hi);animation:scnBulb 1.6s ease-in-out infinite}
.screen:has(.ecr-scene) .scr-brand{display:none}
.screen:has(.ecr-gros) .scr-brand{top:auto;bottom:calc(16px + env(safe-area-inset-bottom,0px))}
@keyframes scnBulb{50%{opacity:.25;box-shadow:none}}
.scn-in{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.6vmin;padding:6vmin;max-width:min(92vw,1400px);animation:scnIn .9s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes scnIn{from{opacity:0;transform:translateY(3vmin) scale(.96)}}
.scn-logo{width:clamp(110px,21vmin,280px);height:clamp(110px,21vmin,280px);border-radius:24%;background:#fff;display:grid;place-items:center;padding:2.6vmin;box-shadow:0 0 0 1vmin color-mix(in srgb,var(--sc-hi) 85%,transparent),0 0 7vmin color-mix(in srgb,var(--sc-hi) 55%,transparent),0 2vmin 5vmin rgba(0,0,0,.35);animation:scnFloat 5s ease-in-out infinite}
.scn-logo img{max-width:100%;max-height:100%;object-fit:contain}
.scn-logo.camp{border-radius:2.4vmin;height:auto;min-height:clamp(110px,17vmin,240px);width:auto;max-width:clamp(160px,34vmin,460px)}
.scn-logo.camp img{max-height:clamp(90px,14vmin,200px);width:auto}
@keyframes scnFloat{50%{transform:translateY(-1vmin)}}
.scn-camp{font-family:var(--font-title);font-weight:800;font-size:clamp(1rem,2.6vmin,1.8rem);letter-spacing:.14em;text-transform:uppercase;color:var(--sc-hi2)}
.scn-kick{margin:1vmin 0 0;font-weight:700;font-size:clamp(1rem,3vmin,2rem);color:var(--sc-hi);letter-spacing:.06em;text-transform:uppercase}
.scn-t{margin:0;font-family:var(--font-title);font-weight:900;font-size:clamp(2.4rem,11vmin,8rem);line-height:.95;text-shadow:0 .6vmin 0 var(--sc-deep),0 0 6vmin color-mix(in srgb,var(--sc-hi) 40%,transparent)}
.scn-sub{margin:.6vmin 0 0;font-size:clamp(1rem,3.2vmin,2.2rem);opacity:.85}
.scn-when{margin:1vmin 0 0;font-size:clamp(1.1rem,3.6vmin,2.4rem);font-weight:600}.scn-when.scn-cd{font-size:clamp(.95rem,2.8vmin,1.8rem);opacity:.9}
.scn-when b,.scn-when .ecd{display:inline-block;background:var(--sc-hi);color:var(--sc-hi-ink);border-radius:1.4vmin;padding:.3vmin 1.6vmin;font-weight:800;font-variant-numeric:tabular-nums;margin-left:.6vmin}
.scn-tom{margin-top:1.4vmin;display:grid;gap:.8vmin;background:color-mix(in srgb,var(--sc-deep) 60%,transparent);border:1px solid color-mix(in srgb,var(--sc-hi) 40%,transparent);border-radius:2vmin;padding:2vmin 4vmin;font-size:clamp(1rem,3vmin,2rem)}
.scn-tom span{font-weight:800;color:var(--sc-hi);text-transform:uppercase;letter-spacing:.08em;font-size:.8em}
.scn-tom p{margin:0;display:flex;gap:2vmin;justify-content:center}.scn-tom b{color:var(--sc-hi2);font-variant-numeric:tabular-nums}
.scn-sig{position:absolute;right:4.5vmin;bottom:3.6vmin;z-index:1;font-family:var(--font-title);font-weight:800;font-size:clamp(.75rem,1.7vmin,1.1rem);letter-spacing:.12em;text-transform:uppercase;opacity:.6}
/* transitions entre deux moments */
.ecr-tr{position:fixed;inset:0;z-index:120;pointer-events:none;overflow:hidden}
.screen .ecr-tr{position:absolute;z-index:8}
.ecr-tr i{position:absolute;inset:0;transform:translateX(-101%)}
.ecr-tr .tr-a{background:var(--sc-hi);animation:trWipe 2s cubic-bezier(.7,0,.3,1) both}
.ecr-tr .tr-b{background:linear-gradient(135deg,var(--sc-mid),var(--sc-deep));animation:trWipe 2s cubic-bezier(.7,0,.3,1) .1s both}
@keyframes trWipe{0%{transform:translateX(-101%)}30%,68%{transform:translateX(0)}100%{transform:translateX(101%)}}
.ecr-tr .tr-c{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:1.4vmin;color:#fff;text-align:center;animation:trTxt 2s ease both}
@keyframes trTxt{0%,22%{opacity:0;transform:scale(.9)}34%,64%{opacity:1;transform:none}80%,100%{opacity:0;transform:scale(1.04)}}
.tr-logo{width:clamp(100px,18vmin,230px);height:clamp(100px,18vmin,230px);display:grid;place-items:center;background:#fff;border-radius:24%;padding:2.2vmin;box-shadow:0 0 0 .8vmin var(--sc-hi)}.tr-logo img{max-width:100%;max-height:100%;object-fit:contain}
.tr-logo.camp{border-radius:2vmin;width:auto;height:auto;max-width:clamp(160px,32vmin,440px)}.tr-logo.camp img{max-height:clamp(80px,14vmin,190px)}
.ecr-tr .tr-c b{font-family:var(--font-title);font-weight:900;font-size:clamp(2rem,9vmin,6.5rem);line-height:1}
.ecr-tr .tr-c span{font-size:clamp(1rem,3.2vmin,2.2rem);font-weight:600;color:var(--sc-hi2)}
.ecr-tr.long .tr-a,.ecr-tr.long .tr-b,.ecr-tr.long .tr-c{animation-duration:3.2s}
@media (prefers-reduced-motion:reduce){.ecr-tr i{display:none}.ecr-tr{background:var(--sc-deep)}.scn-rays,.scn-logo,.scn-bulbs i{animation:none}}
.ecr-fs{position:fixed;left:50%;bottom:4vmin;transform:translateX(-50%);z-index:130;border:0;border-radius:999px;background:rgba(0,0,0,.72);color:#fff;font:600 1rem var(--font-body);padding:12px 22px;animation:fsHint 6s ease forwards;cursor:pointer}
@keyframes fsHint{0%,80%{opacity:1}100%{opacity:0;visibility:hidden}}
/* barre « À l'écran » dans les régies */
.scbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:-6px 0 18px;padding:10px 12px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line,#e3ddd2)}
.sclab{font-weight:700;font-size:.85rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#667)}
.scseg{display:flex;flex-wrap:wrap;gap:4px;background:var(--soft,#f2efe9);border-radius:999px;padding:4px}
.scseg button{border:0;background:transparent;border-radius:999px;padding:8px 14px;font:600 .92rem var(--font-body);color:inherit;cursor:pointer}
.scseg button.on{background:var(--primary);color:var(--on-primary)}
.scx{display:flex;align-items:center;gap:6px;font-size:.92rem;white-space:nowrap}
.scx input{font:inherit;padding:6px 8px;border-radius:8px;border:1px solid var(--line,#ddd)}
.sclogo{margin-left:auto;border:1px dashed color-mix(in srgb,var(--primary) 45%,transparent);background:transparent;border-radius:10px;padding:7px 12px;font:500 .84rem var(--font-body);color:inherit;cursor:pointer;text-align:left}
.sclogo b{color:var(--primary)}
@media (max-width:640px){.sclogo{margin-left:0}.scseg button{padding:7px 10px;font-size:.86rem}}
/* bouton plein écran de la barre du haut */
#siteNav #fsBtn{white-space:nowrap;color:var(--ink);background:transparent;border:1px solid var(--line)}
#siteNav #fsBtn:hover{border-color:var(--primary)}
body.is-fs .topbar{box-shadow:none}
.plogo{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.plogo .pl-prev{width:72px;height:72px;border-radius:12px;border:1px solid var(--line,#ddd);display:grid;place-items:center;background:#fff;overflow:hidden}
.plogo .pl-prev img{max-width:64px;max-height:64px;object-fit:contain}
.pot-ph img.pot-logo{object-fit:contain;padding:12%;background:#fff}
.pot-ph img.pot-masc{object-fit:contain;padding:6% 18% 0;background:#FFF5EE}
/* ---------- Semainier : jour, semaine, mois, glisser-déposer ---------- */
.semtb{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin:-4px 0 14px}
.semnav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.semnav b{margin-left:6px;font-size:1.05rem}.semnav b::first-letter{text-transform:uppercase}
.semtools{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;margin-left:auto}
.semtools select{font:inherit;padding:5px 8px;border-radius:8px;border:1px solid var(--line);background:var(--surface);color:inherit}
.semhint{font-size:.82rem;flex-basis:100%}
.semdh{cursor:grab;user-select:none;-webkit-user-select:none;touch-action:pan-y;border-radius:8px}
.semdh small{font-weight:500;color:var(--muted);font-size:.82rem}
.semdh.drop-on{outline:2.5px dashed var(--accent);outline-offset:3px}
.ev{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab}
.ev.mini{padding:3px 6px;font-size:.76rem;border-left-width:3px;line-height:1.2}.ev.mini b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-src{opacity:.35}.ev-armed{box-shadow:0 0 0 2px var(--accent);transform:scale(1.03)}
.ev-ghost{position:fixed;left:0;top:0;z-index:200;pointer-events:none;box-shadow:0 14px 30px rgba(10,20,40,.28);opacity:.95;margin:0}
body.dragging,body.dragging *{cursor:grabbing!important}
[data-drop].drop-on{outline:2.5px dashed var(--accent);outline-offset:-2px;background:color-mix(in srgb,var(--accent) 8%,var(--surface))}
.semwk .day{min-height:260px}.semwk .day h3{flex-wrap:wrap;gap:4px}
.semday{padding:6px 0;display:grid}
.semhr{display:grid;grid-template-columns:64px 1fr;gap:10px;align-items:start;padding:6px 14px;border-top:1px solid var(--line);min-height:46px}
.semhr:first-child{border-top:0}.semh{font-weight:700;color:var(--muted);padding-top:6px;font-variant-numeric:tabular-nums}
.semhe{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-start}.semhe .ev{width:auto;min-width:200px}
.addev.sm{margin:0;width:34px;height:34px;padding:0;opacity:.0;transition:opacity .15s}.semhr:hover .addev.sm,.addev.sm:focus{opacity:1}
@media (hover:none){.addev.sm{opacity:.6}}
.semmo{display:grid;gap:4px;overflow-x:auto}
.semmo-h,.semmo-w{display:grid;grid-template-columns:repeat(7,minmax(104px,1fr));gap:4px}
.semmo-h .semdh{font-weight:700;font-size:.85rem;padding:6px 8px;color:var(--muted)}
.semmo-d{background:var(--surface);border:1px solid var(--line);border-radius:10px;min-height:118px;padding:5px;display:flex;flex-direction:column;gap:3px}
.semmo-d.out{opacity:.45}.semmo-d.today{box-shadow:inset 0 0 0 2px var(--primary)}
.semmo-n{align-self:flex-start;border:0;background:none;font:700 .9rem var(--font-body);color:inherit;padding:2px 6px;border-radius:6px;cursor:pointer}.semmo-n:hover{background:var(--soft)}
.semmo-more{border:0;background:none;color:var(--primary);font-weight:600;font-size:.76rem;text-align:left;padding:2px 4px;cursor:pointer}
.evdup{display:grid;gap:6px}.evuntil{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.92rem}.evuntil input[type=date]{font:inherit;padding:4px 6px;border-radius:8px;border:1px solid var(--line)}
.prt-o{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:12px;padding:10px 12px;cursor:pointer}
.prt-o:has(input:checked){border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}
.prt-o span{display:grid;gap:4px}.prt-o small{color:var(--muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.prt-o select,.prt-o input[type=date]{font:inherit;padding:4px 6px;border-radius:8px;border:1px solid var(--line);max-width:100%}
@media (max-width:640px){.semtools{margin-left:0}.semhr{grid-template-columns:44px 1fr;padding:6px 8px}.semhe .ev{min-width:0;width:100%}}
/* impressions portrait : jour et activité ; paysage : mois */
.sp.sp-port{height:262mm}
.spd{display:grid;gap:4mm;align-content:start;flex:1}
.spd p{margin:0;display:grid;grid-template-columns:30mm 1fr;align-items:baseline;border-left:2mm solid var(--c);padding:2.5mm 0 2.5mm 4mm;break-inside:avoid}
.spd b{font-size:20pt;font-weight:800}.spd span{font-size:20pt;font-weight:700;line-height:1.15}.spd small{display:block;font-size:12pt;font-weight:500;color:#5A6479}
.spa{display:grid;gap:2.5mm;align-content:start;flex:1;border-left:2.5mm solid var(--c);padding-left:5mm}
.spa p{margin:0;display:grid;grid-template-columns:1fr 26mm 50mm;gap:4mm;align-items:baseline;font-size:15pt;padding:2mm 0;border-bottom:1px solid #E5DED2;break-inside:avoid}
.spa b{text-transform:capitalize}.spa span{font-weight:800}.spa small{color:#5A6479;font-size:12pt}
.spm{flex:1;min-height:0;display:grid;grid-template-columns:repeat(7,1fr);grid-template-rows:auto repeat(var(--w),1fr);gap:1.5mm}
.spm-h{display:contents}.spm-h b{font-family:var(--font-title);color:var(--primary);font-size:11pt;padding:0 1mm}
.spm>div:not(.spm-h){border:1px solid #DDD5C8;border-radius:2mm;padding:1.2mm 1.5mm;overflow:hidden;display:flex;flex-direction:column;gap:.6mm}
.spm>div.out{background:#F6F3EE}.spm em{font-style:normal;font-weight:800;font-size:10pt}
.spm p{margin:0;font-size:7.5pt;line-height:1.15;border-left:1mm solid var(--c);padding-left:1mm;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-w h2 small{font-family:var(--font-body);font-size:10pt;color:#5A6479;font-weight:600}
.maj{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:300;display:flex;align-items:center;gap:12px;background:var(--primary);color:var(--on-primary);border-radius:999px;padding:8px 8px 8px 18px;box-shadow:0 10px 30px rgba(10,20,40,.3);font-weight:600;max-width:calc(100vw - 24px)}.maj .btn{background:var(--accent);color:var(--on-accent)}.maj-x{background:none;border:0;color:inherit;opacity:.7;font-size:1rem;padding:4px 8px;cursor:pointer}
/* jetons de la direction retenue, utiles aussi à l'espace client */
:root{--lp-nuit:#0A2342;--lp-orange:#F0732F;--lp-ink:#0A2342;--lp-gris:#56637A;--lp-ligne:#E3E7EE;--lp-h:"Fredoka","Figtree",system-ui,sans-serif;--lp-hw:600;--lp-b:"Figtree",system-ui,sans-serif;--lp-r:18px;--lp-acc:#F0732F}
/* ===== Vitrine : fond clair et uni, couleurs de Fernand. direction « ronde » retenue le 10 oct. 2026 ===== */
body[data-mode=site]{--lp-nuit:#0A2342;--lp-orange:#F0732F;--lp-bg:#FFFFFF;--lp-ink:#0A2342;--lp-gris:#56637A;--lp-ligne:#E3E7EE;--lp-doux:#F5F7FA;
 --lp-h:"Fredoka","Figtree",system-ui,sans-serif;--lp-hw:600;--lp-b:"Figtree",system-ui,sans-serif;--lp-r:18px;--lp-btn:var(--lp-orange);--lp-btn-ink:#fff;--lp-acc:var(--lp-orange);
 background:var(--lp-bg);color:var(--lp-ink);font-family:var(--lp-b)}
body[data-mode=site] h1,body[data-mode=site] h2,body[data-mode=site] h3{font-family:var(--lp-h);font-weight:var(--lp-hw);letter-spacing:0}
body[data-mode=site] .bar{background:var(--lp-bg);border-bottom:1px solid var(--lp-ligne);backdrop-filter:none}
body[data-mode=site] .brand b{font-family:var(--lp-h);font-weight:var(--lp-hw);font-size:1.12rem}
body[data-mode=site] .brand small{font-family:var(--lp-b);font-size:.82rem;font-weight:500;color:var(--lp-gris)}
body[data-mode=site] .sitenav button{font-family:var(--lp-b);font-size:.98rem;font-weight:600;color:var(--lp-ink)}
body[data-mode=site] .sitenav button:hover{background:var(--lp-doux)}
body[data-mode=site] .sitenav .btn{background:var(--lp-btn);color:var(--lp-btn-ink);font-family:var(--lp-b);font-size:.95rem;font-weight:700;border-radius:var(--lp-r);padding:9px 18px}
.lp-in{max-width:1120px;margin:0 auto;padding:0 clamp(18px,4vw,40px)}
#view>section.lp-sec{padding:clamp(56px,8vw,104px) 0;background:var(--lp-bg);color:var(--lp-ink)}
#view>section.lp-sec+section.lp-sec{border-top:1px solid var(--lp-ligne)}
body[data-mode=site] .lp-in h2{font-size:clamp(1.8rem,3.4vw,2.6rem);line-height:1.1;margin:0 0 .5em}
body[data-mode=site] .lp-in h2.lp-h{text-align:center;margin-bottom:clamp(28px,4vw,44px)}
.lp-lead{font-size:clamp(1.04rem,1.3vw,1.15rem);line-height:1.6;max-width:54ch;margin:0 0 1.6em;color:var(--lp-gris)}
.lp-c{text-align:center;margin:-1.4em auto 2.4em}
.lp-cta{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.lp-btn{display:inline-flex;align-items:center;justify-content:center;font:700 1rem/1 var(--lp-b);text-decoration:none;border:2px solid var(--lp-btn);background:var(--lp-btn);color:var(--lp-btn-ink);border-radius:var(--lp-r);padding:14px 24px;cursor:pointer;transition:filter .15s}
.lp-btn:hover{filter:brightness(1.08)}
.lp-btn.ghost{background:transparent;color:var(--lp-ink);border-color:var(--lp-ligne)}.lp-btn.ghost:hover{border-color:var(--lp-ink);filter:none}
.lp-link{font-weight:600;color:var(--lp-ink);text-underline-offset:4px}
.lp-btn:focus-visible,.lp-link:focus-visible,.lp-tabs button:focus-visible,.lp-pil a:focus-visible{outline:3px solid var(--lp-orange);outline-offset:3px}
/* héros clair */
#view>section.lp-hero{padding:clamp(48px,7vw,96px) 0 clamp(48px,6vw,80px)}
.lp-hero-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(32px,5vw,64px);align-items:center}
.lp-hero-mark{width:64px;height:auto;display:block;margin-bottom:22px}
body[data-mode=site] .lp-hero h1{font-size:clamp(2.3rem,4.2vw,3.6rem);line-height:1.04;margin:0 0 .45em;color:var(--lp-ink);text-wrap:balance}
.lp-hero-t,.lp-stage{opacity:0;animation:lpUp .8s cubic-bezier(.2,.8,.2,1) .15s forwards}.lp-stage{animation-delay:.35s}
@keyframes lpUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.lp-stage .tv{filter:drop-shadow(0 24px 40px rgba(10,35,66,.22))}
.lp-tabs{display:flex;gap:6px;margin-top:16px;justify-content:center;flex-wrap:wrap}
.lp-tabs button{font:600 .9rem var(--lp-b);color:var(--lp-gris);background:transparent;border:1px solid var(--lp-ligne);border-radius:var(--lp-r);padding:6px 12px;cursor:pointer}
.lp-tabs button.on{background:var(--lp-nuit);border-color:var(--lp-nuit);color:#fff}
.lp-ll-line{display:flex;align-items:center;gap:10px;margin:26px 0 0;color:var(--lp-gris);font-size:.92rem}
.lp-ll-line img{height:34px;width:auto}
.lp-ll-line a{color:inherit}
/* trois piliers */
.lp-pil{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:clamp(20px,3vw,36px);row-gap:0}
.lp-pil article{display:grid;grid-template-rows:subgrid;grid-row:span 4}
.lp-pil img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--lp-r);display:block;margin-bottom:20px}
body[data-mode=site] .lp-pil h3{font-size:1.45rem;margin:0 0 .35em}
.lp-pil p{margin:0 0 18px;line-height:1.6;color:var(--lp-gris)}
.lp-pil ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--lp-ligne);align-self:start}
.lp-pil li{border-bottom:1px solid var(--lp-ligne)}
.lp-pil li{display:flex;justify-content:space-between;align-items:center;gap:12px}
.lp-pil li a{padding:11px 2px;color:var(--lp-ink);text-decoration:none;font-weight:600}
.lp-pil li a.lp-try{font-size:.9rem;color:var(--lp-acc);white-space:nowrap}
.lp-pil li a:hover{color:var(--lp-acc)}
.lp-pil p a.lp-more{color:var(--lp-ink);font-weight:700;white-space:nowrap}
.lp-pil p a.lp-more:hover{color:var(--lp-acc)}
/* formules : cartes blanches, lignes fines */
:is(#offres,.fz-scope) .fz-fc{background:#fff;color:var(--lp-ink);border:1px solid var(--lp-ligne);border-radius:var(--lp-r);box-shadow:none}
:is(#offres,.fz-scope) .fz-fc.star{border:2px solid var(--lp-nuit);box-shadow:none;transform:none}
:is(#offres,.fz-scope) .fz-fc h3,:is(#offres,.fz-scope) .fz-fc-p b{font-family:var(--lp-h);font-weight:var(--lp-hw)}
:is(#offres,.fz-scope) .fz-fc-tag{background:var(--lp-nuit);border-radius:calc(var(--lp-r)/2)}
:is(#offres,.fz-scope) .fz-fc-dv .fz-fc-p b,:is(#offres,.fz-scope) .fz-dv{color:var(--lp-acc)}
:is(#offres,.fz-scope) .fz-pick{border-radius:var(--lp-r);border:1.5px solid var(--lp-nuit);font-family:var(--lp-b);font-size:1rem}
:is(#offres,.fz-scope) .fz-opt{border:1px solid var(--lp-ligne);border-radius:var(--lp-r);box-shadow:none;background:#fff}
:is(#offres,.fz-scope) .fz-hand,:is(#offres,.fz-scope) .fz-opt b,:is(#offres,.fz-scope) .fz-notes b{font-family:var(--lp-b)}
:is(#offres,.fz-scope) .fz-notes p{border-color:var(--lp-ligne)!important}:is(#offres,.fz-scope) .fz-launch b{color:var(--lp-acc)}
:is(#offres,.fz-scope) .fz-fc li::before{background:var(--lp-acc)}
/* questions */
.lp-faq{max-width:1040px}.lp-faq .faq-th{grid-column:1/-1;margin:34px 0 4px;font:700 .8rem/1.2 var(--lp-b);letter-spacing:.12em;text-transform:uppercase;color:var(--lp-acc)}.lp-faq .faq-th:first-child{margin-top:0}.lp-faq-g{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;align-items:start}@media (max-width:900px){.lp-faq-g{grid-template-columns:1fr}}
.lp-pain{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(28px,5vw,64px);align-items:center}.lp-pain img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--lp-r)}@media (max-width:900px){.lp-pain{grid-template-columns:1fr}}
.lp-faq .faq-i{background:none;border:0;border-radius:0;border-bottom:1px solid var(--lp-ligne);padding:0}
.lp-faq summary{display:block;cursor:pointer;font-weight:600;font-size:1.05rem;padding:18px 36px 18px 0;list-style:none;position:relative}
.lp-faq summary::-webkit-details-marker{display:none}
.lp-faq summary::after{content:"+";position:absolute;right:4px;top:14px;font:400 1.5rem/1 var(--lp-b);color:var(--lp-acc);transition:transform .2s}
.lp-faq details[open] summary::after{transform:rotate(45deg)}
.lp-faq details p{margin:0 0 18px;line-height:1.6;color:var(--lp-gris);max-width:62ch}
/* contact */
.lp-contact-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(28px,5vw,72px);align-items:center}
.lp-form{background:var(--lp-doux);color:var(--lp-ink);border:1px solid var(--lp-ligne);border-radius:var(--lp-r);padding:28px;display:grid;gap:14px;box-shadow:none}
.lp-form .f{font-weight:600;font-size:.92rem}.lp-form input{border-radius:calc(var(--lp-r)*.6);border:1px solid #CBD3DE;padding:12px 14px;font-size:1rem;background:#fff}
.lp-form .lp-btn{margin-top:6px;width:100%}
/* pied de page assorti */
body[data-mode=site] .fz-foot{background:var(--lp-bg);color:var(--lp-gris);border-top:1px solid var(--lp-ligne)}
body[data-mode=site] .fz-foot b{font-family:var(--lp-h);font-weight:var(--lp-hw);color:var(--lp-ink)}
@media (max-width:900px){.lp-hero-g,.lp-contact-g{grid-template-columns:1fr}.lp-pil{grid-template-columns:1fr;max-width:560px;margin:0 auto}.lp-pil article{grid-row:auto;display:flex;flex-direction:column}.lp-pil ul{margin-bottom:24px}}
@media (max-width:560px){.lp-btn{flex:1 1 auto}}
@media (prefers-reduced-motion:reduce){.lp-hero-t,.lp-stage{animation:none;opacity:1}}
/* variantes de mise en page selon la direction */
.lp-hero-logo{display:none}
body[data-mode=site] .lp-hero-g{grid-template-columns:1fr;text-align:center;justify-items:center}
body[data-mode=site] .lp-hero-logo{display:block;width:120px;height:auto;margin:0 auto 18px}
body[data-mode=site] .lp-hero .lp-lead{margin-left:auto;margin-right:auto}
body[data-mode=site] .lp-hero .lp-cta,body[data-mode=site] .lp-ll-line{justify-content:center}
body[data-mode=site] .lp-hero-t{width:100%;display:flex;flex-direction:column;align-items:center}
body[data-mode=site] .lp-stage{width:min(100%,860px)}
body[data-mode=site] .lp-pil article{background:#FFF6EF;border-radius:24px;padding:16px 16px 6px}
body[data-mode=site] .lp-pil img{border-radius:16px}

.ll-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin:0 0 14px}
.ll-badge{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--muted);font-size:.85rem;font-weight:600;background:#0A2342;border-radius:999px;padding:4px 14px 4px 14px;margin-top:8px}.ll-badge span{color:#cfd8e6}.ll-badge img{height:34px;width:auto;display:block}
.ll-row .ll-badge{margin-top:0}
.fz-scope .cartbar,.fz-forms~.cartbar{background:var(--lp-nuit);border-radius:var(--lp-r);box-shadow:0 12px 30px -10px rgba(10,35,66,.4)}
:is(#offres,.fz-scope) .fz-fc-tag{color:#fff}
/* ===== Affichage dynamique : un ciel qui suit l'heure, un paysage de camping, des cartes ===== */
.ecr-dyn{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:0;font-family:var(--font-body);color:#14213A;
 --sky1:#8FD0F0;--sky2:#E9F6FB;--sun:#FFD25A;--land1:color-mix(in srgb,var(--sc-mid) 55%,#6FA36B);--land2:color-mix(in srgb,var(--sc-mid) 40%,#3E7A4A);--land3:color-mix(in srgb,var(--sc-deep) 55%,#24492F);
 background:linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 70%)}
.ecr-dyn[data-sky=matin]{--sky1:#F9C9A6;--sky2:#FDEEDC;--sun:#FFB45A}
.ecr-dyn[data-sky=soir]{--sky1:#F08A5D;--sky2:#FBD3A0;--sun:#FFE08A;--land1:color-mix(in srgb,var(--sc-mid) 45%,#5E6F4A);--land2:color-mix(in srgb,var(--sc-deep) 45%,#3B4A35);--land3:color-mix(in srgb,var(--sc-deep) 70%,#1E2A22)}
.ecr-dyn[data-sky=nuit]{color:#F3F1EA;--sky1:color-mix(in srgb,var(--sc-deep) 85%,#000);--sky2:color-mix(in srgb,var(--sc-mid) 60%,#0B1530);--sun:#F4F1DE;--land1:color-mix(in srgb,var(--sc-deep) 70%,#1B2B38);--land2:color-mix(in srgb,var(--sc-deep) 80%,#101B26);--land3:#0A121B}
.dy-sun{position:absolute;right:9vw;top:13vh;width:16vh;height:16vh;border-radius:50%;background:var(--sun);box-shadow:0 0 8vh color-mix(in srgb,var(--sun) 70%,transparent);opacity:.9}
.ecr-dyn[data-sky=nuit] .dy-sun{width:11vh;height:11vh;box-shadow:inset -3vh -1vh 0 color-mix(in srgb,var(--sky1) 90%,#000),0 0 6vh rgba(244,241,222,.35)}
.dy-stars{position:absolute;inset:0 0 40% 0;background-image:radial-gradient(1.5px 1.5px at 10% 20%,#fff,transparent),radial-gradient(1.5px 1.5px at 30% 8%,#fff,transparent),radial-gradient(2px 2px at 55% 25%,#fff,transparent),radial-gradient(1.5px 1.5px at 72% 12%,#fff,transparent),radial-gradient(1.5px 1.5px at 88% 30%,#fff,transparent),radial-gradient(1px 1px at 42% 38%,#fff,transparent),radial-gradient(1px 1px at 18% 45%,#fff,transparent);opacity:.8}
.dy-land{position:absolute;left:0;right:0;bottom:0;width:100%;height:36vh}
.dy-land .l1{fill:var(--land1)}.dy-land .l2{fill:var(--land2)}.dy-land .l3{fill:var(--land3)}
.dy-land .pins{fill:var(--land3)}.dy-land .tents path{fill:var(--sc-hi)}.dy-land .tents .door{fill:color-mix(in srgb,var(--sc-hi) 55%,#000)}
.dy-land .cara rect{fill:#F7F3EA}.dy-land .cara .win{fill:color-mix(in srgb,var(--sc-mid) 70%,#9ED0E6)}.dy-land .wheel{fill:#2B2B2B}.dy-land .cara path{stroke:#F7F3EA}
.ecr-dyn[data-sky=nuit] .dy-land .cara .win{fill:#FFD98A}
.dy-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:3vw;padding:3.4vh 4vw 0}
.dy-camp{display:flex;align-items:center;gap:1.4vh;font-family:var(--font-title);font-weight:600;font-size:clamp(1.1rem,3.4vh,2rem)}
.dy-camp img{height:6vh;width:auto;background:#fff;border-radius:1.2vh;padding:.6vh}
.dy-when{display:flex;align-items:baseline;gap:2vw}
.dy-date{font-size:clamp(.9rem,2.8vh,1.6rem);font-weight:600;opacity:.8}.dy-date::first-letter{text-transform:uppercase}
.dy-when .vv-clock{font-family:var(--font-title);font-weight:600;font-size:clamp(2rem,8vh,5rem);line-height:1;color:inherit;letter-spacing:0}
.dy-main{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;justify-content:center;padding:1vh 4vw 30vh;min-height:0}
.dy-t{font-family:var(--font-title);font-weight:600;font-size:clamp(1.6rem,6vh,3.6rem);margin:0 0 3vh}
.dy-card{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:2vh;background:rgba(255,255,255,.93);color:#14213A;border-radius:2.6vh;padding:2.2vh 2.6vh;box-shadow:0 1.2vh 3vh rgba(20,33,58,.18);border-left:1.2vh solid var(--c)}
.dy-ic{width:7vh;height:7vh;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 16%,#fff);color:var(--c)}.dy-ic svg{width:4.2vh;height:4.2vh}
.dy-ct{min-width:0}.dy-h{display:block;font-family:var(--font-title);font-weight:600;font-size:clamp(1rem,3.4vh,2rem);color:var(--c)}
.dy-card h2{margin:.2vh 0 0;font-family:var(--font-title);font-weight:600;font-size:clamp(1.1rem,4vh,2.4rem);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dy-card p{margin:.4vh 0 0;font-size:clamp(.85rem,2.5vh,1.4rem);color:#4A5870}
.dy-st{font-style:normal;font-weight:700;font-size:clamp(.8rem,2.4vh,1.4rem);padding:.8vh 1.8vh;border-radius:999px;background:#EEF1F5;color:#4A5870;white-space:nowrap}
.dy-card.now .dy-st{background:var(--c);color:#fff}.dy-card.in .dy-st{background:color-mix(in srgb,var(--c) 18%,#fff);color:color-mix(in srgb,var(--c) 70%,#000)}
.dy-card.done{opacity:.55}.dy-card.done .dy-st{background:transparent}
.dy-feat{display:grid;gap:2.4vh;max-width:150vh}
.dy-card.big{padding:3.4vh 3.6vh}.dy-card.big .dy-ic{width:11vh;height:11vh}.dy-card.big .dy-ic svg{width:6.4vh;height:6.4vh}
.dy-card.big h2{font-size:clamp(1.6rem,7vh,4.4rem)}.dy-card.big .dy-h{font-size:clamp(1.2rem,4.6vh,2.8rem)}.dy-card.big p{font-size:clamp(1rem,3.2vh,1.8rem)}.dy-card.big .dy-st{font-size:clamp(1rem,3.2vh,1.8rem);padding:1.2vh 2.6vh}
.dy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.2vh 2.4vw}
.dy-grid.n1,.dy-grid.n2{grid-template-columns:1fr;max-width:150vh}
.dy-in{animation:none}.dy-grid.in .dy-card,.dy-feat.in .dy-card{animation:dyIn .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0ms)}
@keyframes dyIn{from{opacity:0;transform:translateY(2vh)}}
.dy-free{font-family:var(--font-title);font-size:4vh;margin:0}
.dy-qr{display:flex;align-items:center;gap:5vw}.dy-qrbox{background:#fff;border-radius:3vh;padding:2.4vh;box-shadow:0 1.2vh 3vh rgba(20,33,58,.2)}.dy-qrbox svg{width:34vh;height:34vh;display:block}
.dy-qr h1{font-family:var(--font-title);font-weight:600;font-size:clamp(1.6rem,7vh,4.2rem);margin:0 0 1.6vh;max-width:18ch}.dy-qr p{font-size:clamp(1rem,3.4vh,2rem);margin:0;opacity:.85}
/* bandeau de messages : une planche de bois */
.dy-plank{position:absolute;z-index:3;left:4vw;right:4vw;bottom:3vh;height:7.6vh;border-radius:1.4vh;overflow:hidden;display:flex;align-items:center;color:#FFF7E8;
 background:repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 .5vh,transparent .5vh 1.6vh),linear-gradient(180deg,#A2683C,#7C4C2A);box-shadow:inset 0 .3vh 0 rgba(255,255,255,.18),0 1vh 2vh rgba(0,0,0,.25)}
.dy-plank::before,.dy-plank::after{content:'';position:absolute;top:0;bottom:0;width:4.6vh;z-index:2;background:radial-gradient(circle at 50% 50%,#5A3519 0 .7vh,transparent .78vh),linear-gradient(180deg,#A2683C,#7C4C2A)}.dy-plank::before{left:0;box-shadow:.8vh 0 1vh #8f5a33}.dy-plank::after{right:0;box-shadow:-.8vh 0 1vh #8f5a33}
.dy-plank-in{display:flex;align-items:center;gap:3vw;white-space:nowrap;animation:vvtick linear infinite;font-family:var(--font-title);font-weight:500;font-size:clamp(1rem,3.4vh,2rem);padding-left:4vw}
.dy-plank-in i{width:1.2vh;height:1.2vh;border-radius:50%;background:#FFD25A;flex:none}
@media (prefers-reduced-motion:reduce){.dy-grid.in .dy-card,.dy-feat.in .dy-card{animation:none}}
/* ===== Quiz connecté : régie, écran de salle, téléphone ===== */
.qc-mode{display:grid;gap:8px}.qc-how{margin:0;padding-left:20px;display:grid;gap:8px;line-height:1.5}
.qc-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.qc-code{display:flex;align-items:center;gap:14px}.qc-qr{width:84px;height:84px;background:#fff;padding:6px;border-radius:10px;border:1px solid var(--line)}.qc-qr svg{width:100%;height:100%;display:block}
.qc-code small{display:block;color:var(--muted);font-size:.8rem}.qc-code b{display:block;font-family:var(--font-title);font-size:2rem;letter-spacing:.12em;line-height:1.1}.qc-code span{color:var(--muted);font-size:.88rem}
.qc-games{margin:0}
.qc-ans{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.qc-ans div{position:relative;display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-left:5px solid var(--c);border-radius:12px;padding:10px 12px;background:var(--surface)}
.qc-ans i{font-style:normal;font-weight:800;color:var(--c)}.qc-ans span{flex:1}.qc-ans b{font-variant-numeric:tabular-nums}
.qc-ans em{position:absolute;right:10px;top:-9px;font-style:normal;font-size:.7rem;font-weight:700;background:var(--ok,#2BAE66);color:#fff;border-radius:999px;padding:1px 8px}
.qc-ans .ok{background:color-mix(in srgb,#2BAE66 12%,var(--surface));border-color:#2BAE66}
.qc-buzz{display:grid;gap:6px;margin:12px 0}
.qc-buzz div{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 12px}
.qc-buzz div.first{border-color:var(--accent);background:var(--soft)}.qc-buzz em{font-style:normal;font-weight:800;color:var(--muted)}.qc-buzz small{color:var(--muted)}
.btn.ok{background:#2BAE66;border-color:#2BAE66;color:#fff}
.qc-rank{margin:0;padding-left:22px;display:grid;gap:4px}.qc-rank li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:6px 0}.qc-rank small{color:var(--muted)}
.qc-be{display:grid;gap:6px;padding:10px 0;border-bottom:1px solid var(--line)}.qc-be input{font:inherit;padding:7px 9px;border:1px solid var(--line);border-radius:8px}
/* écran de salle */
.ecr-qc{display:flex;flex-direction:column;padding:0;color:#fff;font-family:var(--font-body);background:radial-gradient(ellipse 80% 70% at 50% 0%,var(--sc-mid),var(--sc-deep) 75%)}
.qcs-top{display:flex;justify-content:space-between;align-items:center;padding:3vh 4vw 0;font-weight:600;font-size:2.4vh;opacity:.85}.qcs-mini b{letter-spacing:.12em;color:var(--sc-hi)}
.qcs-lobby{flex:1;display:flex;align-items:center;justify-content:center;gap:6vw;padding:0 6vw}
.qcs-qr{background:#fff;border-radius:3vh;padding:2.4vh;box-shadow:0 2vh 5vh rgba(0,0,0,.3)}.qcs-qr svg{width:42vh;height:42vh;display:block}
.qcs-kick{margin:0;color:var(--sc-hi);font-weight:700;font-size:3vh;text-transform:uppercase;letter-spacing:.08em}
.qcs-lobby h1{font-family:var(--font-title);font-weight:600;font-size:9vh;line-height:1;margin:1vh 0 2vh}
.qcs-code{font-size:4vh;margin:0 0 4vh}.qcs-code b{font-family:var(--font-title);letter-spacing:.18em;background:var(--sc-hi);color:var(--sc-hi-ink);border-radius:1.4vh;padding:.4vh 2vh;margin-left:1vh}
.qcs-who{display:flex;flex-wrap:wrap;gap:1.2vh;max-width:70vh}.qcs-who span{background:rgba(255,255,255,.12);border-radius:999px;padding:.8vh 2vh;font-size:2.6vh}.qcs-who b{color:var(--sc-hi2)}
.qcs-q,.qcs-bz,.qcs-rank{flex:1;display:flex;flex-direction:column;justify-content:center;padding:2vh 6vw 6vh}
.qcs-head{display:flex;justify-content:space-between;align-items:center;font-size:3vh;font-weight:600;opacity:.9}
.qcs-t{font-family:var(--font-title);font-size:7vh;color:var(--sc-hi);min-width:10vh;text-align:right}.qcs-t.off{font-size:3.4vh;color:#fff;opacity:.7}
.qcs-q h1,.qcs-bz h1{font-family:var(--font-title);font-weight:600;font-size:7vh;line-height:1.1;margin:2vh 0 3vh;text-wrap:balance}
.qcs-bar{height:1.2vh;background:rgba(255,255,255,.15);border-radius:1vh;overflow:hidden;margin-bottom:3vh}.qcs-bar i{display:block;height:100%;background:var(--sc-hi);transform-origin:left;animation:qcsBar linear forwards}
@keyframes qcsBar{from{transform:scaleX(1)}to{transform:scaleX(0)}}
.qcs-ans{display:grid;grid-template-columns:1fr 1fr;gap:2.4vh}
.qcs-ans div{color:#fff;position:relative;overflow:hidden;display:flex;align-items:center;gap:2vh;background:var(--c);border-radius:2.2vh;padding:2.8vh 3vh;font-size:4.4vh;font-weight:700;min-height:12vh}
.qcs-ans i{font-style:normal;width:7vh;height:7vh;border-radius:50%;background:rgba(255,255,255,.25);display:grid;place-items:center;font-family:var(--font-title)}
.qcs-ans span{flex:1;position:relative;z-index:1}.qcs-ans b{position:relative;z-index:1;font-family:var(--font-title);font-size:5vh}
.qcs-ans u{position:absolute;left:0;bottom:0;height:1.2vh;background:rgba(255,255,255,.7)}
.qcs-ans .ko{opacity:.35}.qcs-ans .ok{box-shadow:0 0 0 .8vh #fff,0 0 6vh rgba(255,255,255,.5)}
.qcs-n{text-align:center;font-size:3vh;opacity:.8;margin:3vh 0 0}
.qcs-go{font-family:var(--font-title);font-size:10vh;text-align:center;margin:4vh 0;color:var(--sc-hi);animation:qcsPulse 1.2s ease-in-out infinite}
@keyframes qcsPulse{50%{transform:scale(1.05)}}
.qcs-win{text-align:center;margin:3vh auto;background:#fff;color:var(--sc-deep);border-radius:4vh;padding:4vh 8vh;box-shadow:0 2vh 6vh rgba(0,0,0,.35);animation:qcsIn .5s cubic-bezier(.2,1.4,.4,1)}
.qcs-win small{display:block;font-weight:700;text-transform:uppercase;letter-spacing:.1em;font-size:3vh;color:var(--sc-mid)}.qcs-win b{display:block;font-family:var(--font-title);font-size:12vh;line-height:1.05}.qcs-win p{margin:1vh 0 0;font-size:4vh}
.qcs-win.hand{background:var(--sc-hi);color:var(--sc-hi-ink)}.qcs-win.hand small{color:inherit;opacity:.75}
@keyframes qcsIn{from{transform:scale(.6);opacity:0}}
.qcs-eq{display:flex;justify-content:center;align-items:flex-end;gap:1.6vh;height:22vh;margin:3vh 0}
.qcs-eq i{width:3vh;background:var(--sc-hi);border-radius:1.5vh;animation:qcsEq .9s ease-in-out infinite alternate}
.qcs-eq i:nth-child(2n){animation-duration:.6s}.qcs-eq i:nth-child(3n){animation-duration:1.2s}.qcs-eq i:nth-child(4n){animation-duration:.75s}
@keyframes qcsEq{from{height:3vh}to{height:22vh}}.qcs-eq.stop i{animation:none;height:3vh}
.qcs-rank h1{font-family:var(--font-title);font-weight:600;font-size:8vh;margin:0 0 3vh;text-align:center}
.qcs-rank ol{list-style:none;margin:0 auto;padding:0;width:min(100%,130vh);display:grid;gap:1.4vh}
.qcs-rank li{display:flex;align-items:center;gap:2.4vh;background:rgba(255,255,255,.1);border-radius:2vh;padding:1.6vh 3vh;font-size:4vh;animation:qcsUp .5s ease both;animation-delay:var(--d)}
.qcs-rank li:first-child{background:var(--sc-hi);color:var(--sc-hi-ink);font-size:5vh}
.qcs-rank em{font-style:normal;font-family:var(--font-title);width:6vh}.qcs-rank span{flex:1;font-weight:700}.qcs-rank b{font-family:var(--font-title)}
@keyframes qcsUp{from{opacity:0;transform:translateY(2vh)}}
/* téléphone */
.qj{max-width:520px;margin:0 auto;padding:12px 4px 40px}
.qj-box{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px;display:grid;gap:14px}
.qj-box h1,.qj-wait h1{font-family:var(--font-title);margin:0;font-size:1.8rem;line-height:1.1}.qj-kick{margin:0;color:var(--muted);font-weight:600}
.qj-box input{font-size:1.1rem}
.qj-l{margin:4px 0 -4px;font-weight:600}
.qj-teams{display:grid;gap:8px}.qj-teams button{border:2px solid var(--c);background:var(--surface);color:var(--ink);border-radius:14px;padding:14px;font:600 1.05rem var(--font-body);cursor:pointer;text-align:left}
.qj-teams button.on{background:var(--c);color:#fff}
.qj-big{padding:16px;font-size:1.1rem}.qj-err{color:#C0392B;margin:0;min-height:1em;font-weight:600}
.qj-me{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 14px;margin-bottom:14px}
.qj-me span{color:var(--muted)}.qj-me em{margin-left:auto;font-style:normal;font-weight:700}
.qj-q{font-family:var(--font-title);font-size:1.4rem;line-height:1.2;margin:4px 0 8px;text-align:center}
.qj-t{text-align:center;font-weight:700;color:var(--muted);margin:0 0 12px}
.qj-ans{display:grid;gap:10px}
.qj-ans button{display:flex;align-items:center;gap:12px;min-height:72px;border:0;border-radius:18px;background:var(--c);color:#fff;font:700 1.15rem var(--font-body);padding:12px 16px;text-align:left;cursor:pointer}
.qj-ans button i{font-style:normal;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.25);display:grid;place-items:center;flex:none;font-family:var(--font-title)}
.qj-ans button:disabled{opacity:.4}.qj-ans button.on{opacity:1;box-shadow:0 0 0 4px var(--ink)}
.qj-buzz{display:block;margin:20px auto;width:min(78vw,300px);aspect-ratio:1;border-radius:50%;border:0;background:radial-gradient(circle at 35% 30%,#ff8a65,#E4352B 60%,#A3231B);color:#fff;font:700 2.4rem var(--font-title);box-shadow:0 12px 0 #7d1a14,0 20px 40px rgba(0,0,0,.25);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.qj-buzz:active,.qj-buzz.on{transform:translateY(8px);box-shadow:0 4px 0 #7d1a14,0 8px 20px rgba(0,0,0,.25)}
.qj-wait{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:28px 22px;text-align:center;display:grid;gap:10px}
.qj-wait p{margin:0;color:var(--muted)}.qj-wait.win{background:#E7F6EE;border-color:#2BAE66}.qj-wait.lose{background:#FCEBEA;border-color:#E4352B}
.qj-top{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px;text-align:left}.qj-top li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:6px 0}
@media (max-width:640px){.qc-ans{grid-template-columns:1fr}}

/* Le Gros Lot */
.gl-fin{display:grid;gap:6px;text-align:center;padding:26px 16px;border-radius:18px;background:var(--bg-soft,#F4F6FA);margin:6px 0}
.gl-fin small{font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.gl-fin b{font-family:var(--font-title);font-size:1.6rem}
.gl-g{margin-left:auto;font-style:normal;font-weight:700;color:var(--muted);padding-left:10px}.gl-g.p{color:var(--primary)}
.gl-pal{display:flex;align-items:center;gap:6px;font-weight:600}
.gls-for{font-weight:700;font-size:clamp(1rem,3vh,1.7rem);color:rgba(255,255,255,.85)}.gls-for b{color:var(--sc-hi2)}
.gls-call{display:flex;align-items:center;gap:2vw;background:rgba(0,0,0,.4);border-radius:2vh;padding:1.4vh 3vw}
.gls-call span{font-family:var(--font-title);font-size:clamp(1rem,3.4vh,2rem);color:#fff}.gls-call b{font-family:'Bungee',var(--font-title);font-size:clamp(1.6rem,7vh,4.4rem);color:var(--sc-hi2)}
.gls-fin{display:grid;gap:1.4vh;text-align:center;color:#fff;padding:5vh 6vw;border-radius:3vh;background:rgba(0,0,0,.35);animation:tvxin .6s cubic-bezier(.3,1.4,.5,1)}
.gls-fin small{font-family:'Bungee',var(--font-title);font-size:clamp(1rem,3.6vh,2.2rem);color:var(--sc-hi2)}
.gls-fin b{font-family:var(--font-title);font-size:clamp(1.6rem,7vh,4.4rem);line-height:1}.gls-fin span{font-size:clamp(1rem,3vh,1.8rem);opacity:.8}
.gls-fin strong{font-family:'Bungee',var(--font-title);font-size:clamp(2.4rem,13vh,8rem);line-height:1;color:var(--sc-hi)}
.gls-fin.gagne strong{animation:tvpulse 1s infinite}
/* Sondage voté par le public */
.tvpub{margin-top:18px}.tvpub-l{display:grid;gap:6px;margin:10px 0 14px}.tvpub-l label{display:flex;gap:8px;align-items:flex-start;font-weight:500}
.tvpub-on{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.tvpub-qr{width:150px;flex:none;background:#fff;padding:8px;border-radius:12px;border:1px solid var(--line)}.tvpub-qr svg,.tvpub-qr img{width:100%;height:auto;display:block}
.tvpub-n{font-family:var(--font-title);font-size:2rem;line-height:1}.tvpub-code{font-family:var(--font-title);letter-spacing:.12em;color:var(--primary)}
.tvs-vote{display:flex;gap:5vw;align-items:center;background:#fff;color:#14223a;border-radius:3vh;padding:4vh 4vw;margin:2vh 0}
.tvs-vote .q{width:30vh;flex:none}.tvs-vote .q svg,.tvs-vote .q img{width:100%;height:auto;display:block}
.tvs-vote h2{font-family:var(--font-title);font-size:clamp(1.4rem,6vh,3.6rem);margin:0 0 1vh;line-height:1.05}.tvs-vote p{margin:0;font-size:clamp(1rem,3vh,1.8rem)}.tvs-vote p b{letter-spacing:.12em;color:var(--sc-hi)}
.sv-q{display:grid;gap:6px}.sv-q b{font-family:var(--font-title);font-size:1.15rem;line-height:1.2}

/* ===== Mini-jeux : liste ===== */
.mgl-h h1{margin:4px 0 2px}.mgl-h p{margin:0 0 16px}
.mgl{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.mgl-c{display:flex;flex-direction:column;border-radius:24px;overflow:hidden;background:var(--surface);border:1px solid var(--line);color:var(--ink);text-decoration:none;box-shadow:0 14px 30px -24px rgba(10,35,66,.45);transition:transform .2s,box-shadow .2s}
.mgl-c:hover{transform:translateY(-3px);box-shadow:0 20px 36px -22px rgba(10,35,66,.5)}
.mgl-c:active{transform:scale(.98)}
.mgl-cov{position:relative;height:150px;display:grid;place-items:center;overflow:hidden;--k1:var(--accent);--k2:var(--primary)}
.mgl-cov::before{content:'';position:absolute;inset:-40%;background:radial-gradient(circle at 30% 30%,rgba(255,255,255,.28),transparent 45%);animation:mglGlow 9s linear infinite}
@keyframes mglGlow{to{transform:rotate(360deg)}}
.mgl-cov>svg,.mgl-cov>div{position:relative;width:118px;height:118px;filter:drop-shadow(0 8px 14px rgba(0,0,0,.25));animation:mglBob 3.2s ease-in-out infinite}
.mgl-cov img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@keyframes mglBob{50%{transform:translateY(-6px) rotate(-2deg)}}
.mgl-trio{display:flex!important;gap:4px;align-items:center;width:auto!important}.mgl-trio svg{width:54px;height:54px;background:#fff;border-radius:14px;padding:6px}
.mgl-one svg{width:100%;height:100%}
.c1 .mgl-cov{background:#1E5C8A}
.c2 .mgl-cov{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 60%,var(--accent)))}
.c3 .mgl-cov{background:linear-gradient(180deg,#FBF3E4,#F4A76A)}.mgl-ro{width:auto!important;height:150px!important;animation:none!important;filter:none!important}.mgl-ro .ro-bull{height:150px;width:auto}
.c4 .mgl-cov{background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 55%,#E8483B))}
.c5 .mgl-cov{background:#FBF3E4 repeating-linear-gradient(0deg,rgba(240,115,47,.18) 0 16px,transparent 16px 32px),repeating-linear-gradient(90deg,rgba(240,115,47,.18) 0 16px,transparent 16px 32px)}.mgl-cov .me-art{display:flex;gap:8px;width:auto!important;height:auto!important}.mgl-cov .me-art svg{width:58px;height:58px;background:#fff;border:3px solid #0A2342;border-radius:12px;box-shadow:0 4px 0 #0A2342;padding:5px}
.c6 .mgl-cov{background:linear-gradient(180deg,#FBF3E4,#F3D9B1)}
.mgl-p{position:absolute;left:12px;bottom:10px;font-size:.78rem;font-weight:700;color:#fff;background:rgba(0,0,0,.32);padding:4px 10px;border-radius:999px;backdrop-filter:blur(4px)}
.mgl-new{position:absolute;right:12px;top:12px;font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:#FFD25A;color:#3a2a00;padding:4px 10px;border-radius:999px;transform:rotate(4deg)}
.mgl-b{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.mgl-b h2{margin:0;font-family:var(--font-title);font-size:1.3rem}.mgl-b p{margin:0;color:var(--muted);font-size:.92rem;flex:1}
.mgl-f{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
.mgl-r{font-size:.8rem;font-weight:700;color:var(--accent-ink,var(--accent));background:color-mix(in srgb,var(--accent) 12%,transparent);padding:4px 10px;border-radius:999px}
.mgl-go{font-weight:700;background:var(--primary);color:var(--on-primary);padding:9px 20px;border-radius:999px}

/* ===== Mini-jeux : cadre plein écran ===== */
body.mg-on{overflow:hidden}
.mg{position:fixed;inset:0;z-index:80;display:flex;flex-direction:column;color:#fff;overflow:hidden;font-family:var(--font-body);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.mg-top{position:relative;z-index:5;display:flex;align-items:center;gap:12px;padding:max(10px,env(safe-area-inset-top)) 14px 10px}
.mg-top b{font-family:var(--font-title);font-size:1.2rem;flex:1}
.mg-back{width:42px;height:42px;border-radius:50%;border:0;background:rgba(255,255,255,.16);color:#fff;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(6px)}.mg-back svg{width:22px;height:22px}
.mg-rec{font-size:.8rem;font-weight:700;background:rgba(0,0,0,.25);padding:5px 12px;border-radius:999px}.mg-rec:empty{display:none}
.mg-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}
.mg-cta{border:0;border-radius:999px;padding:16px 28px;font:700 1.1rem var(--font-body);background:#FFD25A;color:#2b1d00;box-shadow:0 6px 0 #C79A1E,0 14px 24px rgba(0,0,0,.25);cursor:pointer;transition:transform .1s,box-shadow .1s}
.mg-cta:active{transform:translateY(4px);box-shadow:0 2px 0 #C79A1E,0 6px 12px rgba(0,0,0,.25)}
.mg-cta:disabled{opacity:.45}.mg-cta.sm{padding:12px 18px;font-size:1rem;box-shadow:0 4px 0 #C79A1E}
.mg-rip{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;background:rgba(255,255,255,.55);pointer-events:none;animation:mgRip .6s ease-out forwards}
@keyframes mgRip{to{transform:scale(14);opacity:0}}
.mg-conf{position:absolute;top:-10px;width:9px;height:14px;border-radius:2px;pointer-events:none;z-index:9;animation:mgConf 2s cubic-bezier(.2,.6,.4,1) forwards}
@keyframes mgConf{to{transform:translate(var(--x),110vh) rotate(var(--r));opacity:.9}}

/* ===== Le Duel ===== */
.mg-duel{background:#0E1626}
.mg-duel .mg-top{position:absolute;left:0;right:0;top:0;background:none}
.mg-duel .mg-body{display:grid;grid-template-rows:1fr auto 1fr}
.du-half{position:relative;overflow:hidden;display:grid;place-items:center;cursor:pointer;transition:background .25s;--c:var(--primary)}
.du-half.top{--c:var(--accent);transform:rotate(180deg)}
.du-half{background:radial-gradient(circle at 50% 120%,color-mix(in srgb,var(--c) 85%,#fff),var(--c) 55%,color-mix(in srgb,var(--c) 60%,#000))}
.du-in{display:grid;justify-items:center;gap:10px;text-align:center;padding:20px;pointer-events:none}
.du-name{font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;opacity:.85}
.du-pips{display:flex;gap:10px}.du-pips i{width:16px;height:16px;border-radius:50%;border:3px solid rgba(255,255,255,.7)}.du-pips i.on{background:#FFD25A;border-color:#FFD25A;box-shadow:0 0 12px #FFD25A}
.du-msg{font-family:var(--font-title);font-size:clamp(1.8rem,9vw,3.4rem);line-height:1}
.du-sub{opacity:.8;min-height:1.2em}
.du-mid{display:grid;place-items:center;height:54px;background:#0E1626;font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:.85rem;position:relative;z-index:2}
.du-mid span{background:rgba(255,255,255,.1);padding:8px 16px;border-radius:999px}
.mg-duel .mg-body[data-s=arme] .du-half{background:#1B2436}
.mg-duel .mg-body[data-s=arme] .du-msg{animation:duPulse 1s ease-in-out infinite}
@keyframes duPulse{50%{opacity:.45}}
.mg-duel .mg-body[data-s=go] .du-half{background:radial-gradient(circle,#FFF7D6,#FFD25A 60%,#F0A21E);color:#2b1d00}
.mg-duel .mg-body[data-s=go] .du-msg{animation:duGo .3s cubic-bezier(.3,1.6,.5,1)}
@keyframes duGo{from{transform:scale(.4)}}
.du-half.win{background:radial-gradient(circle at 50% 120%,#5FE08F,#22A35A 60%,#0F6B37)!important}
.du-half.lose{filter:saturate(.3) brightness(.7)}
.du-half.fault{background:radial-gradient(circle,#FF8A7A,#D7372A 60%,#8E1A12)!important;animation:duShake .4s}
.du-half.champ{background:radial-gradient(circle at 50% 120%,#FFE48A,#F2B632 55%,#B07812)!important;color:#2b1d00}
.du-half.champ .du-msg{animation:duGo .5s cubic-bezier(.3,1.6,.5,1)}
@keyframes duShake{25%{transform:rotate(180deg) translateX(-10px)}75%{transform:rotate(180deg) translateX(10px)}}
.du-half.bot.fault{animation:duShakeB .4s}@keyframes duShakeB{25%{transform:translateX(-10px)}75%{transform:translateX(10px)}}

/* ===== Mini-jeux : habillage commun (carte de départ, décompte, fin) ===== */
.mg{--mi:#0A2342;--mo:#F0732F;--mc:#FBF3E4}
.mg .mg-cta{background:var(--mo);color:#fff;border:3px solid var(--mi);box-shadow:0 6px 0 var(--mi);font-family:var(--font-title);font-weight:600;letter-spacing:.01em}
.mg .mg-cta:active{transform:translateY(4px);box-shadow:0 2px 0 var(--mi)}
.mgk{position:absolute;inset:0;z-index:20;display:grid;place-items:center;align-content:safe center;overflow-y:auto;padding:18px;background:rgba(10,35,66,.42);backdrop-filter:blur(3px);animation:mgkIn .25s}
.mgk.out{animation:mgkOut .25s forwards}
@keyframes mgkIn{from{opacity:0}}@keyframes mgkOut{to{opacity:0}}
.mgk-card{position:relative;width:min(100%,380px);background:var(--mc);color:var(--mi);border:3px solid var(--mi);border-radius:28px;box-shadow:0 10px 0 var(--mi);padding:22px 22px 24px;text-align:center;display:grid;gap:12px;animation:mgkCard .45s cubic-bezier(.2,1.4,.4,1)}
@keyframes mgkCard{from{transform:translateY(40px) scale(.9);opacity:0}}
.mgk-card h2{margin:0;font-family:var(--font-title);font-size:1.9rem;line-height:1.05}
.mgk-art{height:130px;display:grid;place-items:center;margin-top:-6px}.mgk-art>svg{height:130px;width:auto;max-width:100%;overflow:visible}.mgk-art.sm{height:84px}.mgk-art.sm>svg{height:84px}
.sq-ko{display:none}
.mgk-art img{height:100%;width:auto}
.mgk-rules{margin:0;padding:0;list-style:none;counter-reset:r;display:grid;gap:8px;text-align:left}
.mgk-rules li{counter-increment:r;display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;font-weight:600;line-height:1.3}
.mgk-rules li::before{content:counter(r);width:28px;height:28px;border-radius:50%;background:var(--mi);color:var(--mc);display:grid;place-items:center;font:600 .9rem var(--font-title)}
.mgk-rec{margin:0;display:inline-flex;gap:6px;align-items:center;justify-content:center;font-weight:700;color:var(--mo)}.mgk-rec svg{width:20px;height:20px}
.mgk .mg-cta{justify-self:center;min-width:70%;font-size:1.25rem}
.mgk-kick{margin:0;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;opacity:.7}
.mgk-big{display:flex;align-items:baseline;justify-content:center;gap:8px}.mgk-big b{font-family:var(--font-title);font-size:4.2rem;line-height:1;color:var(--mo);-webkit-text-stroke:2px var(--mi)}.mgk-big span{font-weight:700;font-size:1.1rem}
.mgk-stars{display:flex;justify-content:center;gap:6px}.mgk-stars i{width:46px;height:46px}.mgk-stars svg{width:100%;height:100%;fill:#E2D6C0;stroke:var(--mi);stroke-width:1.6;stroke-linejoin:round}
.mgk-stars i.on svg{fill:#FFC93C;animation:mgkStar .5s cubic-bezier(.3,1.8,.5,1) both;animation-delay:var(--d)}@keyframes mgkStar{from{transform:scale(0) rotate(-90deg)}}
.mgk-msg{margin:0;font-weight:600;font-size:1.05rem}
.mgk-ribbon{position:absolute;top:-16px;left:50%;transform:translateX(-50%) rotate(-3deg);background:#FFC93C;color:var(--mi);border:3px solid var(--mi);border-radius:10px;padding:5px 16px;font:600 1rem var(--font-title);white-space:nowrap;animation:mgkStar .6s .3s cubic-bezier(.3,1.8,.5,1) both}
.mgk-btns{display:grid;gap:8px;justify-items:center}
.mgk-back{border:0;background:none;color:var(--mi);font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:8px;cursor:pointer}
.mgk-cd{position:absolute;inset:0;z-index:20;display:grid;place-items:center;pointer-events:auto}
.mgk-cd b{font-family:var(--font-title);font-size:min(30vw,9rem);color:var(--mc);-webkit-text-stroke:4px var(--mi);text-shadow:0 8px 0 var(--mi);animation:mgkCd .6s cubic-bezier(.3,1.6,.5,1)}
@keyframes mgkCd{from{transform:scale(2.4);opacity:0}}
.mg-float{position:absolute;left:50%;top:10%;z-index:6;transform:translateX(-50%);font-family:var(--font-title);font-size:1.7rem;color:var(--mc);-webkit-text-stroke:2px var(--mi);pointer-events:none;white-space:nowrap;animation:mgFl .9s ease-out forwards}
.mg-float.gold{color:#FFC93C;font-size:2.1rem}.mg-float.ko{color:#FF8A7A}
@keyframes mgFl{0%{opacity:0;transform:translate(-50%,10px) scale(.6)}20%{opacity:1;transform:translate(-50%,-6px) scale(1.15)}100%{opacity:0;transform:translate(-50%,-50px) scale(1)}}
.mg.shake .mg-body{animation:roShake .35s}
@keyframes roShake{20%{transform:translate(-8px,4px)}40%{transform:translate(8px,-4px)}60%{transform:translate(-6px,2px)}80%{transform:translate(6px,0)}}

/* ===== Attrape l'écureuil : décor illustré, terriers placés sur l'image ===== */
.mg-taupe{background:#3E5A2C;color:var(--mi)}
.mg-taupe .mg-top{color:var(--mc)}.mg-taupe .mg-back{background:var(--mc);color:var(--mi);border:2.5px solid var(--mi)}.mg-taupe .mg-rec{background:var(--mi);color:var(--mc)}
.mg-taupe .mg-body{display:grid;place-items:center}
.tp-scene::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:radial-gradient(ellipse 85% 75% at 50% 45%,transparent 55%,rgba(20,14,6,.45)),linear-gradient(180deg,rgba(255,196,120,.18),transparent 40%,rgba(40,25,10,.18));mix-blend-mode:multiply}
.tp-scene::before{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}
.tp-crit img{filter:saturate(.88) brightness(.97) drop-shadow(0 4px 3px rgba(30,18,6,.35))}
.tp-h.up::before{content:'';position:absolute;left:15%;right:15%;bottom:-6%;height:30%;z-index:3;pointer-events:none;background:radial-gradient(circle,#7A4E26 2px,transparent 3px) 10% 60%/22% 50%,radial-gradient(circle,#5C3A1C 1.5px,transparent 2.5px) 60% 30%/18% 45%;animation:tpDirt .45s ease-out forwards}@keyframes tpDirt{from{opacity:1;transform:translateY(0) scale(.6)}to{opacity:0;transform:translateY(-40%) scale(1.3)}}
.tp-scene{position:relative;width:min(100%,calc((100dvh - 64px) * .5629));aspect-ratio:900/1599;background:url(img/jeux/tp-decor.webp?v=7c3968e2) center/cover;border-radius:18px;overflow:hidden;box-shadow:0 0 0 3px var(--mi)}
@media (max-width:520px){.tp-scene{border-radius:0;box-shadow:none}}
.tp-hud{position:absolute;left:0;right:0;top:10px;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 12px}
.tp-score{background:var(--mc);border:3px solid var(--mi);border-radius:18px;box-shadow:0 5px 0 var(--mi);padding:6px 16px;text-align:center}
.tp-score small{display:block;font-weight:800;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}.tp-score b{font-family:var(--font-title);font-size:2.1rem;line-height:1}
.tp-combo{font:600 1.3rem var(--font-title);color:var(--mc);background:var(--mo);border:3px solid var(--mi);border-radius:999px;padding:4px 14px;opacity:0;transform:scale(.5);transition:.25s cubic-bezier(.3,1.6,.5,1)}.tp-combo.on{opacity:1;transform:scale(1) rotate(-4deg)}
.tp-time{position:relative;width:64px;height:64px;display:grid;place-items:center;background:var(--mc);border:3px solid var(--mi);border-radius:50%;box-shadow:0 5px 0 var(--mi)}
.tp-time svg{position:absolute;inset:3px;transform:rotate(-90deg)}.tp-tr,.tp-tf{fill:none;stroke-width:6}.tp-tr{stroke:#E8D9BF}.tp-tf{stroke:var(--mo);stroke-dasharray:125.7;stroke-linecap:round;transition:stroke-dashoffset .2s linear}
.tp-time b{position:relative;font:600 1.4rem var(--font-title)}
.mg-taupe.hurry .tp-time{animation:tpHurry .5s ease-in-out infinite alternate}.mg-taupe.hurry .tp-tf{stroke:#E8483B}@keyframes tpHurry{to{transform:scale(1.1)}}
.tp-h{position:absolute;aspect-ratio:1/.9;transform:translate(-50%,-100%);cursor:pointer;touch-action:manipulation;z-index:2}
.tp-h::after{content:'';position:absolute;left:8%;right:8%;top:100%;height:30%}
.tp-clip{position:absolute;left:-10%;right:-10%;top:-40%;bottom:0;overflow:hidden;pointer-events:none}
.tp-crit{position:absolute;left:9%;right:9%;bottom:-2%;transform:translateY(105%);transition:transform .16s cubic-bezier(.3,1.4,.5,1)}
.tp-crit img,.tp-crit svg{display:block;width:100%;height:auto;margin:0 auto}
.tp-crit.k-he img{width:96%}.tp-crit.k-co img{width:62%;margin-bottom:6%}
.tp-h.up .tp-crit{transform:translateY(0)}
.tp-h.hit .sq-eyes{display:none}.tp-h.hit .sq-ko{display:inline}.tp-h.hit .tp-crit{transform:translateY(10%) rotate(-6deg);transition-duration:.1s}
.tp-h.ouch .tp-crit{animation:tpOuch .3s}@keyframes tpOuch{30%{transform:scale(1.15)}}
.tp-h.miss .tp-clip{animation:tpMiss .25s}@keyframes tpMiss{50%{transform:scale(.94)}}
.tp-h .mg-float{top:-10%}
.mgk-art img{height:130px;width:auto}

/* ===== Le memory ===== */
.mg-memory{background:#FBF3E4;color:var(--mi)}
.mg-memory::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(240,115,47,.16) 0 22px,transparent 22px 44px),repeating-linear-gradient(90deg,rgba(240,115,47,.16) 0 22px,transparent 22px 44px);pointer-events:none}
.mg-memory .mg-top{color:var(--mi)}.mg-memory .mg-back{background:var(--mc);color:var(--mi);border:2.5px solid var(--mi)}.mg-memory .mg-rec{background:var(--mi);color:var(--mc)}
.me-hud{position:relative;display:flex;justify-content:center;gap:10px;padding:4px 14px 12px}
.me-hud div{background:var(--mc);border:3px solid var(--mi);border-radius:16px;box-shadow:0 4px 0 var(--mi);padding:4px 14px;text-align:center;min-width:84px}
.me-hud small{display:block;font-weight:800;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.me-hud b{font:600 1.5rem var(--font-title)}
.me-grid{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:4px 14px max(18px,env(safe-area-inset-bottom));width:min(100%,460px,calc(100dvh - 210px));margin:6px auto auto;align-content:start}
.me-c{border:0;padding:0;background:none;perspective:700px;cursor:pointer;aspect-ratio:1;animation:meDeal .4s both;animation-delay:var(--d)}
@keyframes meDeal{from{transform:translateY(-30px) rotate(-10deg);opacity:0}}
.me-in{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .38s cubic-bezier(.3,1.3,.5,1)}
.me-c.up .me-in{transform:rotateY(180deg)}
.me-f{position:absolute;inset:0;display:grid;place-items:center;border-radius:14px;border:3px solid var(--mi);box-shadow:0 4px 0 var(--mi);backface-visibility:hidden;-webkit-backface-visibility:hidden}
.me-back{background:var(--mi) url(img/jeux/mem-dos.webp?v=02dd5073) center/cover}.me-logo{width:58%;aspect-ratio:1;border-radius:50%;background:var(--mc);border:3px solid var(--mo);display:grid;place-items:center}.me-logo img{width:70%;height:auto}
.me-front{background:#fff;transform:rotateY(180deg)}.me-front svg{width:78%;height:78%}
.me-c.ok .me-front{background:#FFE3CE;animation:meOk .5s}@keyframes meOk{40%{transform:rotateY(180deg) scale(1.12)}}
.me-c.ok{pointer-events:none}
.me-c.no .me-front{animation:meNo .35s}@keyframes meNo{25%{transform:rotateY(180deg) translateX(-6px)}75%{transform:rotateY(180deg) translateX(6px)}}
.me-c .mg-float{top:-20%;font-size:1.2rem}
.me-front img{width:100%;height:100%;object-fit:cover;border-radius:11px}.me-front{padding:0;overflow:hidden}
.me-art img{width:72px;height:72px;object-fit:cover;background:#fff;border:3px solid var(--mi);border-radius:14px;box-shadow:0 4px 0 var(--mi)}.me-art img:nth-child(2){transform:rotate(6deg) translateY(-6px)}.me-art img:first-child{transform:rotate(-6deg)}
.me-grid[data-n="6"]{width:min(100%,400px,calc((100dvh - 210px) * 1.33))}.me-grid[data-n="10"],.me-grid[data-n="12"]{width:min(100%,460px,calc((100dvh - 210px) * .8))}
.mgk-rec:empty{display:none}
.mgk-lv{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.mgk-lv button{border:2.5px solid var(--mi);background:#fff;color:var(--mi);border-radius:14px;padding:6px 12px;cursor:pointer;display:grid;line-height:1.15;font:inherit}.mgk-lv b{font-family:var(--font-title);font-weight:600}.mgk-lv small{font-size:.75rem;font-weight:700;opacity:.75}.mgk-lv button.on{background:var(--mi);color:var(--mc)}

.me-art{display:flex;gap:8px}.me-art svg{width:72px;height:72px;background:#fff;border:3px solid var(--mi);border-radius:14px;box-shadow:0 4px 0 var(--mi);padding:6px}.me-art svg:nth-child(2){transform:rotate(6deg) translateY(-6px)}.me-art svg:first-child{transform:rotate(-6deg)}


/* ===== La pétanque ===== */
.mg-boules{background:#3E5A2C;color:var(--mc)}
.mg-boules .mg-back{background:var(--mc);color:var(--mi);border:2.5px solid var(--mi)}.mg-boules .mg-rec{background:var(--mi);color:var(--mc)}
.bl-hud{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;padding:0 12px 8px}
.bl-sc{background:var(--mc);color:var(--mi);border:3px solid var(--mi);border-radius:16px;box-shadow:0 4px 0 var(--mi);padding:4px 10px;display:grid;justify-items:center;line-height:1.05;min-width:0}
.bl-sc small{font-weight:800;font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bl-sc b{font:600 1.8rem var(--font-title)}.bl-sc.a b{color:var(--mo)}.bl-sc.b b{color:#3C82B4}
.bl-sc i{display:flex;gap:3px;margin-top:2px}.bl-sc u{width:8px;height:8px;border-radius:50%;background:var(--mi)}.bl-sc u.off{background:#D8CFBF}
.mg-boules[data-team="0"] .bl-sc.a,.mg-boules[data-team="1"] .bl-sc.b{transform:translateY(-2px);box-shadow:0 4px 0 var(--mi),0 0 0 4px #FFC93C}
.bl-mid{text-align:center;display:grid}.bl-mid small{font-weight:800;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;opacity:.85}.bl-mid b{font:600 1rem var(--font-title)}
.bl-wrap{position:relative;flex:1;min-height:0;touch-action:none;background:#3E5A2C}.bl-wrap canvas{position:absolute;inset:0;max-width:none;margin:0;border-radius:0;background:transparent}
.bl-turn{position:absolute;left:0;right:0;top:40%;text-align:center;font:600 clamp(1.4rem,7vw,2.2rem) var(--font-title);color:var(--mc);-webkit-text-stroke:2.5px var(--mi);text-shadow:0 5px 0 var(--mi);opacity:0;pointer-events:none;padding:0 16px}
.bl-turn.go{animation:roPop 1.6s cubic-bezier(.3,1.5,.5,1) forwards}
.bl-ctl{display:grid;justify-items:center;gap:6px;padding:8px 14px max(14px,env(safe-area-inset-bottom))}
.bl-ctl p{margin:0;font-weight:600;font-size:.9rem;text-align:center;opacity:.92}
.bl-mode{display:flex;background:var(--mc);border:3px solid var(--mi);border-radius:999px;box-shadow:0 4px 0 var(--mi);padding:3px}
.bl-mode button{border:0;background:none;border-radius:999px;padding:8px 16px;font:600 1.05rem var(--font-title);color:var(--mi);cursor:pointer}.bl-mode button.on{background:var(--mo);color:#fff}
.bl-on{max-width:420px}.bl-on h2{margin-bottom:4px}.bl-sub{margin:0 0 12px;color:var(--mi);opacity:.8;font-size:.92rem;line-height:1.35}
.bl-f{display:grid;gap:4px;text-align:left;margin:0 0 12px;font-weight:600;font-size:.9rem}.bl-f input,.bl-join input{font:inherit;font-size:1.05rem;border:2.5px solid var(--mi);border-radius:12px;padding:10px 12px;background:#fff;color:var(--mi);width:100%;box-sizing:border-box}
.bl-or{display:flex;align-items:center;gap:10px;margin:12px 0;color:var(--mi);opacity:.6;font-size:.85rem}.bl-or::before,.bl-or::after{content:"";flex:1;height:2px;background:currentColor;opacity:.35}
.bl-join{display:flex;gap:8px}.bl-join input{text-transform:uppercase;letter-spacing:.3em;text-align:center;font:600 1.4rem var(--font-title);min-width:0}.bl-join .mg-cta{flex:none;width:auto;padding-inline:16px}.bl-join{display:grid!important;grid-template-columns:minmax(0,1fr) auto}.bl-join input{width:100%;min-width:0;font-size:1.3rem;letter-spacing:.2em;padding:10px 2px 10px calc(2px + .2em)}.bl-on{width:100%;box-sizing:border-box;min-width:0}
.bl-err{min-height:1.2em;margin:8px 0 0;color:#C2410C;font-weight:600;font-size:.9rem}
.bl-code{display:flex;gap:14px;align-items:center;text-align:left;margin:6px 0 14px}.bl-code .pqqr{width:104px;flex:none;margin:0;background:#fff;padding:6px;border-radius:10px;border:2.5px solid var(--mi)}.bl-code small{display:block;font-size:.8rem;opacity:.75}.bl-code b{display:block;font:600 2.6rem/1.05 var(--font-title);letter-spacing:.12em;color:var(--mo)}
.bl-tms{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.bl-tm{border:2.5px solid var(--mi);border-radius:14px;padding:8px;display:grid;gap:4px;background:#fff}.bl-tm>b{font-family:var(--font-title);font-weight:600;color:#F0732F}.bl-tm.b>b{color:#3C82B4}
.bl-tm span{font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bl-tm span.vide{opacity:.45;font-weight:400;font-style:italic}.bl-tm span.moi{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}
.bl-wait{margin:12px 0 0;font-weight:600;opacity:.8}
.bl-stk .mgk-card{max-width:420px}.bl-st4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 12px}.bl-st4 div{border:2.5px solid var(--mi);border-radius:12px;background:#fff;padding:6px 2px;display:grid;line-height:1.1}.bl-st4 b{font:600 1.25rem var(--font-title);color:var(--mo)}.bl-st4 small{font-size:.68rem;font-weight:600;opacity:.8}
.bl-stt{width:100%;border-collapse:collapse;font-size:.9rem;margin-bottom:10px}.bl-stt th{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;opacity:.7;text-align:center;padding:2px}.bl-stt th:first-child,.bl-stt td:first-child{text-align:left}.bl-stt td{padding:5px 2px;border-top:1.5px solid rgba(10,35,66,.15);text-align:center;font-weight:600}.bl-stt td small{font-weight:400;opacity:.7}
.bl-stl{list-style:none;margin:0 0 10px;padding:0;font-size:.88rem;text-align:left}.bl-stl li{display:flex;justify-content:space-between;gap:10px;padding:4px 0;border-top:1.5px solid rgba(10,35,66,.12)}.bl-stl b{white-space:nowrap}
.bl-stb{margin-top:10px}
.bl-res{position:absolute;inset:0;z-index:20;display:grid;place-items:end center;padding:18px 18px max(24px,env(safe-area-inset-bottom));background:linear-gradient(transparent 40%,rgba(10,35,66,.45));animation:mgkIn .25s}
.bl-res h2{font-size:1.4rem!important}
.bl-score{display:flex;justify-content:space-between;gap:10px;font-weight:700}.bl-score b{font:600 2rem var(--font-title);color:var(--mo)}.bl-score span:last-child b{color:#3C82B4}
.bl-opt small{white-space:nowrap}
.bl-pnj img{width:52px;height:52px;object-fit:contain;justify-self:center}
.mg-boules .mg-top{padding-bottom:6px}.bl-opt[hidden]{display:none!important}
.mg-boules .bl-hud{padding:0 10px 6px}.mg-boules .bl-sc{padding:2px 8px;border-width:2.5px;box-shadow:0 3px 0 var(--mi);border-radius:14px}.mg-boules .bl-sc b{font-size:1.45rem}
.mg-boules .bl-wrap{margin:0 4px max(6px,env(safe-area-inset-bottom))}
.bl-wrap .bl-mode{position:absolute;z-index:3;flex-direction:column;border-radius:16px;padding:3px;gap:2px;box-shadow:0 3px 0 var(--mi)}
.bl-wrap .bl-mode button{padding:6px 12px;font-size:.92rem;border-radius:12px;text-align:left}
.bl-help{position:absolute;z-index:3;left:50%;transform:translateX(-50%);margin:0;padding:4px 12px;border-radius:999px;background:rgba(10,35,66,.78);color:var(--mc);font-weight:600;font-size:.8rem;line-height:1.25;text-align:center;pointer-events:none;width:max-content}

.mg-boules .bl-ctl{gap:4px;padding:6px 10px max(10px,env(safe-area-inset-bottom))}.mg-boules .bl-ctl p{font-size:.82rem;line-height:1.25}
.mg-boules .bl-mode button{padding:6px 14px;font-size:.98rem}
.bl-sc.b{position:relative}.bl-sc.has-av{padding-left:44px}.bl-av{position:absolute;left:5px;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;object-fit:cover;object-position:50% 12%;background:var(--mc);border:2.5px solid var(--mi);filter:none}

.c7 .mgl-cov{background:linear-gradient(180deg,#FBF3E4,#E9D2A8)}

/* ===== Le Rodéo ===== */
.mg-rodeo{background:linear-gradient(rgba(10,35,66,.38),rgba(10,35,66,.22) 55%,rgba(10,35,66,.12)),url(img/jeux/ro-arena.webp?v=e1e9debd) center bottom/cover,#F3D9B1;color:var(--mi);--buck:1}
.ro-img{position:relative;width:min(92vw,440px,calc((100dvh - 360px) * 1.09));aspect-ratio:900/824}.ro-img .ro-b{position:absolute;inset:0;transform-origin:80% 96%}
.ro-bi2{position:absolute;inset:0;width:100%;height:auto;opacity:0}.ro-stage.thrown .ro-bi{opacity:0}.ro-stage.thrown .ro-bi2{opacity:1}
.ro-fall{position:absolute;left:-2%;top:-6%;width:52%;opacity:0;pointer-events:none}.ro-stage.thrown .ro-fall{animation:roFall 1.5s cubic-bezier(.3,.7,.4,1) forwards}
@keyframes roFall{0%{opacity:1;transform:none}40%{opacity:1;transform:translate(-25%,-55%) rotate(-25deg)}100%{opacity:0;transform:translate(-55%,45%) rotate(-75deg)}}.ro-bi{display:block;width:100%;height:auto}
.ro-seat{position:absolute;left:29%;top:-16%;width:35%;transform:rotate(12deg)}
.ro-puff{position:absolute;left:62%;top:88%;width:34%;height:16%;border-radius:50%;background:radial-gradient(ellipse at 30% 60%,rgba(251,243,228,.95),transparent 60%),radial-gradient(ellipse at 70% 55%,rgba(243,217,177,.9),transparent 62%);opacity:0;pointer-events:none}
.mg-rodeo[data-s=on] .ro-puff{animation:roPuff calc(1.3s / var(--buck)) ease-out infinite}@keyframes roPuff{0%,40%{opacity:0;transform:scale(.6)}55%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.3) translateY(-6px)}}.ro-img .ro-rider{display:block;width:100%;height:auto;transform-origin:50% 62%}
.ro-art .ro-img{width:auto;height:150px}
.mg-rodeo .mg-top{color:var(--mc)}.mg-rodeo .mg-back{background:var(--mc);color:var(--mi);border:2.5px solid var(--mi)}.mg-rodeo .mg-rec{background:var(--mi);color:var(--mc)}
.ro-sky{position:absolute;inset:0;background:linear-gradient(180deg,#FBF3E4 0%,#F9D9A9 30%,#F4A76A 52%)}
.ro-sun{position:absolute;left:50%;top:21%;width:150px;height:150px;margin-left:-75px;border-radius:50%;background:var(--mo);border:3px solid var(--mi);box-shadow:0 0 0 14px rgba(240,115,47,.18),0 0 0 30px rgba(240,115,47,.1)}
.ro-scene{position:absolute;left:0;right:0;bottom:0;width:100%;height:70%}
.ro-dust{position:absolute;left:-10%;right:-10%;bottom:24%;height:90px;background:radial-gradient(ellipse at 30% 60%,rgba(255,236,200,.8),transparent 60%),radial-gradient(ellipse at 70% 50%,rgba(255,236,200,.6),transparent 60%);filter:blur(5px);opacity:0;transition:opacity .4s}
.mg-rodeo[data-s=on] .ro-dust{opacity:1;animation:roDust 1.4s ease-in-out infinite alternate}@keyframes roDust{to{transform:translateX(30px)}}
.ro-hud{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:0 16px}
.ro-lives{display:flex;gap:6px;background:var(--mc);border:3px solid var(--mi);border-radius:18px;box-shadow:0 5px 0 var(--mi);padding:6px 10px}.ro-lives span{width:32px;color:var(--mo);transition:.3s}.ro-lives span.off{color:#D8CFBF;transform:rotate(25deg) scale(.85);opacity:.6}.ro-lives svg{width:100%;display:block}
.ro-sc{background:var(--mc);border:3px solid var(--mi);border-radius:18px;box-shadow:0 5px 0 var(--mi);padding:6px 16px;text-align:center}
.ro-sc small{display:block;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.ro-sc b{font-family:var(--font-title);font-size:2.1rem;line-height:1}
.ro-stage{position:relative;flex:1;min-height:0;display:grid;place-items:end center;padding-bottom:2vh}
.ro-bull{width:min(88vw,430px);height:auto;overflow:visible}
.ro-sh{fill:rgba(10,35,66,.25)}
.ro-b{transform-origin:160px 200px}
.mg-rodeo[data-s=on] .ro-b{animation:roBuck calc(1.3s / var(--buck)) ease-in-out infinite}
@keyframes roBuck{0%,100%{transform:rotate(0)}25%{transform:rotate(calc(-6deg * var(--buck))) translateY(-10px)}55%{transform:rotate(calc(5deg * var(--buck))) translateY(-24px)}80%{transform:rotate(-2deg)}}
.ro-rider{transform-origin:156px 80px}
.mg-rodeo[data-s=on] .ro-rider{animation:roRide calc(1.3s / var(--buck)) ease-in-out infinite}
@keyframes roRide{30%{transform:rotate(8deg)}60%{transform:rotate(-10deg) translateY(-6px)}}
.ro-stage.hit .ro-bull{animation:roHit .35s}@keyframes roHit{40%{transform:scale(1.05)}}
.ro-stage.thrown .ro-rider{animation:roThrow 1.4s cubic-bezier(.3,.7,.4,1) forwards}
@keyframes roThrow{40%{transform:translate(-110px,-180px) rotate(-220deg)}100%{transform:translate(-200px,60px) rotate(-400deg);opacity:0}}
.ro-pop{position:absolute;top:4%;left:0;right:0;text-align:center;font-family:var(--font-title);font-size:clamp(1.8rem,9vw,3rem);color:var(--mc);-webkit-text-stroke:2.5px var(--mi);text-shadow:0 5px 0 var(--mi);opacity:0;pointer-events:none}
.ro-pop.go{animation:roPop .9s cubic-bezier(.3,1.5,.5,1) forwards}.ro-pop.ko{color:#FF8A7A}.ro-pop.gold{color:#FFC93C}.ro-pop.end{color:var(--mo);animation-duration:1.6s}
@keyframes roPop{0%{opacity:0;transform:scale(.4) rotate(-6deg)}25%{opacity:1;transform:scale(1.1) rotate(3deg)}70%{opacity:1;transform:scale(1)}100%{opacity:0;transform:translateY(-30px)}}
.ro-ctl{position:relative;z-index:2;display:grid;justify-items:center;gap:6px;padding:4px 20px max(18px,env(safe-area-inset-bottom))}
.ro-dial{width:min(80vw,320px);height:auto;background:var(--mc);border:3px solid var(--mi);border-bottom-width:0;border-radius:170px 170px 0 0;box-shadow:0 6px 0 var(--mi);padding:10px 10px 0;overflow:visible}
.ro-arc{fill:none;stroke:#E8D9BF;stroke-width:26;stroke-linecap:round}
.ro-zone{fill:none;stroke:var(--mo);stroke-width:26;transition:d .3s}
.ro-perf{fill:none;stroke:#FFC93C;stroke-width:26}
.ro-nd{fill:var(--mi);stroke:var(--mi);stroke-width:2;stroke-linejoin:round}.ro-ntip{fill:var(--mo)}.ro-needle circle{fill:var(--mi)}.ro-needle .ro-hub{fill:var(--mo)}.ro-ticks path{stroke:var(--mi);stroke-width:3;stroke-linecap:round;opacity:.55}
.ro-help{margin:0;text-align:center;font-weight:700;max-width:34ch;font-size:.95rem}
.ro-art .ro-bull{width:auto;height:150px}.mgk-art.ro-art,.ro-art{height:150px}
@media (prefers-reduced-motion:reduce){.mg-rodeo[data-s=on] .ro-b,.mg-rodeo[data-s=on] .ro-rider{animation-duration:3s}}

/* ===== Six Minutes ===== */
.mg-table{background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--primary) 70%,#fff),var(--primary) 50%,color-mix(in srgb,var(--primary) 60%,#000))}
.mg-table::before{content:'';position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,255,255,.08) 2px,transparent 2.5px);background-size:26px 26px;pointer-events:none}
.six{flex:1;display:grid;place-items:center;padding:10px 16px max(20px,env(safe-area-inset-bottom));overflow:auto}
.six-card{width:min(100%,460px);background:#FFFBF3;color:#1D2433;border-radius:28px;padding:26px 22px;display:grid;gap:14px;text-align:center;box-shadow:0 30px 50px -20px rgba(0,0,0,.5);position:relative;overflow:hidden;border-top:10px solid var(--accent)}
.six-card.k1{border-top-color:#2BB3A3}.six-card.k2{border-top-color:#E8483B}.six-card.k3{border-top-color:#6B4FA0}.six-card.k4{border-top-color:#FFD25A}
.six-card.in{animation:sixIn .5s cubic-bezier(.2,1.3,.4,1)}
@keyframes sixIn{from{transform:perspective(800px) rotateY(-70deg) scale(.9);opacity:0}}
.six-kick{font-size:.78rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#7A8597}
.six-card h2{margin:0;font-family:var(--font-title);font-size:clamp(1.4rem,6.4vw,2rem);line-height:1.15}.six-card h2.big{font-size:clamp(2rem,10vw,3rem)}
.six-card p{margin:0;color:#4A5568}
.six-chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;min-height:10px}
.six-chips span{display:inline-flex;align-items:center;gap:6px;background:var(--primary);color:var(--on-primary);padding:8px 8px 8px 14px;border-radius:999px;font-weight:700;animation:sixIn .3s}
.six-chips button{border:0;background:rgba(255,255,255,.25);color:inherit;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1}
.six-add{display:flex;gap:8px}.six-add input{flex:1;min-width:0;border:2px solid #E2DACB;border-radius:999px;padding:12px 16px;font:600 1.05rem var(--font-body);background:#fff}
.six-steps{display:flex;gap:6px;justify-content:center}.six-steps i{width:26px;height:6px;border-radius:3px;background:#E2DACB}.six-steps i.done{background:#7A8597}.six-steps i.cur{background:var(--accent)}
.six-cd{font-family:var(--font-title);font-size:clamp(3rem,20vw,6rem);line-height:1;color:var(--accent);min-height:0}
.six-cd.go{animation:sixCd .8s cubic-bezier(.3,1.6,.5,1)}@keyframes sixCd{from{transform:scale(2.2);opacity:0}}
.six-q{font-weight:700;color:#1D2433!important}
.six-pick{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.six-pick button{border:2px solid var(--primary);background:#fff;color:var(--primary);border-radius:999px;padding:10px 16px;font:700 1rem var(--font-body);cursor:pointer}
.six-or{display:grid;gap:10px}.six-or em{font-style:normal;font-weight:800;color:#7A8597;text-transform:uppercase;font-size:.8rem}
.six-or button{border:0;border-radius:18px;padding:18px;font:700 1.15rem var(--font-body);background:var(--primary);color:var(--on-primary);cursor:pointer;transition:transform .15s}
.six-or button:active{transform:scale(.97)}.six-or button.ok{background:#22A35A;color:#fff}.six-or button.ko{background:#D7372A;color:#fff}.six-or button:disabled:not(.ok):not(.ko){opacity:.4}
.six-ring{--p:1;width:150px;height:150px;margin:0 auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--p)*360deg),#EDE6D8 0);transition:background .9s linear;position:relative}
.six-ring::before{content:'';position:absolute;inset:14px;border-radius:50%;background:#FFFBF3}
.six-ring b{position:relative;font-family:var(--font-title);font-size:3.4rem}
@media (prefers-reduced-motion:reduce){.mgl-cov>svg,.mgl-cov>div,.mgl-cov::before{animation:none}.mg-rodeo[data-s=on] .ro-b,.mg-rodeo[data-s=on] .ro-rider{animation-duration:3s}}

body[data-mode=vac] .sitenav{display:flex!important}
/* ===== Décor : choix des fonds ===== */
.dec-h{font-size:1rem;margin:20px 0 8px}
.dec-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px}
.dec-o{display:flex;flex-direction:column;gap:6px;padding:6px 6px 8px;border:2px solid var(--line);border-radius:16px;background:var(--surface);cursor:pointer;text-align:left;color:var(--ink);font:inherit;transition:border-color .15s,transform .15s}
.dec-o:hover{transform:translateY(-2px)}.dec-o.on{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.dec-o b{font-size:.82rem;line-height:1.15;padding:0 4px}.dec-o small{font-size:.72rem;color:var(--muted);padding:0 4px}
.dec-th{display:grid;place-items:center;aspect-ratio:16/10;border-radius:10px;background-size:cover;background-position:center;background-color:var(--soft)}
.dec-auto{background:linear-gradient(180deg,#86C9E6,#FDE9C4 60%,#6F9A5B 60%)}
.dec-aucun{background:linear-gradient(120deg,var(--primary) 60%,var(--accent) 60%)}
.dec-up{color:var(--muted);border:2px dashed var(--line);background:none}.dec-up svg{width:28px;height:28px}
.dec-o.lock{opacity:.85}.dec-act{margin:10px 0 0;display:flex;gap:8px}

/* ===== Affichage dynamique : photo de fond et fiches mises en avant ===== */
.dy-photo{position:absolute;inset:0;background-size:cover;background-position:center}
.dy-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,14,28,.55),rgba(8,14,28,.1) 35%,rgba(8,14,28,.15) 65%,rgba(8,14,28,.6))}
.ecr-dyn[data-bg=img]{color:#fff}
.ecr-dyn[data-bg=img] .dy-t,.ecr-dyn[data-bg=img] .dy-top,.ecr-dyn[data-bg=img] .dy-qr h1,.ecr-dyn[data-bg=img] .dy-qr p,.ecr-dyn[data-bg=img] .dy-free{text-shadow:0 .3vh 1.6vh rgba(0,0,0,.45)}
.ecr-dyn[data-bg=img] .dy-main{padding-bottom:14vh}
.dy-promo{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5vh;max-width:160vh;background:rgba(255,255,255,.95);color:#14213A;border-radius:4vh;padding:4vh;box-shadow:0 2vh 5vh rgba(20,33,58,.25);border-left:1.6vh solid var(--c)}
.dy-promo.in{animation:dyIn .7s cubic-bezier(.2,.8,.2,1) both}
.dy-pv{width:38vh;height:38vh;border-radius:3vh;overflow:hidden;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 15%,#fff);color:var(--c)}
.dy-pv img{width:100%;height:100%;object-fit:cover}.dy-pv span svg{width:20vh;height:20vh}
.dy-pt em{display:inline-block;font-style:normal;font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:clamp(.8rem,2.6vh,1.5rem);background:var(--c);color:#fff;padding:.8vh 2vh;border-radius:999px;margin-bottom:2vh}
.dy-pt h1{font-family:var(--font-title);font-weight:600;font-size:clamp(1.8rem,8vh,5rem);line-height:1.02;margin:0 0 2vh}
.dy-pt p{font-size:clamp(1rem,3.4vh,2rem);margin:0 0 2vh;color:#3A4A62;max-width:36ch}
.dy-pt b{display:inline-flex;font-size:clamp(1rem,3.2vh,1.8rem);color:var(--c)}

/* ===== Espace vacancier : fond, services, retour ===== */
.vac-back{display:inline-flex;align-items:center;gap:6px;font-weight:700;text-decoration:none;color:var(--ink);background:var(--surface);border:1px solid var(--line);padding:8px 14px;border-radius:999px}
.vp-hero.img{background:var(--primary) var(--vbg) center/cover;min-height:190px;display:flex;flex-direction:column;justify-content:flex-end}
.vp-hero.img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.55));z-index:0}
.vp-hero.img>*:not(.vp-lang){position:relative;z-index:1}.vp-hero.img .vp-lang{z-index:2}.vp-hero.img::before{display:none}
.vp-hero.img h1,.vp-hero.img p,.vp-hero.img .vp-camp{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.35)}
.vp-svc{margin:0 4px}.vp-svc h2{margin:6px 0 10px}
.vp-svcg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.vp-svcg a{display:grid;gap:4px;padding:14px;border-radius:20px;background:var(--surface);border:1px solid var(--line);text-decoration:none;color:var(--ink);position:relative;overflow:hidden;transition:transform .15s}
.vp-svcg a:active{transform:scale(.97)}
.vp-svcg a::after{content:'';position:absolute;right:-18px;bottom:-18px;width:64px;height:64px;border-radius:50%;background:var(--c);opacity:.1}
.vp-svcg span{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);margin-bottom:4px}.vp-svcg span svg{width:26px;height:26px}
.vp-svcg b{font-family:var(--font-title);font-size:1.02rem;line-height:1.15}.vp-svcg small{color:var(--muted);font-size:.8rem;line-height:1.3}
.vps-hero{position:relative;overflow:hidden;background:linear-gradient(150deg,var(--c),color-mix(in srgb,var(--c) 55%,#000));color:#fff;border-radius:0 0 28px 28px;padding:30px 22px 26px;display:grid;gap:6px;margin:-4px -2px 0}
.vps-hero.img{min-height:220px;align-content:end}.vps-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.vps-hero.img::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(0,0,0,.65))}
.vps-hero>*:not(img){position:relative;z-index:1}
.vps-ic{width:58px;height:58px;border-radius:18px;background:rgba(255,255,255,.2);display:grid;place-items:center;backdrop-filter:blur(4px)}.vps-ic svg{width:34px;height:34px}
.vps-hero h1{margin:6px 0 0;font-family:var(--font-title);font-size:2rem;line-height:1.05}.vps-hero p{margin:0;opacity:.9}
.vps-box{margin:0 4px;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:16px;display:grid;gap:12px}
.vps-box p{margin:0;color:var(--muted)}
.vps-h{display:flex;gap:12px;align-items:center}.vps-h svg{width:28px;height:28px;color:var(--c);flex:none}.vps-h small{display:block;color:var(--muted);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.vps-tel{justify-self:start;background:var(--c);color:#fff}
.vps-menu{margin:0 4px;background:#FFFCF6;border:1px solid var(--line);border-radius:20px;padding:18px 16px}
.vps-menu h2{margin:0 0 6px;font-family:var(--font-title);text-align:center}
.vps-menu h3{margin:16px 0 6px;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--c);text-align:center}
.vps-it{display:flex;align-items:baseline;gap:8px;padding:7px 0}
.vps-it>div{display:grid}.vps-it b{font-weight:600}.vps-it small{color:var(--muted);font-size:.8rem}
.vps-it i{flex:1;border-bottom:2px dotted var(--line);transform:translateY(-4px);min-width:16px}
.vps-it em{font-style:normal;font-weight:700;white-space:nowrap}
/* ===== Régie : services et fiches ===== */
.svc-l,.pr-l{display:grid;gap:8px}
.svc-r{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.svc-r.off{opacity:.55}.svc-r small{display:block;color:var(--muted);font-size:.82rem}.svc-r em{font-style:normal;font-size:.72rem;font-weight:700;color:var(--accent-ink,var(--accent))}
.svc-a{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}
.svc-i{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--c) 14%,#fff);color:var(--c);overflow:hidden;flex:none}.svc-i svg{width:24px;height:24px}.svc-i img{width:100%;height:100%;object-fit:cover}
.svc-ics{display:flex;flex-wrap:wrap;gap:6px}.svc-ics button{width:44px;height:44px;border-radius:12px;border:2px solid var(--line);background:var(--surface);color:var(--c);display:grid;place-items:center;cursor:pointer}.svc-ics button svg{width:24px;height:24px}.svc-ics button.on{border-color:var(--c);background:color-mix(in srgb,var(--c) 14%,#fff)}
.svc-ph{display:inline-grid;place-items:center;min-width:64px;height:48px;border-radius:10px;background:var(--soft);font-size:.8rem;color:var(--muted);overflow:hidden}.svc-ph img{height:48px;width:auto}
.pr-r summary{display:flex;gap:12px;align-items:center}.pr-r summary small{display:block;color:var(--muted);font-size:.8rem}.pr-r.off summary{opacity:.55}
.pr-r[open]{display:grid;gap:10px}
@media (max-width:640px){.svc-r{grid-template-columns:auto 1fr}.svc-a{grid-column:1/-1;justify-content:flex-start}}

/* ===== Loto : ce que montre l'écran, Loto Live ===== */
.lshow{display:grid;gap:8px;justify-items:center;margin-top:14px;padding-top:14px;border-top:1px solid var(--line);width:100%}
.lshow>span{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.lshow-seg{display:flex;flex-wrap:wrap;justify-content:center;background:var(--soft);border-radius:999px;padding:4px;gap:2px}
.lshow-seg button{border:0;background:none;border-radius:999px;padding:8px 14px;font:600 .9rem var(--font-body);color:var(--ink);cursor:pointer}
.lshow-seg button.on{background:var(--primary);color:var(--on-primary)}
.lshow-n{margin:0;font-size:.85rem;color:var(--muted);text-align:center;max-width:36ch}
.lshow-ll{margin:4px 0 0;font-size:.8rem;color:var(--muted);text-align:center;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px}
.lshow-ll img{height:26px;width:auto;background:#0A2342;border-radius:6px;padding:2px 4px}.lshow-ll a{color:var(--accent-ink,var(--accent));font-weight:600}
.lback{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:color-mix(in srgb,var(--accent) 12%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:16px;padding:12px 14px;margin-top:16px;font-weight:600}
.lscr-ll{display:flex;flex-direction:column;align-items:center;gap:2px}
.lscr-ll span{font-size:clamp(.7rem,1.5vh,1rem);font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.lscr-ll img{height:clamp(60px,13vh,130px);width:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.lscr-ll.abs{position:absolute;right:3vw;top:3vh;z-index:3}
.lscr-sponsor{display:none}
.scn-ll{position:absolute;left:50%;bottom:3vmin;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:1.4vmin}
.scn-ll span{font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:clamp(.7rem,1.7vmin,1.1rem);opacity:.85}
.scn-ll img{height:clamp(50px,11vmin,110px);width:auto;filter:drop-shadow(0 6px 18px rgba(0,0,0,.35))}
.lsl{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:3vh;padding:2vh 4vw;text-align:center}
.lsl-k{margin:0;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.8;font-size:clamp(.9rem,2.2vh,1.4rem)}
.lsl-t{margin:0;font-family:var(--font-title);font-weight:800;font-size:clamp(2rem,7vh,4.6rem);color:var(--accent);line-height:1}
.lsl-steps{display:grid;gap:1.8vh;width:min(1200px,88vw)}
.lsl-s{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;align-items:center;gap:3vw;text-align:left;background:rgba(255,255,255,.08);border-radius:2vh;padding:2.4vh 3vw;animation:dyIn .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d)}
.lsl-s b{font-family:var(--font-title);font-size:clamp(1.2rem,3.8vh,2.4rem)}.lsl-s span{font-size:clamp(1.1rem,3.6vh,2.2rem);font-weight:600}
.lsl-s em{font-style:normal;font-weight:700;font-size:clamp(.9rem,2.4vh,1.4rem);padding:.8vh 2vh;border-radius:999px;background:rgba(255,255,255,.12);white-space:nowrap}
.lsl-s.cur{background:var(--accent);color:var(--on-accent,#fff);box-shadow:0 0 0 4px rgba(255,255,255,.25),0 2vh 5vh rgba(0,0,0,.3);transform:scale(1.02)}.lsl-s.cur em{background:rgba(0,0,0,.18)}
.lsl-s.done{opacity:.6}.lsl-s.done span{text-decoration:line-through;text-decoration-thickness:2px}
.lsl-grid{display:grid;gap:2vw;width:min(1500px,92vw);grid-template-columns:repeat(var(--n,3),minmax(0,1fr))}
.lsl-grid.n1{--n:1;max-width:700px}.lsl-grid.n2{--n:2}.lsl-grid.n3{--n:3}.lsl-grid.n4{--n:4}
.lsl-p{background:rgba(255,255,255,.08);border-radius:2.4vh;padding:2.4vh 2vw;text-align:left;display:grid;gap:1.2vh;align-content:start;animation:dyIn .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d)}
.lsl-p header{font-family:var(--font-title);font-weight:800;font-size:clamp(1.2rem,3.6vh,2.2rem)}.lsl-p header em{font-style:normal;font-size:.55em;font-weight:700;background:var(--accent);color:var(--on-accent,#fff);padding:.3em .8em;border-radius:999px;vertical-align:middle;margin-left:.4em}
.lsl-p.past{opacity:.55}.lsl-p.past header em{background:rgba(255,255,255,.2)}
.lsl-p.cur{box-shadow:inset 0 0 0 3px var(--accent)}
.lsl-p p{margin:0;display:grid;gap:.2vh;padding:1vh 0;border-top:1px solid rgba(255,255,255,.12)}
.lsl-p p b{font-size:clamp(.8rem,2vh,1.2rem);opacity:.8;text-transform:uppercase;letter-spacing:.06em}.lsl-p p span{font-size:clamp(1rem,2.8vh,1.7rem);font-weight:700}
.lsl-p p small{font-size:clamp(.8rem,2vh,1.1rem);opacity:.8}.lsl-p p.done span{text-decoration:line-through;opacity:.7}.lsl-p p.cur span{color:var(--accent)}

/* ===== Mon compte ===== */
.cpt-h{display:flex;align-items:center;gap:18px;margin:6px 0 18px}.cpt-h img{width:84px;height:auto}.cpt-h h1{margin:0}.cpt-h p{margin:4px 0 0}
.cpt-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin-bottom:20px}
.cpt-tabs a{padding:10px 16px;border-radius:12px 12px 0 0;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:3px solid transparent;margin-bottom:-1px}
.cpt-tabs a.on{color:var(--ink);border-bottom-color:var(--accent)}
.cpt-sum{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.cpt-sum .card{display:grid;gap:6px;align-content:start}.cpt-sum h2{margin:0;font-size:1.6rem}.cpt-sum p{margin:0}
.cpt-k{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.cpt-plan{border-top:5px solid var(--primary)}.cpt-price b{font-family:var(--font-title);font-size:1.4rem}
.cpt-opts{list-style:none;margin:4px 0;padding:0;display:grid;gap:4px}.cpt-opts li{display:flex;justify-content:space-between;gap:10px;font-size:.92rem;border-bottom:1px dashed var(--line);padding-bottom:4px}.cpt-opts span{color:var(--muted)}
.cpt-meta{font-size:.88rem;color:var(--muted)}.cpt-next .btn{justify-self:start;margin-top:6px}
.cpt-gift img{height:44px;width:auto;justify-self:start;background:#0A2342;border-radius:8px;padding:3px 6px;margin-top:4px}
.cpt-mods{display:flex;flex-wrap:wrap;gap:8px}.cpt-mods a{display:inline-flex;gap:6px;align-items:center;padding:8px 12px;border-radius:999px;background:var(--soft);color:var(--ink);text-decoration:none;font-weight:600;font-size:.9rem}
.cpt-change{margin-top:30px}.cpt-change h2{margin:0 0 4px}
.cpt-form{display:grid;gap:16px;max-width:860px}.cpt-form .card{display:grid;gap:12px}.cpt-form h3{margin:0}
.g3p{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width:700px){.g3p{grid-template-columns:1fr}}
.cpt-tbl{display:grid;font-size:.92rem}
.cpt-tr{display:grid;grid-template-columns:150px minmax(0,1fr) 110px 110px 90px auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line)}
.cpt-tr.th{font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.cpt-tr small{display:block;color:var(--muted);font-size:.78rem}
.cpt-st{display:inline-block;font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--soft)}.cpt-st.ok{background:#E3F5EA;color:#1D7A44}.cpt-st.demo{background:#FFF3D6;color:#8A6200}
@media (max-width:800px){.cpt-tr{grid-template-columns:1fr 1fr}.cpt-tr.th{display:none}.cpt-tr>span:nth-child(2){grid-column:1/-1;order:-1;font-weight:600}}
.cpt-pm .btn{justify-self:start;margin-top:6px}
.cpt-links{display:grid;gap:4px}.cpt-links a{color:var(--accent-ink,var(--accent));font-weight:600}
.cpt-fac{display:grid;gap:14px}.cpt-fac header{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid var(--ink);padding-bottom:12px}.cpt-fac header div{display:grid}.cpt-fac header div:last-child{text-align:right}
.cpt-fac small{color:var(--muted)}.cpt-to{margin:0;line-height:1.5}.cpt-to small{display:block}
.cpt-fl{display:flex;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--line)}.cpt-fl.s{color:var(--muted)}.cpt-fl.t{font-size:1.15rem;border-bottom:0}
.sitenav a.on{color:var(--primary);font-weight:700}
@media (max-width:860px){body[data-mode=dash] .sitenav,body[data-mode=abo] .sitenav{display:flex}body[data-mode=dash] #fsBtn,body[data-mode=abo] #fsBtn{display:none}body[data-mode=dash] .crumb .sep,body[data-mode=dash] .crumb .mod,body[data-mode=abo] .crumb .sep,body[data-mode=abo] .crumb .mod{display:none}}
@media (max-width:600px){.cpt-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.cpt-tabs a{white-space:nowrap;padding:10px 12px}body[data-mode=dash] .sitenav a,body[data-mode=abo] .sitenav a,body[data-mode=dash] .sitenav button,body[data-mode=abo] .sitenav button{font-size:.85rem;padding:6px 8px}body[data-mode=dash] .crumb b,body[data-mode=abo] .crumb b{display:none}body[data-mode=dash] .sitenav,body[data-mode=abo] .sitenav{flex-wrap:wrap;justify-content:flex-end;gap:2px}}

/* Pétanque : alertes, tableau sur téléphone, écran du bar lisible sur un téléphone */
.pqalert{border:2px solid #E4352B;background:#FFF1EF}.pqalert h3{color:#B3261E;margin-top:0}.pqalert.soft{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface))}.pqalert.soft h3{color:inherit}
.pqb-c{display:flex;gap:20px;margin:6px 0 10px}.pqb-c div{display:grid}.pqb-c b{font-family:var(--font-title);font-size:2rem;line-height:1}.pqb-c span{color:var(--muted);font-size:.85rem}
.pqb-m{display:grid;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 0;border-top:1px solid var(--line);font-size:.95rem}
.pqb-m i{display:block;font-style:normal;color:var(--muted);font-size:.78rem}.pqb-m b{white-space:nowrap;font-size:.9rem}.pqb-m.res b{color:var(--primary)}
.pqb-t{font-weight:800;font-size:.8rem;text-align:center;background:var(--soft);border-radius:8px;padding:4px 0}
@media (max-width:700px){.ecr-pq.ecran{overflow-y:auto}.ecr-pq .pq-head{padding-left:0;margin-top:56px;flex-wrap:wrap}.ecr-pq .pq-head h1{font-size:2.4rem}.ecr-pq .pq-head .pq-boules{height:40px}.ecr-pq .pq-m{grid-template-columns:1fr}}

.evdurq{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:-4px}.evdurq .btn{padding:5px 10px;font-size:.8rem}
.vp-ev b small{display:block;font-size:.72rem;font-weight:600;opacity:.7}

/* Langues et traductions */
.lg-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.lg-c{display:grid;justify-items:center;gap:2px;padding:10px 6px;border:2px solid var(--line);border-radius:14px;cursor:pointer;background:var(--surface);text-align:center}
.lg-c input{position:absolute;opacity:0;pointer-events:none}.lg-c b{font-family:var(--font-title);font-size:1.2rem}.lg-c span{font-size:.75rem;color:var(--muted)}
.lg-c.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--surface))}
.lg-n{font-size:.85rem;margin:8px 0}
.trf{display:grid;gap:8px;max-height:56vh;overflow:auto}.trf-r{display:grid;grid-template-columns:36px 1fr;gap:8px;align-items:start}
.trf-l{font-weight:800;font-size:.75rem;background:var(--soft);border-radius:8px;text-align:center;padding:6px 0;margin-top:18px}.trf-r small{display:block;color:var(--muted);font-size:.8rem;margin-bottom:2px}
@media (max-width:500px){.lg-pick{grid-template-columns:repeat(2,1fr)}}

/* Langue de l'espace */
.uil{position:relative}.uil-b{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 12px;font:700 .85rem var(--font-body);cursor:pointer}
.uil-b::after{content:' ▾';font-size:.7em;opacity:.6}
.uil-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:120;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 14px 30px -12px rgba(10,35,66,.35);padding:6px;display:grid;min-width:170px}
.uil-menu[hidden]{display:none}.uil-menu button{display:flex;gap:10px;align-items:center;border:0;background:none;padding:9px 10px;border-radius:10px;font:500 .95rem var(--font-body);color:var(--ink);cursor:pointer;text-align:left}
.uil-menu button b{width:26px;font-size:.8rem}
@media (max-width:860px){.uil-menu{position:fixed;top:58px;right:12px}body[data-mode=mod] .sitenav,body[data-mode=login] .sitenav{display:flex}body[data-mode=mod] .sitenav #fsBtn{display:none}}.uil-menu button:hover{background:var(--soft)}.uil-menu button.on{background:color-mix(in srgb,var(--accent) 14%,var(--surface))}

.lg-reset{border-style:dashed!important;font-weight:500!important}
.ca-lang small{font-size:.8rem}
.ca-lang.lg-mini{margin:0;padding:0;border:0;gap:4px}.ca-lang.lg-mini button{padding:4px 9px;font-size:.78rem}.ca-lang.lg-mini span{font-size:.8rem}
.page-head .ca-lang.lg-mini,.hd-act .ca-lang.lg-mini{flex-basis:100%;justify-content:flex-end}

/* Pétanque : créer et gérer les tournois */
.seg{display:inline-flex;background:var(--soft);border-radius:999px;padding:4px;gap:2px}.seg button{border:0;background:none;border-radius:999px;padding:7px 14px;font:600 .9rem var(--font-body);color:var(--ink);cursor:pointer}.seg button.on{background:var(--primary);color:var(--on-primary)}
.pqf-rec{display:grid;gap:10px}.pqf-days{display:grid;gap:10px}.pqf-days[hidden]{display:none}
.pqg-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}.pqg-t{font-family:var(--font-title);font-size:1.15rem}.pqg-t::first-letter{text-transform:uppercase}
.pqo{display:block;width:100%;text-align:left;border:0;border-left:4px solid #2BB3A3;background:color-mix(in srgb,#2BB3A3 12%,var(--surface));color:var(--ink);border-radius:10px;padding:7px 9px;margin-bottom:6px;font:500 .85rem var(--font-body);cursor:pointer;line-height:1.25}
.pqo b{font-weight:800}.pqo i{font-style:normal;opacity:.6}.pqo em{font-style:normal;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;margin-left:4px}
.pqo.off{border-left-color:#C0392B;background:#FCEBEA;text-decoration:line-through;text-decoration-color:rgba(192,57,43,.5)}.pqo.off em{text-decoration:none;color:#C0392B}
.pqo.live{border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 14%,var(--surface))}.pqo.past{opacity:.55}
.pqg-day{max-width:520px}.pqg-week{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.pqg-week>div{background:var(--soft);border-radius:14px;padding:8px;min-height:120px}.pqg-week>div.today{box-shadow:inset 0 0 0 2px var(--accent)}
.pqg-week h4{margin:0 0 8px;font-size:.85rem}.pqg-week h4 small{color:var(--muted)}
.pqg-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.pqg-mh{display:contents}.pqg-mh b{font-size:.75rem;text-transform:uppercase;color:var(--muted);text-align:center;padding:4px}
.pqg-month>div{background:var(--soft);border-radius:10px;padding:6px;min-height:84px}.pqg-month>div.out{opacity:.4}.pqg-month>div.today{box-shadow:inset 0 0 0 2px var(--accent)}.pqg-month em{font-style:normal;font-weight:700;font-size:.8rem;display:block;margin-bottom:4px}
.pqg-month .pqo{font-size:.75rem;padding:4px 6px}
.pqd{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--line);flex-wrap:wrap}.pqd small{display:block;color:var(--muted);font-size:.85rem;margin-top:3px}.pqd.off{opacity:.6}
.pqp-ref{font-size:.9rem;border-top:1px dashed currentColor;padding-top:10px;margin-top:6px;opacity:.85}
@media (max-width:800px){.pqg-week{grid-template-columns:1fr}.pqg-week>div{min-height:0}.pqg-month .pqo b+*{display:none}}

/* comptes : connexion, démo du jour, cadenas */
.lg2{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;max-width:1000px}
.lg-side{padding:10px 6px}.lg-side img{width:130px;height:auto;display:block;margin-bottom:6px}
.lg-side h2{font-size:1.6rem;margin:0 0 14px}
.lg-ben{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.lg-ben li{padding-left:34px;position:relative}
.lg-ben li::before{content:"";position:absolute;left:0;top:2px;width:22px;height:22px;border-radius:50%;background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12l4 4 8-8' stroke='white' stroke-width='3' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/15px no-repeat}
.lg-ben b{display:block}.lg-ben span{color:var(--muted);font-size:.93rem}
.lg-card{padding:24px}
.lg-why{background:var(--soft);border-radius:12px;padding:10px 14px;margin:0 0 14px;font-size:.95rem}
.lg-tabs{display:flex;gap:4px;background:var(--soft);border-radius:999px;padding:4px;margin-bottom:18px}
.lg-tabs button{flex:1;border:0;background:none;border-radius:999px;padding:9px 10px;font:inherit;font-weight:700;color:var(--muted);cursor:pointer}
.lg-tabs button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.pw{display:flex;position:relative}.pw input{flex:1;padding-right:44px}
.pw-eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);border:0;background:none;cursor:pointer;font-size:1.05rem;padding:6px;opacity:.6}
.lg-err{color:#C0392B;font-weight:600;margin:0;min-height:1.2em;font-size:.92rem}
.lg-small{font-size:.86rem;margin:0}.lg-small a{color:var(--primary);font-weight:600}
@media (max-width:600px){.sn-in{display:none}}
.sn-in{font-weight:600;font-size:.92rem;margin-right:6px;color:inherit;text-decoration:none;opacity:.85}
.acc-pill{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;font-weight:800;padding:4px 10px;border-radius:999px;background:var(--accent);color:var(--on-accent);font-variant-numeric:tabular-nums;white-space:nowrap}
.acc-pill.adm{background:var(--ink);color:var(--surface)}
.acc-pill i{width:8px;height:8px;border-radius:50%;background:currentColor;animation:accP 1.4s infinite}
@keyframes accP{50%{opacity:.25}}
.demo-card{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin:0 0 26px;border:2px solid var(--accent);background:linear-gradient(135deg,var(--surface) 60%,var(--soft))}
.demo-card h2{margin:0 0 6px;font-size:1.35rem}.demo-card p{margin:0 0 12px}
.demo-ic{width:92px;height:92px;border-radius:50%;background:var(--accent);color:var(--on-accent);display:grid;place-items:center;align-content:center;text-align:center}
.demo-ic svg{width:44px;height:44px}.demo-ic b{font-size:1.5rem;font-variant-numeric:tabular-nums;line-height:1}.demo-ic small{font-size:.7rem;font-weight:700;opacity:.85}
.demo-card.utilisee{border-color:var(--line)}.demo-card.utilisee .demo-ic{background:var(--soft);color:var(--muted)}
.lk{width:1em;height:1em;vertical-align:-.12em}
.pill.lockp{display:inline-flex;gap:5px;align-items:center;background:var(--soft);color:var(--muted)}
.skinprev.locked .top{position:relative;filter:saturate(.55)}
.skinprev.locked .top .lk{position:absolute;right:10px;top:10px;width:26px;height:26px;color:#fff;background:rgba(0,0,0,.45);border-radius:50%;padding:4px}
.skinprev.locked .bot{color:var(--muted);font-weight:600}
.plock{text-align:left}.plock h2{margin:6px 0 8px}.plock ul{margin:0 0 12px;padding-left:20px;display:grid;gap:4px}
.plock-ic{display:inline-grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--soft);color:var(--primary)}.plock-ic .lk{width:28px;height:28px}
.lockv{max-width:600px;margin:30px auto;text-align:center;position:relative}
.lockv>img{width:140px;height:auto}.lockv h1{font-size:1.8rem;margin:4px 0 6px}
.lockv-ic{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;background:var(--soft);display:grid;place-items:center;color:var(--muted)}.lockv-ic .lk{width:22px;height:22px}
.off-pg{min-height:70vh;display:grid;place-content:center;text-align:center;gap:14px;padding:30px 18px;max-width:560px;margin:0 auto}
.off-pg>b{font-size:1.5rem}.off-pg p{margin:0;font-weight:700;font-size:1.1rem}.off-pg p.o{font-weight:500;font-size:.92rem;opacity:.7}
.off-pg small{display:block;font-weight:400;opacity:.8;font-size:.9em}
@media (max-width:860px){.lg2{grid-template-columns:1fr}.lg-side{order:2}.demo-card{grid-template-columns:1fr;text-align:left}.demo-ic{width:70px;height:70px}}

/* images du kit (oct. 2026) */
.lp-faq-h{display:flex;align-items:center;justify-content:center;gap:clamp(14px,3vw,32px);margin-bottom:clamp(28px,4vw,44px)}
.lp-faq-h img{width:clamp(120px,15vw,190px);height:auto}
body[data-mode=site] .lp-faq-h h2.lp-h{margin:0;text-align:left}
.lp-rappel{display:block;width:100%;max-width:540px;height:auto;aspect-ratio:3/2;object-fit:cover;border-radius:16px;margin-top:4px}
.lp-formban{display:block;width:100%;height:auto;aspect-ratio:3/1;object-fit:cover;border-radius:16px;margin:0 auto clamp(24px,3vw,36px)}
.lg-side img{width:160px}
.demo-img{width:120px;height:auto;align-self:center}
.lockv>img{width:150px;height:auto}
.plock-img{width:110px;height:auto;display:block}
.mthumb{height:auto;aspect-ratio:16/10;object-position:50% 30%}
.grid.g3.solo{grid-template-columns:1fr}@media (min-width:900px){.grid.g3.duo{grid-template-columns:repeat(4,minmax(0,1fr))}}
.solo .modcard{display:grid;grid-template-columns:minmax(0,280px) minmax(0,1fr);grid-auto-rows:min-content;column-gap:24px;row-gap:6px}
.solo .modcard>*:not(.mthumb){grid-column:2}
.solo .mthumb{grid-column:1;grid-row:1/span 5;width:calc(100% + 20px);margin:-20px 0 -20px -20px;height:auto;aspect-ratio:4/3;align-self:start;border-radius:var(--radius) 0 var(--radius) var(--radius)}
@media (max-width:700px){.solo .modcard{display:flex}.solo .mthumb{width:calc(100% + 40px);margin:-20px -20px 8px;height:auto;min-height:0;aspect-ratio:16/10;border-radius:var(--radius) var(--radius) 0 0}.lp-faq-h{flex-direction:column}body[data-mode=site] .lp-faq-h h2.lp-h{text-align:center}}

/* pages de section et liens du pied de page */
body[data-mode=site] .sitenav a.sn-sec{font-family:var(--fz-cond);font-size:1.15rem;font-weight:600;color:var(--fz-encre)}
body[data-mode=site] .sitenav a.sn-sec:hover{background:var(--fz-jaune)}
@media (max-width:860px){body[data-mode=site] .sitenav a.sn-sec{display:none}}
.lp-crumb{max-width:1100px;margin:0 auto;padding:18px clamp(16px,4vw,32px) 0;font-size:.92rem;display:flex;gap:8px;color:var(--lp-gris,#56637A)}
.lp-crumb a{color:inherit}
.lp-next .lp-in{text-align:center}.lp-next h2{margin:0 0 14px}
.lp-next p{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 22px;margin:0 0 22px}
.lp-next p a{font-weight:700;color:inherit}
.fz-flinks{display:flex;flex-wrap:wrap;gap:6px 18px}.fz-flinks a{color:inherit;font-weight:600}
.lg-h1{font-size:1.5rem;margin:0 0 14px}
/* ===== Télécommande sur téléphone ===== */
body[data-mode=tel]{background:var(--bg)}
body[data-mode=tel] .skins,body[data-mode=tel] #foot{display:none}
body[data-mode=tel] .barin{flex-wrap:nowrap;padding:8px 14px}
body[data-mode=tel] .main{padding:0}
body[data-mode=tel] #view{max-width:640px;margin:0 auto;padding:14px 14px calc(28px + env(safe-area-inset-bottom,0px))}
.tel-crumb{display:flex;align-items:center;gap:10px;min-width:0}
.tel-crumb .fmark{height:36px}
.tel-crumb .mod{font:600 1.15rem/1.1 var(--font-title,inherit);display:flex;flex-direction:column}
.tel-crumb .mod small{font:500 .78rem var(--font-body,inherit);color:var(--muted)}
.tel-back{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--soft);color:var(--ink);font-size:1.7rem;line-height:1;text-decoration:none;flex:none}
.tel-live{display:inline-block;width:10px;height:10px;border-radius:50%;background:#B9C1CE;flex:none}
.tel-live.on{background:#2BAE66;box-shadow:0 0 0 4px color-mix(in srgb,#2BAE66 22%,transparent)}
.tel-live.off{background:#E4572E}
body[data-mode=tel] .sitenav{display:flex!important;align-items:center;gap:10px}
.tel-scr{white-space:nowrap;background:var(--soft);color:var(--ink);border:1px solid var(--line)}
.tel-scr.on{background:color-mix(in srgb,#2BAE66 14%,var(--surface));border-color:#2BAE66;color:var(--ink)}
.tel-scr.on i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#2BAE66}
.tel-esp{font-weight:600;text-decoration:none;color:var(--ink)}
.tel{display:flex;flex-direction:column;gap:12px}
.tel-now{display:flex;align-items:center;gap:12px;background:var(--sc-deep,#0A2342);color:#fff;border-radius:18px;padding:16px 18px}
.tel-now small{display:block;opacity:.75;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}
.tel-now b{font:600 1.35rem var(--font-title,inherit);margin-right:auto}
.tel-now small+b{margin-top:2px}
.tel-now{flex-wrap:wrap}.tel-now small{width:100%}
.tel-h{font-size:1.1rem;margin:10px 0 0}
.tel-sub{margin:-6px 0 0;font-size:.92rem}
.tel-grid{display:grid;gap:10px}
.tel-tile{display:grid;grid-template-columns:72px 1fr;grid-template-rows:auto auto;column-gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px}
.tel-tile img{grid-row:span 2;width:72px;height:72px;object-fit:cover;border-radius:12px}
.tel-tile b{font-size:1.1rem}
.tel-tile.on{border:2px solid #2BAE66}
.tel-tile.lock{opacity:.6}
.tel-tb{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:6px}
.tel-tb .btn{padding:9px 16px}
.tel-prep{font-size:.85rem;color:var(--muted)}
.tel-tile.on .tel-prep{color:#1F8A50;font-weight:600;text-decoration:none}
.tel-chips{display:flex;flex-wrap:wrap;gap:8px}
.tel-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:12px 16px;font-weight:600;display:inline-flex;align-items:center;gap:6px}
.tel-chip.on{border-color:#2BAE66;background:color-mix(in srgb,#2BAE66 12%,var(--surface))}
.tel-chip:disabled{opacity:.5}
.tel-help{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 16px;margin-top:8px}
.tel-help summary{font-weight:700;cursor:pointer}
.tel-url{font-family:ui-monospace,Menlo,monospace;font-size:.88rem;background:var(--soft);border-radius:10px;padding:8px 10px;word-break:break-all}
/* une régie ouverte dans la télécommande : une colonne, gros boutons */
body.tel-in #view .grid,body.tel-in #view .lgrid,body.tel-in #view [class*="-grid"]:not(.lboard):not(.tel-grid){grid-template-columns:1fr!important}
body.tel-in #view .btn{min-height:48px;font-size:1rem}
body.tel-in #view .btn.sm{min-height:42px}
body.tel-in #view .card{padding:14px}
body.tel-in #view .lbtn,body.tel-in #view #draw{width:100%;min-height:76px;font-size:1.4rem;border-radius:20px}
body.tel-in #view .lcage canvas{display:none}
body.tel-in #view .lcage-mid{min-height:0}
body.tel-in #view .sponsor{display:none}
.tele-g h2{margin-top:0}
.tele-qr{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0}
.tele-qrc{width:200px;height:200px;background:#fff;padding:12px;border-radius:14px;border:1px solid var(--line)}
.tele-qrc svg{width:100%;height:100%}
.tele-code{font:700 1.5rem ui-monospace,Menlo,monospace;letter-spacing:.12em;margin:0}
.tele-tips{margin:0;padding-left:1.2em}.tele-tips li{margin-bottom:6px}
body.tel-in .scbar{padding:10px 12px;gap:8px;margin-bottom:12px}
body.tel-in .scbar>:not(.sclab):not(.scseg):not(.scx):not(.scnew){display:none}
body.tel-in .scbar .scnew{margin-left:0;width:100%;justify-content:center}
body.tel-in .scseg{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}
body.tel-in .scseg button{padding:10px 4px;font-size:.88rem}
body.tel-in .tvsw{display:flex;overflow-x:auto;gap:8px;margin:0 -14px 14px;padding:0 14px 4px;scroll-snap-type:x mandatory}
body.tel-in .tvsw button{flex:0 0 auto;padding:10px 14px;border-radius:14px;scroll-snap-align:start}
body.tel-in .tvsw button b{font-size:1rem}
body.tel-in .tvsw button small{display:none}
body.tel-in .tvhelp{display:none}
body.tel-in .lcage-mid{display:flex;justify-content:center;aspect-ratio:auto;max-width:none;padding:6px 0}
body.tel-in #lbig{position:static}
body.tel-in .lrecent{justify-content:center}
body.tel-in kbd{display:none}

/* ===== Corrections de l'audit visuel (26 oct.) ===== */
body[data-mode=site] .foot .fz-foot{background:transparent;border:0;color:rgba(255,255,255,.72)}
body[data-mode=site] .foot .fz-foot b{color:#fff}
body[data-mode=site] .foot .fz-flinks{width:100%;justify-content:center}
body[data-mode=site] .foot a{color:rgba(255,255,255,.6)}
body[data-mode=site] .foot .fz-flinks a{color:#fff;text-decoration-color:rgba(255,255,255,.35)}
.lp-pil img,.lp-pain img{height:auto}
body:not([data-mode=ecran]){font-synthesis-weight:none}
.lp-next p{margin-inline:auto}
.sitenav a{white-space:nowrap}
.toast:not(.show){opacity:0;visibility:hidden}
.toast{transition:transform .25s,opacity .25s,visibility .25s}
body[data-mode=mod] #view p a:not(.btn):not([class]),body[data-mode=abo] #view p a:not(.btn):not([class]){color:var(--ink);text-decoration-color:var(--accent);text-underline-offset:3px}
.mod-ic{width:24px;height:24px;border-radius:6px;object-fit:cover;vertical-align:-6px;margin-right:8px}
.skinprev .top.sk-perso{background:#FFF5EE;color:#0A2342;border-bottom:1px dashed #D9C9BC}
.skinprev .top.sk-perso{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:6px}
.skinprev .top.sk-perso .sk-dots{margin:0}
.sk-dots{display:inline-flex;gap:4px;margin-right:8px;vertical-align:middle}
.sk-dots i{width:14px;height:14px;border-radius:50%;border:2px dashed #0A2342}
.sk-dots i:nth-child(2){border-color:#F0732F}
.qcs-wait .qcs-wlogo{width:24vh;height:auto;max-height:30vh;object-fit:contain;background:#fff;border-radius:3vh;padding:3vh;box-shadow:0 2vh 5vh rgba(0,0,0,.3)}
.sn-burger{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:var(--surface);flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:0}
.sn-burger i{display:block;width:20px;height:2px;background:var(--ink);border-radius:2px}
@media (max-width:860px){
 body[data-mode=site] .sitenav button.sn-burger{display:inline-flex}
 body[data-mode=site].nav-open .sitenav{position:fixed;left:0;right:0;top:var(--barh,64px);display:flex!important;flex-direction:column;align-items:stretch;gap:2px;background:var(--surface);padding:10px 16px 18px;border-bottom:1px solid var(--line);box-shadow:0 18px 30px -18px rgba(10,35,66,.35);z-index:40}
 body[data-mode=site].nav-open .sitenav a.sn-sec,body[data-mode=site].nav-open .sitenav .sn-in{display:block!important;padding:12px 6px;font-size:1.1rem;border-bottom:1px solid var(--line)}
 body[data-mode=site].nav-open .sitenav .btn{margin:10px 0 0;justify-content:center}
 body[data-mode=site].nav-open .sn-burger{position:fixed;top:10px;right:14px;z-index:41}
}

/* ===== Équipe, salles, QR Animation (27 oct.) ===== */
body.membre .skins{display:none}
.dtools{margin-top:8px}
.dtool{display:flex;gap:14px;align-items:flex-start;text-decoration:none;color:inherit;transition:transform .12s,box-shadow .15s}
.dtool:hover{transform:translateY(-2px);box-shadow:0 10px 24px -16px rgba(10,35,66,.5)}
.dtool h3{margin:0 0 4px}.dtool p{margin:0}
.dtool-ic{font-size:1.6rem;width:48px;height:48px;border-radius:14px;background:var(--soft);display:grid;place-items:center;flex:none}
.eq-q{margin:0 0 14px}
.eq-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.eq-c.off{opacity:.6}
.eq-h{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.eq-h>div{flex:1;min-width:0}.eq-h b{display:block}.eq-h small{display:block;color:var(--muted);overflow:hidden;text-overflow:ellipsis}
.eq-h select{width:auto;flex:none;padding:6px 10px;border-radius:10px}
.eq-list{align-items:start}
.eq-av{width:40px;height:40px;border-radius:50%;background:var(--primary);color:var(--on-primary);display:grid;place-items:center;font-weight:700;flex:none}
.eq-admin .eq-av{background:var(--accent);color:var(--on-accent)}
.eq-mods{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.eq-mods label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:.88rem;cursor:pointer}
.eq-mods label:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--surface))}
.eq-mods input{margin:0}
.eq-act{gap:6px}.eq-del{color:#B3261E}
.eq-new,.eq-full{margin-top:16px}.eq-new h2{margin-top:0}
.eq-pw{background:var(--soft);border-radius:14px;padding:12px 16px;margin:12px 0}.eq-pw p{margin:4px 0}.eq-pw small{display:block;color:var(--muted)}
.salle-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 12px}
.salle-bar>span{font-weight:700;font-size:.92rem}
.salle-seg{display:flex;flex-wrap:wrap;gap:6px}
.salle-seg button{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:8px 14px;font-weight:600}
.salle-seg button.on{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}
.salle-bar.pc{margin-bottom:16px}
.tel-now.off{background:var(--soft);color:var(--ink)}
.tel-lieu{display:flex;align-items:center;gap:8px;width:100%;font-size:.85rem;opacity:.9}
.tel-lieu input{flex:1;min-width:0;border:0;border-radius:10px;padding:8px 10px;font:inherit;color:var(--ink)}
.tel-stop{width:100%;margin-top:4px;border:1px solid rgba(255,255,255,.35);background:transparent;color:inherit;border-radius:12px;padding:10px;font-weight:600}
.tele-g .tele-qrc{margin:8px auto 12px}
.fz-qopt{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center}
.fz-qopt em{grid-column:1}
.fz-qopt.off{opacity:.55}
.fz-step{grid-row:1 / span 2;grid-column:2;display:inline-flex;align-items:center;gap:8px}
.fz-step button{width:36px;height:36px;border-radius:50%;border:1px solid var(--fz-encre,#0A2342);background:#fff;font-weight:700;font-size:1.1rem;cursor:pointer;color:var(--fz-encre,#0A2342)}
.fz-step button:disabled{opacity:.35;cursor:default}
.fz-step b{min-width:22px;text-align:center;font-size:1.1rem}
/* QR « Animation » côté vacancier */
.av{max-width:640px;margin:0 auto;padding:4px 0 24px;display:flex;flex-direction:column;gap:12px}
.av h1{margin:4px 0 0;font-size:1.6rem}
.av-none{align-items:center;text-align:center;padding-top:6vh}
.av-list{display:grid;gap:10px}
.av-it{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px;text-decoration:none;color:var(--ink)}
.av-it img{width:60px;height:60px;border-radius:12px;object-fit:cover}
.av-it span{flex:1}.av-it b{display:block;font-size:1.1rem}.av-it small{color:var(--muted)}.av-it i{font-style:normal;font-size:1.6rem;color:var(--muted)}
.av-back{color:var(--muted);text-decoration:none;font-weight:600}
.av-scr{position:relative;width:100%;aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:#0A2342;box-shadow:0 10px 26px -14px rgba(10,35,66,.6)}
.av-scr iframe{position:absolute;left:0;top:0;width:1280px;height:720px;border:0;transform-origin:0 0;pointer-events:none}
.av-turn{margin:-4px 0 0;font-size:.85rem;color:var(--muted);text-align:center}
@media (orientation:landscape) and (max-height:500px){.av-room>:not(.av-scr){display:none}.av-scr{position:fixed;inset:0;border-radius:0;z-index:50;aspect-ratio:auto}}
.av-go{width:100%;min-height:56px;font-size:1.15rem}
.av-loto{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:14px}
.av-last{display:flex;align-items:center;gap:14px}.av-last small{font-weight:700}
.av-k{margin:12px 0 6px;font-weight:700;font-size:.9rem;color:var(--muted)}
.av-nums{display:flex;flex-wrap:wrap;gap:6px}
.av-nums span{min-width:34px;padding:6px 0;text-align:center;border-radius:8px;background:var(--soft);font-weight:700}
.av-nums span.l{background:var(--accent);color:var(--on-accent)}

.ecr-nom{display:flex;align-items:center;gap:8px;font-size:.9rem;font-weight:600}
.ecr-nom input{border:1px solid var(--line);border-radius:10px;padding:7px 10px;font:inherit;font-weight:500;width:180px}
.ecr-more{margin-left:auto;font-size:.88rem;color:var(--muted)}

.fz-forms{grid-template-columns:repeat(4,minmax(0,1fr));max-width:none}
@media (max-width:1180px){.fz-forms{grid-template-columns:repeat(2,minmax(0,1fr))}}
.fz-fc-kick{margin:0 0 4px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--lp-acc,#F0732F)}
.fz-fc-inc{margin:12px 0 0;font-size:.92rem;line-height:1.5}
.fz-fc-inc small{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.65}
.fz-fc-gift{margin:8px 0 0;font-size:.92rem}
.fz-fc-gift span{display:inline-block;background:var(--lp-acc,#F0732F);color:#fff;font-size:.7rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border-radius:6px;padding:2px 7px;margin-right:4px}
.fz-fc-val{margin:10px 0 0;font-size:.88rem;opacity:.85}
.fz-fc-val b{color:#1F8A50}
.fz-fc-carte{border-style:dashed}
.fz-rule{max-width:820px;margin:18px auto 0;text-align:center;font-size:.95rem;opacity:.85}
.fz-carte{margin-top:22px;scroll-margin-top:90px}
.fz-cg{margin-bottom:12px}
.fz-cg h4{margin:14px 0 8px;font-size:1rem}
.fz-cg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fz-cg h4{grid-column:1 / -1}
.fz-mod.on{border-color:var(--lp-acc,#F0732F)!important;background:#FFF6EF!important}
.fz-cg-loto{font-size:.92rem;opacity:.8;margin:4px 0 12px}
.fz-best{background:#FFF6EF;border:1px solid #F3D3BD;border-radius:14px;padding:12px 16px;margin:8px 0 4px}
.fz-best p{margin:0;line-height:1.5}
.fz-opt.off{opacity:.55}
.fz-gift em{color:#1F8A50}
@media (max-width:700px){.fz-cg{grid-template-columns:1fr}}
.fz-opt span.fz-step{display:inline-flex;flex-direction:row;flex:none;align-items:center;gap:8px}
@media (max-width:900px){.fz-forms{grid-template-columns:1fr}}

#siteNav a.vdemo,.vdemo{display:inline-flex;align-items:center;margin-left:8px;padding:6px 12px;border-radius:999px;background:#F0732F;color:#fff;font-weight:700;font-size:.82rem;text-decoration:none;white-space:nowrap}
.vdemo-end{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px;background:rgba(10,35,66,.86)}
.vdemo-end>div{max-width:380px;background:#FBF3E4;color:#0A2342;border:3px solid #0A2342;border-radius:20px;box-shadow:0 6px 0 #0A2342;padding:22px;text-align:center;display:grid;gap:12px}
.vdemo-end b{font-size:1.5rem}.vdemo-end p{margin:0;line-height:1.4}.vdemo-end .btn{justify-content:center;background:#F0732F;color:#fff}.vdemo-ag{color:#0A2342;font-weight:700}
.bl-lock{opacity:.55;cursor:not-allowed}

.ico{width:1.3em;height:1.3em;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.25em}
.ico .a{stroke:var(--accent,#F0732F)}.ico .f{fill:var(--accent,#F0732F);stroke:currentColor}.ico .d{fill:var(--accent,#F0732F);stroke:none}
.dtool-ic{color:var(--ink)}.dtool-ic .ico{width:28px;height:28px}
.cpt-mods a .ico{width:20px;height:20px}
.pq-rk{display:grid;place-items:center;margin:0 auto 6px;width:84px;height:84px;border-radius:50%;background:var(--soft);color:var(--ink)}.pq-rk .ico{width:52px;height:52px}
.pq-rk.r1{background:#FFE9A8}.pq-rk.r2{background:#E6EAF0}.pq-rk.r3{background:#F7D9C2}
.pw-eye .ico{width:20px;height:20px}

.fck{position:fixed;left:16px;right:16px;bottom:16px;z-index:10000;display:flex;justify-content:center;pointer-events:none}
.fck-in{pointer-events:auto;max-width:640px;width:100%;background:#FBF3E4;color:#0A2342;border:3px solid #0A2342;border-radius:18px;box-shadow:0 6px 0 #0A2342,0 18px 40px rgba(10,35,66,.25);padding:18px 20px;font:15px/1.45 Figtree,system-ui,sans-serif}
.fck-t{display:block;font:600 1.15rem Fredoka,Figtree,sans-serif;margin-bottom:4px}.fck-in p{margin:0 0 12px}.fck-in a{color:#0A2342;font-weight:700}
.fck-opts{display:grid;gap:8px;margin:0 0 12px}.fck-o{display:flex;gap:10px;align-items:flex-start;background:#fff;border:1.5px solid #D9CBB3;border-radius:12px;padding:10px 12px;cursor:pointer}
.fck-o input{width:20px;height:20px;margin-top:2px;accent-color:#F0732F;flex:none}.fck-o b{display:block}.fck-o small{display:block;font-size:.85rem;opacity:.8}
.fck-b{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.fck-b button{font:600 .95rem Figtree,sans-serif;padding:11px 10px;border-radius:12px;border:2.5px solid #0A2342;background:#fff;color:#0A2342;cursor:pointer}
.fck-b button.go,.fck-b button[data-fck="no"]{background:#0A2342;color:#fff}.fck-b button:hover{filter:brightness(.95)}
@media (max-width:520px){.fck{left:8px;right:8px;bottom:8px}.fck-b{grid-template-columns:1fr 1fr}.fck-b button[data-fck="cfg"]{grid-column:1/-1;order:3}}
.lg-legal{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;font-size:.9rem}.lg-legal a,.lg-legal button{color:inherit;opacity:.85;background:none;border:0;padding:0;font:inherit;text-decoration:underline;cursor:pointer}

.fz-foot .lg-legal{justify-content:center}

.fck-opts[hidden]{display:none}

.card.vmail{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 18px;border-left:5px solid var(--accent)}.card.vmail p{margin:4px 0 0}
.lp-dev{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:-.1em 0 1.1em;padding:0}.lp-dev li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 11px;border:2px solid var(--lp-nuit);border-radius:999px;background:#fff;color:var(--lp-nuit);font-family:var(--lp-h);font-weight:600;font-size:clamp(.98rem,1.2vw,1.08rem);line-height:1}.lp-dev li svg{color:var(--lp-orange);flex:none}.lp-dev li.lp-dev-n{border-color:transparent;background:var(--lp-orange);color:#fff;padding-left:14px}
@media (max-width:420px){.lp-dev li{padding:6px 11px 6px 9px;font-size:.92rem;gap:6px}.lp-dev li svg{width:19px;height:19px}}
/* accueil allégé : formules en résumé, 6 questions, bandeau contact, équipe */
.lp-fsum{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:8px 0 18px}
.lp-fs{display:flex;flex-direction:column;gap:6px;padding:22px 20px;border:2px solid var(--lp-ligne);border-radius:var(--lp-r);background:#fff;color:var(--lp-ink);text-decoration:none;transition:border-color .15s,transform .15s}
.lp-fs:hover{border-color:var(--lp-nuit);transform:translateY(-2px)}
.lp-fs.star{border-color:var(--lp-orange);box-shadow:0 0 0 2px var(--lp-orange) inset}
.lp-fs small{font:700 .74rem/1.2 var(--lp-b);letter-spacing:.1em;text-transform:uppercase;color:var(--lp-acc)}
.lp-fs b{font:600 1.5rem/1.1 var(--lp-h)}
.lp-fs em{font:600 1.6rem/1.1 var(--lp-h);font-style:normal}.lp-fs em span{font:500 .82rem/1.2 var(--lp-b);color:var(--lp-gris)}
.lp-fs>span{color:var(--lp-gris);font-size:.95rem;line-height:1.5}
.lp-fs-n{color:var(--lp-gris);margin:0 0 18px}
.lp-c .lp-btn{width:auto}
.lp-faq-1{grid-template-columns:1fr 1fr}
.lp-more-q{margin:26px 0 0}
.lp-faq summary h3{display:inline;font:inherit;margin:0}
.lp-faq h2.faq-th{grid-column:1/-1;margin:34px 0 4px;font:700 .8rem/1.2 var(--lp-b);letter-spacing:.12em;text-transform:uppercase;color:var(--lp-acc)}
.lp-faq h2.faq-th:first-child{margin-top:0}
.lp-band .lp-in{text-align:center}.lp-band h2{font:600 clamp(1.8rem,3vw,2.4rem)/1.1 var(--lp-h);margin:0 0 10px}
.lp-band .lp-lead{margin-inline:auto}.lp-band .lp-cta{justify-content:center}
.lp-eq{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:920px;margin:6px auto 0}
.lp-eq article{display:flex;gap:18px;align-items:flex-start;padding:22px;border:2px solid var(--lp-ligne);border-radius:var(--lp-r);background:#fff}
.lp-eq-ph{flex:none;width:96px;height:96px;border-radius:50%;background:var(--lp-nuit);position:relative;overflow:hidden}
.lp-eq-ph::before{content:attr(data-ini);position:absolute;inset:0;display:grid;place-items:center;font:600 2.4rem/1 var(--lp-h);color:#fff}
.lp-eq-ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.lp-eq h3{margin:4px 0 2px;font:600 1.35rem/1.1 var(--lp-h)}.lp-eq small{font:700 .74rem/1.2 var(--lp-b);letter-spacing:.1em;text-transform:uppercase;color:var(--lp-acc)}
.lp-eq p{margin:8px 0 0;color:var(--lp-gris);line-height:1.55}
.lp-eq-n{color:var(--lp-gris);font-size:.92rem;margin:20px 0 0}.lp-eq-n a{color:inherit}
.lp-coord{list-style:none;padding:0;margin:0 0 26px;display:grid;gap:12px}
.lp-coord li{display:grid;gap:2px;padding:12px 16px;border-left:4px solid var(--lp-orange);background:var(--lp-doux);border-radius:0 12px 12px 0}
.lp-coord b{font:700 .74rem/1.2 var(--lp-b);letter-spacing:.1em;text-transform:uppercase;color:var(--lp-acc)}
.lp-coord a{font-weight:700;color:var(--lp-ink)}.lp-coord small{color:var(--lp-gris)}
.lp-mdet{margin-top:clamp(40px,6vw,72px)}
.lp-mdet h2{font:600 1.5rem/1.2 var(--lp-h);margin:30px 0 10px}
.lp-mdet ul{list-style:none;padding:0;margin:0;display:grid;gap:0}
.lp-mdet li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px 22px;align-items:center;padding:14px 0;border-bottom:1px solid var(--lp-ligne)}
.lp-mdet li div{display:grid;gap:2px}.lp-mdet li span{color:var(--lp-gris);font-size:.95rem}
.lp-mdet li em{font-style:normal;font-weight:700;white-space:nowrap}.lp-mdet li em small{font-weight:500;color:var(--lp-gris)}
.lp-mdet li p{margin:0;display:flex;gap:14px;white-space:nowrap}.lp-mdet li p a{font-weight:700;color:var(--lp-acc)}
.lp-mdet-n{color:var(--lp-gris);margin:22px 0 0}
@media (max-width:1000px){.lp-fsum{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.lp-fsum,.lp-eq,.lp-faq-1{grid-template-columns:1fr}.lp-eq article{flex-direction:column;align-items:center;text-align:center}.lp-mdet li{grid-template-columns:1fr}.lp-c .lp-btn{width:100%}}
.lp-fs-n,.lp-eq-n,.lp-more-q,.lp-fsum+.lp-fs-n+.lp-c{text-align:center}
#soirees .lp-mdet h2{font-size:1.5rem;margin:40px 0 8px}
