@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(fonts/barlow-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-weight:600;font-display:swap;src:url(fonts/barlow-600-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(fonts/barlow-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-weight:700;font-display:swap;src:url(fonts/barlow-700-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Barlow Condensed';font-weight:800;font-display:swap;src:url(fonts/barlow-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Barlow Condensed';font-weight:800;font-display:swap;src:url(fonts/barlow-800-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Nunito Sans';font-weight:400 800;font-display:swap;src:url(fonts/nunito-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Nunito Sans';font-weight:400 800;font-display:swap;src:url(fonts/nunito-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{--navy:#0E6A38;--deep:#0A4A27;--yel:#E6E11A;--cream:#ECEEDC;--line:#DDE2CC;--grey:#5B6478;--bg:#F8F7EF;--red:#A33A2A;--cond:'Barlow Condensed',sans-serif}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--bg);color:var(--navy);font-family:'Nunito Sans',sans-serif;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
button{font-family:inherit;cursor:pointer;color:inherit}
button:disabled{cursor:default;opacity:.4}
input,textarea{font-family:inherit;color:var(--navy)}
a{color:var(--navy)}
:focus-visible{outline:3px solid var(--yel);outline-offset:2px}
.cond{font-family:var(--cond)}
.kicker{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--deep)}
.muted{color:var(--grey)}
.hidden{display:none!important}

/* Header */
.top{background:var(--navy);color:#fff;padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:#fff}
.brand img{width:52px;height:52px;display:block}
.brand b{display:block;font-family:var(--cond);font-weight:800;font-size:22px;letter-spacing:.04em;text-transform:uppercase;line-height:1}
.brand small{display:block;font-size:12px;font-weight:600;color:var(--yel);margin-top:4px;letter-spacing:.02em}
.nav{display:flex;flex-wrap:wrap;gap:4px;background:rgba(255,255,255,.08);padding:4px;border-radius:999px}
.nav a,.nav button{border:0;border-radius:999px;padding:8px 16px;font-weight:700;font-size:14px;white-space:nowrap;background:transparent;color:#fff;text-decoration:none}
.nav .on{background:var(--yel);color:var(--navy)}

/* Common */
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px}
.btn{border:0;border-radius:999px;min-height:48px;padding:12px 20px;font-weight:800;font-size:15px;background:var(--yel);color:var(--navy)}
.btn.big{min-height:56px;font-size:17px}
.btn.ghost{background:transparent;border:2px solid var(--navy)}
.btn.small{min-height:0;padding:8px 14px;font-size:13px}
.btn.dark{background:var(--navy);color:#fff}
.btn.plain{background:#fff;border:1px solid var(--line);font-weight:700}
.btn.danger{background:#fff;border:1px solid var(--line);color:var(--red);font-weight:700}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--cream);border-radius:999px;padding:4px}
.seg button{border:0;border-radius:999px;padding:12px;font-weight:800;font-size:15px;min-height:44px;background:transparent;color:var(--navy)}
.seg button.on{background:var(--navy);color:var(--yel)}
.field{width:100%;min-height:48px;border-radius:14px;border:2px solid var(--navy);padding:10px 14px;font-size:16px;background:#fff;outline:none}
.field.soft{border-color:var(--line)}
textarea.field{line-height:1.4;resize:vertical}
.err{font-size:13px;font-weight:700;color:var(--red);margin:0}

/* Participant */
.p-main{display:flex;justify-content:center;padding:24px 16px 56px}
.p-col{width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px}
.h-cond{margin:0;font-family:var(--cond);font-weight:700;font-size:30px;text-transform:uppercase;line-height:1.05}
.wait{padding:32px 24px;text-align:center;align-items:center}
.dot{width:12px;height:12px;border-radius:50%;background:var(--yel);animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{50%{transform:scale(1.6);opacity:.5}}
.done{background:var(--navy);color:#fff;border:0}
.done .kicker{color:var(--yel)}
.qcard{background:#fff;border:2px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:14px}
.qcard.ok{border-color:var(--navy)}
.qhead{display:flex;gap:12px;align-items:flex-start}
.qnum{flex-shrink:0;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--cond);font-weight:800;font-size:18px;background:var(--cream);color:var(--navy)}
.ok .qnum{background:var(--navy);color:var(--yel)}
.qhead h2{margin:0;font-size:17px;font-weight:800;line-height:1.35;text-wrap:pretty}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}
.opt{min-height:48px;border-radius:12px;border:2px solid var(--navy);background:#fff;color:var(--navy);font-weight:700}
.opt.on{background:var(--navy);color:var(--yel)}
.scale .opt{font-family:var(--cond);font-size:24px}
.choices{display:flex;flex-direction:column;gap:8px}
.choices .opt{text-align:left;padding:10px 14px;font-size:15px;line-height:1.3}
.legend{display:flex;justify-content:space-between;font-size:13px;font-weight:700;color:var(--grey)}
.word{font-size:18px;font-weight:700;min-height:52px}
.hint{font-size:13px;color:var(--grey);font-weight:600}
.asktemps{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.asktemps button{border-radius:14px;border:2px solid var(--navy);padding:10px 12px;min-height:56px;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:#fff;color:var(--navy)}
.asktemps button.on{background:var(--navy);color:var(--yel)}
.asktemps small{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.asktemps span{font-size:15px;font-weight:800}
.lbl{display:flex;flex-direction:column;gap:8px}
.lbl>span{font-size:13px;font-weight:800}
.sent{padding:18px 16px;border-radius:12px;background:var(--navy);color:#fff;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.sent strong{font-size:17px;color:var(--yel)}

/* Écran projeté */
.s-main{flex:1;display:flex;align-items:center;justify-content:center;padding:24px;background:#06331B}
.stage{width:100%;max-width:1600px;aspect-ratio:16/9;container-type:inline-size;background:var(--navy);color:#fff;border-radius:12px;overflow:hidden;position:relative;display:flex;flex-direction:column;padding:4cqw 5cqw}
.stage .blob{position:absolute;right:-6cqw;top:-10cqw;width:28cqw;height:28cqw;border-radius:50%;background:var(--yel);opacity:.1}
body.fs .top{display:none}
body.fs .s-main{padding:0;background:var(--navy)}
body.fs .stage{max-width:none;border-radius:0;max-height:100vh;width:min(100vw,177.78vh)}
.fsbtn{position:fixed;right:14px;bottom:14px;border:0;border-radius:999px;padding:8px 14px;font-weight:800;font-size:12px;background:rgba(255,255,255,.12);color:#fff;opacity:.5}
.fsbtn:hover{opacity:1}
.s-welcome{flex:1;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:5cqw;align-items:center;position:relative}
.s-welcome h1{margin:0;font-family:var(--cond);font-weight:800;font-size:6.2cqw;white-space:nowrap;line-height:.92;text-transform:uppercase}
.y{color:var(--yel)}
.qrbox{display:flex;flex-direction:column;align-items:center;gap:1.4cqw}
.qrbox img{width:22cqw;height:22cqw;border-radius:1.4cqw;background:#fff;display:block}
.qrbox span{font-size:1.6cqw;font-weight:800}
.qrbox small{font-size:1.3cqw;font-weight:700;color:var(--yel)}
.s-kick{font-size:1.4cqw;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--yel)}
.s-wait{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2cqw;position:relative}
.s-wait h1{margin:0;font-family:var(--cond);font-weight:800;font-size:8cqw;line-height:.92;text-transform:uppercase}
.s-count{font-family:var(--cond);font-weight:800;font-size:14cqw;line-height:.85;color:var(--yel)}
.s-qrmini{position:absolute;right:0;bottom:0;display:flex;align-items:center;gap:1.2cqw;font-size:1.4cqw;font-weight:800;text-align:right}
.s-qrmini img{width:10cqw;height:10cqw;border-radius:.8cqw;background:#fff}
.s-q{flex:1;display:flex;flex-direction:column;gap:2.4cqw;min-height:0;position:relative}
.s-q h1{margin:0;font-size:3.4cqw;font-weight:800;line-height:1.15;text-wrap:pretty;max-width:80cqw}
.s-dots{display:flex;gap:.8cqw;align-items:center}
.s-dots i{height:.8cqw;width:.8cqw;border-radius:.4cqw;background:rgba(255,255,255,.35);transition:width .3s}
.s-dots i.on{width:3cqw;background:var(--yel)}
.s-scale{flex:1;display:flex;gap:4cqw;min-height:0}
.s-avg{display:flex;flex-direction:column;justify-content:center;gap:.4cqw;min-width:16cqw}
.s-avg b{font-family:var(--cond);font-weight:800;font-size:12cqw;line-height:.9;color:var(--yel)}
.s-bars{flex:1;display:flex;gap:1.2cqw;align-items:stretch}
.s-bar{flex:1;display:flex;flex-direction:column;gap:.6cqw}
.s-bar>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:.4cqw}
.s-bar>div i{width:100%;border-radius:.6cqw .6cqw 0 0;background:var(--yel);transition:height .5s}
.s-bar>div span{font-size:1.4cqw;font-weight:800}
.s-bar>span{text-align:center;font-family:var(--cond);font-weight:700;font-size:2.2cqw;border-top:2px solid rgba(255,255,255,.3);padding-top:.4cqw}
.s-choice{flex:1;display:flex;flex-direction:column;justify-content:center;gap:1.3cqw}
.s-choice>div{display:grid;grid-template-columns:28cqw minmax(0,1fr) 7cqw;gap:1.6cqw;align-items:center}
.s-choice span{font-size:1.7cqw;font-weight:700;line-height:1.2}
.s-choice .track{height:3.4cqw;border-radius:.6cqw;background:rgba(255,255,255,.08);overflow:hidden}
.s-choice .track i{display:block;height:100%;border-radius:.6cqw;background:var(--yel);transition:width .5s}
.s-choice b{font-family:var(--cond);font-weight:800;font-size:3cqw;text-align:right}
.s-words{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;overflow:hidden}
.wc{position:relative;width:100%;container-type:inline-size}
.wc span{position:absolute;white-space:nowrap;font-family:var(--cond);font-weight:700;line-height:1;transition:left .5s,top .5s,font-size .5s}
.s-empty{flex:1;display:flex;align-items:center;justify-content:center;font-size:2.2cqw;font-weight:700}

/* Animateur */
.c-main{padding:28px 24px 56px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px;align-items:start;max-width:1400px;width:100%;margin:0 auto}
.col{display:flex;flex-direction:column;gap:20px}
.rowsb{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}
.h-big{margin:0;font-family:var(--cond);font-weight:800;font-size:36px;text-transform:uppercase;line-height:1}
.blk{background:#fff;border:2px solid var(--line);border-radius:20px;padding:20px;display:flex;flex-direction:column;gap:16px}
.blk.cur{border-color:var(--navy)}
.blk h2{margin:0;font-family:var(--cond);font-weight:800;font-size:30px;text-transform:uppercase;line-height:1}
.live{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;background:var(--deep);color:#fff;padding:5px 9px;border-radius:6px}
.btns{display:flex;flex-wrap:wrap;gap:8px}
.qrows{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line);padding-top:12px}
.qrow{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 12px;border-radius:12px}
.qrow.sel{background:var(--cream)}
.qrow>b{font-family:var(--cond);font-weight:800;font-size:22px}
.qrow>button.t{border:0;background:transparent;padding:0;text-align:left;display:flex;flex-direction:column;gap:3px}
.qrow .t span{font-size:14px;font-weight:700;line-height:1.3;text-wrap:pretty}
.qrow .t small{font-size:12px;font-weight:700;color:var(--grey)}
.pill{border:0;border-radius:999px;padding:7px 12px;font-weight:800;font-size:12px;white-space:nowrap;background:var(--cream);color:var(--navy)}
.pill.on{background:var(--deep);color:#fff}
.aside{position:sticky;top:24px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:22px;display:flex;flex-direction:column;gap:16px}
.mini-bars{display:flex;gap:4px;height:120px;align-items:flex-end}
.mini-bars>div{flex:1;display:flex;flex-direction:column;justify-content:flex-end;height:100%;gap:4px}
.mini-bars i{display:block;background:var(--navy);border-radius:4px 4px 0 0}
.mini-bars span{text-align:center;font-size:12px;font-weight:800}
.mini-bars small{text-align:center;font-size:11px;font-weight:700;color:var(--grey)}
.hbar{display:flex;flex-direction:column;gap:4px}
.hbar>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:13px;font-weight:700}
.hbar .track{height:10px;border-radius:5px;background:var(--cream);overflow:hidden}
.hbar .track i{display:block;height:100%;background:var(--navy)}
.cloud{padding:14px;background:var(--navy);border-radius:12px}
.screenmini{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:var(--navy);color:#fff;font-size:13px;font-weight:700}
.screenmini b{color:var(--yel)}
.rehearsal{display:flex;flex-wrap:wrap;gap:8px;padding-top:8px;border-top:1px solid var(--line)}

/* Leadteam */
.l-main{padding:28px 24px 56px;max-width:1200px;width:100%;margin:0 auto;display:flex;flex-direction:column;gap:24px}
.lock{display:flex;justify-content:center;padding:40px 16px}
.lock .card{width:100%;max-width:380px;padding:28px}
.pin{font-size:22px;letter-spacing:.3em;text-align:center;min-height:52px}
.sec{display:flex;flex-direction:column;gap:12px}
.sec-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;border-bottom:2px solid var(--navy);padding-bottom:6px}
.sec-h h2{margin:0;font-family:var(--cond);font-weight:700;font-size:26px;text-transform:uppercase}
.sec-h span{font-size:13px;font-weight:800;color:var(--deep)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:12px}
.grid.q{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:10px}
.res{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;display:flex;flex-direction:column;gap:14px}
.res .qhead .qnum{width:28px;height:28px;font-size:17px;background:var(--navy);color:var(--yel)}
.res p{margin:0;font-size:15px;font-weight:800;line-height:1.35}
.tags{display:flex;flex-wrap:wrap;gap:6px}
.tag{font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--cream)}
.filters{display:flex;flex-wrap:wrap;gap:10px 20px;align-items:center;padding:12px;background:#fff;border:1px solid var(--line);border-radius:14px}
.filters>div{display:flex;flex-wrap:wrap;gap:4px}
.f1{border:0;border-radius:999px;padding:8px 14px;font-weight:800;font-size:13px;white-space:nowrap;background:transparent}
.f1.on{background:var(--navy);color:#fff}
.f2{border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-weight:700;font-size:12px;white-space:nowrap;background:#fff;color:var(--grey)}
.f2.on{background:var(--cream);color:var(--navy)}
.qa{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:12px}
.qa.isdone{opacity:.55}
.qa.isstar{border:2px solid var(--yel)}
.badge{font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:6px;background:var(--cream)}
.badge.bilan{background:var(--navy);color:#fff}
.badge.campagne{background:var(--yel)}
.qa p{margin:0;font-size:16px;font-weight:700;line-height:1.4;text-wrap:pretty;white-space:pre-wrap;overflow-wrap:anywhere}
.qa-f{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px;margin-top:auto}
.qa-f>span{font-size:12px;font-weight:700;color:var(--grey)}
.qa-f button{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px;white-space:nowrap;background:#fff}
.qa-f button.star{background:var(--yel)}
.qa-f button.dn{background:var(--deep);color:#fff}
.empty{margin:0;padding:40px;text-align:center;color:var(--grey);font-size:15px;background:#fff;border:1px dashed var(--line);border-radius:14px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--red);color:#fff;padding:10px 16px;border-radius:10px;font-weight:700;font-size:14px;z-index:50;max-width:calc(100% - 32px)}
.offline{background:#7a5b00;color:#fff;text-align:center;font-size:13px;font-weight:700;padding:6px}
@media (max-width:600px){.top{padding:12px 16px}.brand img{width:44px;height:44px}.c-main,.l-main{padding:20px 16px 48px}}
.logo-ring{border-radius:50%;box-shadow:0 0 0 3px #fff}
.whoami{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:14px;background:var(--cream);font-size:14px}
.whoami button{border:0;background:transparent;font-weight:800;font-size:13px;text-decoration:underline;padding:4px}
.tablewrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:14px;max-height:70vh}
.ptable{border-collapse:collapse;width:100%;font-size:13px}
.ptable th,.ptable td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}
.ptable th{position:sticky;top:0;background:var(--navy);color:#fff;font-weight:800;font-size:12px;cursor:help}
.ptable tbody tr:nth-child(even){background:#FAFAF4}
.ltbtn{margin-left:auto;border-radius:999px;padding:8px 16px;font-weight:800;font-size:14px;background:var(--yel);color:var(--navy);text-decoration:none;white-space:nowrap}
body.v-participant .top{flex-wrap:nowrap}
.brand{min-width:0}
@media (max-width:600px){body.v-participant .brand b{font-size:18px}body.v-participant .brand small{font-size:10.5px}.ltbtn{padding:7px 12px;font-size:13px}}
