/* Polices livrées avec le jeu (public/fonts, licence SIL Open Font License) : rien n'est chargé sur Internet. */
@font-face{font-family:'Outfit';font-style:normal;font-weight:100 900;font-display:swap;src:url('/fonts/outfit-latin.woff') format('woff-variations'),url('/fonts/outfit-latin.woff') format('woff')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url('/fonts/dm-sans-latin.woff') format('woff-variations'),url('/fonts/dm-sans-latin.woff') format('woff')}
/*
 * L'Arène du Savoir · feuille de style
 * Première partie : styles du prototype (Quiz Arèna), repris tels quels.
 * Seconde partie : ajouts pour la version Wi-Fi (téléphones, équipes, flamme et éclair…).
 */
:root{--bg:#0d0d1c;--panel:#161628;--panel2:#1d1b34;--stroke:#2b2944;--muted:#9997b5;--text:#f7f5ff;--accent:#8f61ff;--accent2:#b98aff;--good:#2ad49b;--bad:#ff607f;--shadow:0 18px 70px rgba(0,0,0,.25);}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:15px 'DM Sans',system-ui,-apple-system,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cbb0ff;outline-offset:3px}button:disabled{opacity:.5;cursor:not-allowed}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand,.stat strong,.quiz-title{font-family:'Outfit','DM Sans',sans-serif}
.app-shell{display:flex;min-height:100vh}.sidebar{width:246px;flex:none;position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:29px 18px;background:#111021;border-right:1px solid #24223a;z-index:10}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:900;letter-spacing:-.8px;white-space:nowrap}.brand-symbol{width:41px;height:41px;border-radius:13px;background:linear-gradient(140deg,#ba7dff,#7447f7);display:grid;place-items:center;color:white;box-shadow:0 7px 24px #8653f866;font-size:24px;transform:rotate(-7deg)}.brand-symbol span{transform:rotate(7deg)}.brand b{color:#ab80ff}.sidebar-label{font-size:10px;letter-spacing:1.7px;color:#65627f;font-weight:800;margin:50px 12px 13px}.menu-item{display:flex;align-items:center;gap:13px;border:0;background:transparent;color:#a7a4c0;border-radius:12px;padding:14px 14px;width:100%;text-align:left;font-weight:700;margin:3px 0;transition:.18s}.menu-item:hover,.menu-item.active{color:white;background:#26203e}.menu-item.active{box-shadow:inset 3px 0 #a16afe}.menu-ico{font-size:19px;width:23px;text-align:center;line-height:1}.sidebar-bottom{margin-top:auto}.aside-card{border:1px solid #41336c;background:linear-gradient(160deg,#292046,#18162c);border-radius:17px;padding:17px}.aside-card .tiny-icon{font-size:27px}.aside-card h4{margin:10px 0 7px;font-size:15px}.aside-card p{color:#aaa5c8;font-size:12px;line-height:1.6;margin:0 0 12px}.aside-card button{border:0;color:white;background:#7449d6;border-radius:9px;padding:10px 13px;width:100%;font-size:12px;font-weight:800}.side-footer{margin-top:20px;color:#55516d;font-size:11px;padding:0 7px}.main{min-width:0;flex:1;max-width:1600px;margin:0 auto;padding:29px clamp(22px,4.2vw,68px) 70px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:33px}.top-kicker{font-size:12px;letter-spacing:.7px;color:#8784a8;font-weight:800;text-transform:uppercase}.top-title{font-family:'Outfit','DM Sans',sans-serif;font-weight:700;font-size:18px;margin-top:6px}.top-right{display:flex;align-items:center;gap:12px}.search{background:#19182d;border:1px solid #2b2944;border-radius:12px;display:flex;align-items:center;gap:10px;padding:0 14px;height:44px;color:#938dac;width:270px}.search input{color:white;border:0;outline:none;background:transparent;min-width:0;width:100%;font-size:13px}.search input::placeholder{color:#77738e}.circle-btn,.profile-btn{height:44px;width:44px;border:1px solid #302b4b;border-radius:13px;background:#1b1931;color:#cbc6e4;display:grid;place-items:center}.profile-btn{background:linear-gradient(135deg,#e7bdff,#8066ff);border:3px solid #29243c;color:#251543;font-weight:900;font-size:15px}
.hero{min-height:305px;position:relative;overflow:hidden;background:radial-gradient(circle at 77% 31%,#a25aff 0,#713bea 37%,#5225b2 72%,#4925a0 100%);border:1px solid #a87bff50;border-radius:24px;padding:43px 43px 34px;box-shadow:0 15px 50px #441d8c55}.hero:before,.hero:after{content:'';position:absolute;border:2px solid #ffffff1c;border-radius:50%;pointer-events:none}.hero:before{width:520px;height:520px;right:-85px;top:-173px}.hero:after{width:360px;height:360px;right:2px;top:-84px}.hero-copy{position:relative;z-index:2;max-width:580px}.eyebrow{display:inline-flex;align-items:center;gap:8px;border-radius:7px;color:#f6ebff;background:#ffffff20;border:1px solid #ffffff30;padding:6px 10px;font-size:10px;font-weight:900;letter-spacing:2px}.hero h1{font-size:clamp(35px,3.8vw,60px);font-weight:900;letter-spacing:-1.8px;line-height:1.02;max-width:620px;margin:20px 0 17px;text-transform:uppercase}.hero h1 em{font-style:normal;color:#ffd773}.hero p{color:#e9defd;font-size:14px;line-height:1.6;max-width:425px;margin-bottom:23px}.cta-row{display:flex;gap:10px;flex-wrap:wrap}.btn{border:0;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 20px;font-weight:800;font-size:13px;transition:transform .18s,background .18s}.btn:hover{transform:translateY(-2px)}.btn-primary{background:#fff;color:#48259e;box-shadow:0 5px 19px #28104c35}.btn-primary:hover{background:#f4eaff}.btn-light{background:#ffffff22;border:1px solid #ffffff52;color:white}.btn-violet{background:linear-gradient(140deg,#9b6bff,#794cea);color:white}.btn-dark{background:#26233f;border:1px solid #3c355c;color:#e4defc}.btn-quiet{background:transparent;color:#b4a9d7;border:1px solid #363052}.btn-small{padding:9px 13px;font-size:12px}.hero-art{position:absolute;width:310px;height:310px;right:4.5%;top:2%;pointer-events:none;filter:drop-shadow(0 25px 21px #32137b80)}.art-orbit{position:absolute;inset:30px;border:2px dashed #ffffff58;border-radius:50%;transform:rotate(-28deg)}.art-orbit:after{content:'';position:absolute;width:18px;height:18px;background:#ffca6e;border-radius:50%;top:48px;right:19px;box-shadow:0 0 0 8px #ffffff16}.art-disc{position:absolute;inset:62px 64px 48px;background:linear-gradient(145deg,#ffdc76,#ff8b76);border-radius:42%;transform:rotate(17deg);display:grid;place-items:center;box-shadow:inset -11px -12px 30px #d2507545,0 15px 40px #25104b75}.art-disc b{font-size:109px;font-weight:900;color:white;text-shadow:0 9px 0 #ed6b7166;transform:rotate(-17deg);font-family:'Outfit'}.art-chip{position:absolute;display:grid;place-items:center;width:65px;height:65px;border-radius:17px;background:#d4f88c;left:0;top:66px;font-size:35px;transform:rotate(-18deg);box-shadow:0 12px 24px #2a145366}.art-burst{position:absolute;width:65px;height:65px;background:#9edbff;border-radius:17px;right:1px;bottom:40px;display:grid;place-items:center;font-size:31px;transform:rotate(18deg)}.art-star{position:absolute;color:#ffe48b;font-size:36px;top:10px;right:28px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:24px 0 36px}.stat{background:#19182c;border:1px solid #302b49;border-radius:16px;padding:17px 21px;display:flex;align-items:center;gap:15px}.stat-icon{height:42px;width:42px;border-radius:13px;display:grid;place-items:center;font-size:23px;background:#3b285b}.stat:nth-child(2) .stat-icon{background:#163d48}.stat:nth-child(3) .stat-icon{background:#49351e}.stat strong{display:block;font-size:20px;font-weight:900;margin-bottom:2px}.stat small{color:#a5a0c2;font-size:11px;font-weight:700}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:19px}.section-head h2{font-size:26px;letter-spacing:-.5px;margin:0}.section-head p{margin:5px 0 0;color:#a39fbf;font-size:13px}.text-link{border:0;background:transparent;color:#bd9eff;font-size:12px;font-weight:800}.themes-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.theme-card{text-align:left;background:#19182d;border:1px solid #302d4b;color:white;border-radius:17px;padding:0;overflow:hidden;transition:transform .18s,border-color .18s,box-shadow .18s;min-width:0}.theme-card:hover{transform:translateY(-5px);border-color:#9862ff;box-shadow:0 18px 28px #04040b55}.theme-visual{height:125px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:linear-gradient(135deg,var(--c1),var(--c2))}.theme-visual:before{content:'';position:absolute;width:155px;height:155px;border:2px solid #ffffff29;border-radius:50%;top:-70px;right:-50px}.theme-visual:after{content:'';position:absolute;width:100px;height:100px;border-radius:50%;background:#ffffff12;bottom:-55px;left:-20px}.theme-emoji{position:relative;z-index:1;font-size:67px;filter:drop-shadow(0 13px 9px #0004);transform:rotate(-8deg)}.theme-tag{position:absolute;left:12px;top:11px;padding:5px 8px;background:#0b092e63;color:white;border:1px solid #ffffff2a;backdrop-filter:blur(5px);border-radius:6px;font-size:10px;font-weight:800;z-index:1}.theme-info{padding:16px 16px 17px}.theme-info h3{font-size:16px;margin:0 0 5px;letter-spacing:-.1px}.theme-info p{color:#8f8caa;font-size:11px;margin:0;display:flex;justify-content:space-between;gap:4px}.theme-info p span:last-child{color:#b998ff;font-weight:800}.lower-row{display:grid;grid-template-columns:1.25fr 1fr;gap:18px;margin-top:33px}.panel{border:1px solid #302b49;border-radius:18px;padding:23px;background:#19182e}.panel h3{margin:0 0 8px;font-size:19px}.panel p{color:#aaa5c5;font-size:13px;line-height:1.6}.how-steps{display:flex;gap:8px;margin-top:23px}.how-step{flex:1;min-width:0}.how-no{display:grid;place-items:center;width:29px;height:29px;background:#35275a;border:1px solid #5e428e;border-radius:9px;color:#cbadff;font-weight:900;font-size:12px;margin-bottom:9px}.how-step b{font-size:12px}.how-step p{font-size:11px;line-height:1.5;margin:5px 0}.code-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:15px;border-radius:12px;background:#30224e;padding:13px}.code-banner code{font-size:20px;letter-spacing:2px;font-family:'Outfit';font-weight:900}.tag-demo{display:inline-block;padding:5px 9px;border-radius:6px;background:#ffffff11;border:1px solid #ffffff1d;color:#aaa5bf;font-size:11px;letter-spacing:.2px;font-weight:700}
.page-head{margin-bottom:25px}.back{background:transparent;border:none;color:#b99be9;font-weight:800;padding:0 0 15px;font-size:13px}.page-head h1{font-size:35px;line-height:1.1;letter-spacing:-1px;margin:0 0 9px}.page-head p{font-size:14px;color:#a9a3c0;margin:0}.content-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(250px,1fr);gap:21px;align-items:start}.card{background:#19182e;border:1px solid #322f4c;border-radius:20px;padding:26px}.card h3{font-size:18px}.small-label{display:block;color:#a9a4c3;font-weight:800;margin:0 0 12px;font-size:12px}.choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.pick-theme{background:#22203a;border:2px solid transparent;border-radius:13px;color:white;min-height:98px;padding:12px 4px;font-size:11px;font-weight:800}.pick-theme>span{font-size:26px;display:block;margin-bottom:10px}.pick-theme.selected{border-color:#a16cff;background:#352657}.setting-row{padding-top:25px;margin-top:25px;border-top:1px solid #34314c}.segmented{display:flex;gap:9px;flex-wrap:wrap}.pill-choice{background:#24213b;border:1px solid #3c3757;border-radius:10px;color:#bdb8d1;padding:12px 17px;font-weight:800;font-size:12px}.pill-choice.selected{background:#503181;border-color:#a171f7;color:white}.summary-cover{height:175px;background:linear-gradient(135deg,var(--c1,#7044d7),var(--c2,#a66aea));border-radius:14px;display:grid;place-items:center;font-size:84px;position:relative;overflow:hidden}.summary-cover:before{content:'';position:absolute;border:2px solid #ffffff40;border-radius:50%;width:260px;height:260px;top:-80px;left:-80px}.summary-cover>span{position:relative;filter:drop-shadow(0 10px 7px #0004)}.summary-line{display:flex;justify-content:space-between;font-size:13px;border-bottom:1px solid #333048;padding:13px 0}.summary-line span:first-child{color:#aaa5c5}.summary-line span:last-child{font-weight:800}.form-control{width:100%;height:49px;color:white;background:#22203b;border:1px solid #47405e;border-radius:11px;padding:0 15px;margin:3px 0 17px;outline:none}.form-control::placeholder{color:#7f7a9e}.input-note{color:#9088ad;font-size:12px;line-height:1.6;margin:8px 0 20px}.error-text{color:#ff869e;font-size:12px;min-height:20px}.pin{font-family:'Outfit';font-weight:900;letter-spacing:7px;font-size:clamp(36px,5vw,64px);margin:10px 0 15px;color:white}.lobby-head{text-align:center;background:linear-gradient(140deg,#5a2cb9,#372271);border:1px solid #8c61c8;border-radius:20px;padding:27px;margin-bottom:21px}.lobby-head small{text-transform:uppercase;letter-spacing:2.8px;color:#cbb5ff;font-weight:900}.lobby-head p{color:#dbcdfd;margin:0 0 13px;font-size:13px}.player-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.player{display:flex;align-items:center;gap:10px;border:1px solid #363150;background:#211e38;border-radius:11px;padding:11px}.player-avatar{display:grid;place-items:center;width:37px;height:37px;border-radius:11px;background:#5a408e;color:#f9efff;font-weight:900;flex:none}.player strong{font-size:12px}.player small{display:block;color:#9f98b6;font-size:10px;margin-top:3px}.player-remove{margin-left:auto;background:transparent;border:none;color:#aaa0cb;font-size:18px}.join-row{display:flex;gap:10px}.join-row input{margin:0;flex:1;min-width:0}.lobby-footer{margin-top:22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lobby-footer .btn-violet{margin-left:auto}.quiz-shell{max-width:950px;margin:auto}.quiz-toolbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:18px;color:#a9a5c3;font-size:12px;font-weight:800}.timer{display:inline-grid;place-items:center;border:3px solid #ae83fa;border-radius:50%;font-size:20px;color:white;width:57px;height:57px}.quiz-question{background:linear-gradient(135deg,#38216b,#6e3fc3);padding:35px 30px;text-align:center;border:1px solid #7953c3;border-radius:20px;min-height:230px;display:flex;flex-direction:column;justify-content:center;align-items:center}.quiz-question h1{max-width:780px;margin:11px auto;font-size:clamp(24px,3vw,40px);letter-spacing:-.7px;line-height:1.2}.quiz-overline{color:#d2b8ff;text-transform:uppercase;letter-spacing:2px;font-size:11px;font-weight:900}.quiz-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:17px}.answer-choice{min-height:117px;text-align:left;border:2px solid #ffffff35;border-radius:15px;padding:18px 21px;color:white;font-size:18px;font-weight:800;display:flex;align-items:center;gap:15px;transition:transform .15s,filter .15s}.answer-choice:hover{filter:brightness(1.16);transform:translateY(-2px)}.answer-choice:nth-child(1){background:#e64668}.answer-choice:nth-child(2){background:#366be2}.answer-choice:nth-child(3){background:#d99b18}.answer-choice:nth-child(4){background:#139b88}.answer-symbol{font-size:27px;color:#ffffffc9;width:31px;flex:none}.quiz-foot{display:flex;align-items:center;justify-content:space-between;margin-top:18px;gap:15px;color:#9d99b8;font-size:12px}.progress{height:7px;border-radius:99px;background:#312b46;overflow:hidden;flex:1;max-width:240px}.progress div{height:100%;background:#a778ff;border-radius:99px;transition:width .2s}.center-panel{text-align:center;max-width:700px;margin:35px auto;padding:39px}.center-emoji{font-size:58px;margin-bottom:14px}.center-panel h2{font-size:30px;margin-bottom:12px}.center-panel p{color:#a6a0be;line-height:1.7}.round-answer{margin:17px 0;background:#352b53;border-radius:12px;padding:17px;font-size:15px}.ranking{width:100%;border-collapse:collapse;margin:22px 0}.ranking td,.ranking th{text-align:left;padding:14px 13px;border-bottom:1px solid #35304c;font-size:13px}.ranking th{font-size:11px;color:#9690b5;text-transform:uppercase;letter-spacing:1px}.ranking td:last-child,.ranking th:last-child{text-align:right}.ranking tr:first-of-type td{color:#ead4a1}.rank-num{font-weight:900;color:#b58ef5;margin-right:14px}.score-chip{display:inline-block;padding:6px 10px;border-radius:8px;background:#2d2549;color:#d9c4ff;font-weight:900}.podium{display:flex;justify-content:center;align-items:flex-end;gap:10px;margin:33px 0 20px}.podium-slot{width:145px;text-align:center}.podium-avatar{width:54px;height:54px;border-radius:18px;margin:0 auto 10px;display:grid;place-items:center;background:#6748ab;font-size:25px}.podium-slot strong{display:block;font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-slot small{color:#aaa2c4;display:block;margin-bottom:12px}.podium-block{border-radius:9px 9px 0 0;background:linear-gradient(#805bea,#4c2b90);height:70px;display:grid;place-items:center;font-family:'Outfit';font-size:31px;font-weight:900}.podium-slot.first .podium-block{height:111px;background:linear-gradient(#ffc977,#bd792b)}.podium-slot.third .podium-block{height:47px;background:linear-gradient(#d7927a,#9b5c49)}.empty-state{text-align:center;background:#1a192f;border:1px dashed #463e62;padding:54px 18px;border-radius:20px;color:#aaa2c3}.empty-state .empty-emoji{font-size:40px}.empty-state h2{color:white}.filter-empty{grid-column:1/-1;color:#aaa2c3;border:1px dashed #50496d;padding:25px;border-radius:12px;text-align:center}.footerline{margin-top:46px;border-top:1px solid #25223a;padding-top:19px;font-size:11px;color:#76718f;display:flex;justify-content:space-between;gap:20px}.toast{position:fixed;bottom:25px;right:25px;background:#332459;border:1px solid #8961d0;color:white;padding:13px 18px;border-radius:12px;box-shadow:var(--shadow);font-size:13px;z-index:99;animation:fadein .2s}@keyframes fadein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1200px){.themes-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hero-art{right:-2%;opacity:.75}.hero-copy{max-width:490px}.sidebar{width:220px}.main{padding-left:27px;padding-right:27px}}
@media(max-width:900px){.sidebar{width:78px;padding:25px 10px;align-items:center}.brand{font-size:0}.brand-symbol{flex:none}.sidebar-label,.menu-item .menu-label,.aside-card,.side-footer{display:none}.menu-item{justify-content:center;padding:13px 8px}.menu-ico{width:auto}.sidebar-bottom{margin-top:auto}.themes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lower-row,.content-grid{grid-template-columns:1fr}.hero-art{opacity:.3;right:-45px}.hero{padding:31px}.hero h1{font-size:43px}.topbar{margin-bottom:24px}}
@media(max-width:600px){.app-shell{display:block}.sidebar{width:100%;height:64px;position:sticky;top:0;padding:8px 16px;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid #302945}.brand{font-size:17px}.brand-symbol{width:36px;height:36px;font-size:20px}.sidebar-label,.sidebar-bottom{display:none}.side-menu{display:flex;gap:2px}.menu-item{width:37px;height:37px;margin:0;padding:0}.menu-ico{font-size:16px}.main{padding:24px 17px 50px}.topbar{gap:9px}.top-kicker{font-size:10px}.top-title{font-size:16px}.search{width:43px;height:41px;padding:0 12px;overflow:hidden}.search:focus-within{width:170px}.search input:not(:focus){min-width:140px}.circle-btn{display:none}.profile-btn{height:41px;width:41px}.hero{min-height:315px;border-radius:19px;padding:27px 24px}.hero h1{font-size:39px}.hero-art{width:240px;height:240px;opacity:.18;right:-80px;top:40px}.hero p{max-width:310px}.stats{gap:8px;margin:14px 0 29px}.stat{gap:7px;padding:13px 10px;display:block;text-align:center}.stat-icon{margin:0 auto 8px;width:35px;height:35px;font-size:18px}.stat strong{font-size:16px}.stat small{font-size:9px}.section-head h2{font-size:23px}.themes-grid{gap:10px}.theme-visual{height:105px}.theme-emoji{font-size:56px}.theme-info{padding:12px}.theme-info h3{font-size:14px}.theme-info p{font-size:10px}.panel{padding:19px}.how-steps{gap:7px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:19px}.page-head h1{font-size:29px}.player-list{grid-template-columns:1fr}.quiz-answers{gap:9px}.answer-choice{min-height:115px;font-size:14px;padding:12px;display:block}.answer-symbol{display:block;margin-bottom:9px}.quiz-question{min-height:210px;padding:25px 12px}.quiz-question h1{font-size:25px}.lobby-footer .btn-violet{margin-left:0}.pin{letter-spacing:3px}.podium-slot{width:95px}.footerline{display:block}.footerline span{display:block;margin-top:7px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* ====================================================================
   Ajouts pour la version Wi-Fi (même univers visuel que le prototype)
   ==================================================================== */
:root{
  --ans-a:#e64668;--ans-b:#366be2;--ans-c:#d99b18;--ans-d:#139b88;
  --team-0:#b98aff;--team-1:#4fc3f7;--team-2:#ff7aa8;--team-3:#9be15d;
  --flame:#ff7a45;--flame-bg:#3a2229;--bolt:#ffd34d;--bolt-bg:#33301c;
  --gold:#ead4a1;
  color-scheme:dark;
}
html,body{background:var(--bg)}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}
#screen{outline:none}
.tag-demo b{color:var(--text)}

/* ---- logo L'Arène du Savoir (deux lignes) ---- */
.brand-name{display:grid;font-size:17px;line-height:1.02;letter-spacing:-.4px}
.brand-name b{font-size:12.5px;letter-spacing:1.6px;color:#ab80ff}
@media(max-width:900px){.sidebar .brand-name{display:none}}
@media(max-width:600px){.sidebar .brand-name{display:grid;font-size:15px}.sidebar .brand-name b{font-size:11px;letter-spacing:1.2px}}
.player-top .brand-name{font-size:15px}
.player-top .brand-name b{font-size:11px;letter-spacing:1.2px}

/* ---- barre du haut et menu ---- */
.net{font-size:12px;font-weight:800;padding:8px 12px;border-radius:10px;background:#3a1d2c;color:#ff869e;border:1px solid #6b2c45;white-space:nowrap}
.circle-btn{cursor:pointer;font-size:17px}
.circle-btn svg{width:20px;height:20px}
.circle-btn[aria-pressed="false"]{color:#6f6a8c}
.aside-card.live{border-color:#7a3a55;background:linear-gradient(160deg,#3a1d38,#18162c)}
.aside-card.live .tiny-icon{display:inline-block;width:12px;height:12px;border-radius:50%;background:#ff607f;box-shadow:0 0 0 0 #ff607f88;animation:live 1.6s infinite}
@keyframes live{0%{box-shadow:0 0 0 0 #ff607f88}70%{box-shadow:0 0 0 10px #ff607f00}100%{box-shadow:0 0 0 0 #ff607f00}}
.menu-item .menu-ico{font-family:'DM Sans',system-ui,sans-serif}

/* ---- boutons et choix ---- */
.btn-danger{background:#ff607f;color:#2a0812}
.confirm{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center}
.back-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:15px}
.back-row .back{padding:0}
.segmented .pill-choice{cursor:pointer}
.choice-grid .pick-theme{cursor:pointer;transition:border-color .15s,background .15s}
.choice-grid .pick-theme:hover{border-color:#5c4a8c}
.pick-theme small{display:block;color:#9f98b6;font-weight:700;font-size:10px;margin-top:4px}
.switch{display:flex;align-items:flex-start;gap:12px;cursor:pointer;padding:9px 0}
.switch input{position:absolute;opacity:0;width:1px;height:1px}
.switch-ui{flex:none;width:44px;height:26px;border-radius:999px;background:#2c2944;border:1px solid #47405e;position:relative;transition:background .2s;margin-top:1px}
.switch-ui::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#bdb8d1;transition:transform .2s,background .2s}
.switch input:checked+.switch-ui{background:#7449d6;border-color:#a171f7}
.switch input:checked+.switch-ui::after{transform:translateX(18px);background:#fff}
.switch input:focus-visible+.switch-ui{outline:3px solid #cbb0ff;outline-offset:3px}
.switch-text{display:grid;gap:2px;font-size:13px}
.switch-text strong{font-weight:800}
.switch-text .muted{font-size:12px}
.team-names{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
.team-name{position:relative}
.team-name .form-control{margin:0;padding-left:34px}
.team-name .tdot{position:absolute;left:14px;top:50%;transform:translateY(-50%);margin:0}
.aside-sticky{position:sticky;top:24px}
.summary-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.summary-actions .btn{flex:1}

/* ---- cartes de quiz (Mes quiz) ---- */
.quiz-card{background:#19182d;border:1px solid #302d4b;border-radius:17px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.quiz-card .theme-info{flex:1}
.quiz-actions{display:flex;gap:6px;flex-wrap:wrap;padding:0 16px 16px}
.theme-card.new-card{border:2px dashed #463e62;background:transparent;display:grid;place-items:center;min-height:208px;color:#b4a9d7;font-weight:800;gap:6px;text-align:center}
.theme-card.new-card span{font-size:40px;display:block}
.theme-card.new-card:hover{border-color:#9862ff;color:white}

/* ---- éditeur ---- */
.q-list{display:grid;gap:16px}
.q-card{display:grid;gap:14px}
.q-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.q-head h3{margin:0}
.q-tools{display:flex;gap:6px}
textarea.form-control{height:auto;min-height:84px;padding:13px 15px;resize:vertical;line-height:1.5;margin:0}
.answer-edits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.answer-edit{display:flex;align-items:center;gap:10px;background:#22203b;border:1px solid #3c3757;border-radius:12px;padding:6px 10px 6px 6px;min-width:0}
.answer-edit:focus-within{border-color:#a171f7}
.answer-edit .sym{flex:none;width:36px;height:36px;border-radius:9px;display:grid;place-items:center;color:#fff;font-size:15px}
.answer-edit[data-k="0"] .sym{background:var(--ans-a)}
.answer-edit[data-k="1"] .sym{background:var(--ans-b)}
.answer-edit[data-k="2"] .sym{background:var(--ans-c)}
.answer-edit[data-k="3"] .sym{background:var(--ans-d)}
.answer-edit input[type=text]{flex:1;min-width:0;border:0;background:transparent;color:white;outline:none;height:38px}
.answer-edit input[type=text]::placeholder{color:#7f7a9e}
.answer-edit .fixed{flex:1;font-weight:800}
.answer-edit label.ok{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:800;color:#9f98b6;cursor:pointer;white-space:nowrap}
.answer-edit label.ok input{width:18px;height:18px;accent-color:#2ad49b;margin:0}
.answer-edit.is-ok{border-color:#2ad49b80;background:#1b2b33}
.answer-edit.is-ok label.ok{color:#2ad49b}
.emoji-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.emoji-grid button{background:#22203a;border:2px solid transparent;border-radius:10px;font-size:20px;height:40px;cursor:pointer}
.emoji-grid button.selected{border-color:#a16cff;background:#352657}
.color-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
.color-grid button{height:30px;border-radius:9px;border:2px solid transparent;background:linear-gradient(135deg,var(--c1),var(--c2));cursor:pointer}
.color-grid button.selected{border-color:#fff;box-shadow:0 0 0 2px #a16cff}
.editor-save{position:sticky;bottom:0;padding:14px 0 calc(14px + env(safe-area-inset-bottom,0px));background:linear-gradient(transparent,var(--bg) 30%);display:none}

/* ---- rejoindre / QR ---- */
.qr-box{width:min(100%,220px);aspect-ratio:1;margin:0 auto;border-radius:14px;overflow:hidden;background:#fff;padding:6px}
.qr-box svg{width:100%;height:100%;display:block}
.code-banner code{font-size:clamp(14px,1.6vw,19px);letter-spacing:.5px;overflow-wrap:anywhere}
.join-steps{display:grid;gap:12px;margin-top:18px;text-align:left}
.join-steps .how-step{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start}
.join-steps .how-no{margin:0}
.join-steps p{margin:2px 0 0}

/* ---- vestiaire ---- */
.lobby-head .pin{margin:6px 0 10px}
.lobby-meta{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:12px}
.player{min-width:0}
.player>div{min-width:0}
.player strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player.off{opacity:.5}
.player-avatar.t0{background:#5a408e}.player-avatar.t1{background:#1f5d78}.player-avatar.t2{background:#7a2f55}.player-avatar.t3{background:#3e6625}
.player-list .player{animation:fadein .25s both}
.waiting-players{border:1px dashed #463e62;border-radius:12px;padding:22px;text-align:center;color:#aaa2c3;display:grid;gap:10px;justify-items:center}
.team-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.team-col{background:#1d1b34;border:1px solid #363150;border-top:4px solid var(--tc);border-radius:14px;padding:12px;display:grid;gap:10px;align-content:start}
.team-col-head{display:flex;align-items:center;gap:6px;font-weight:800;font-family:'Outfit','DM Sans',sans-serif}
.team-col-head .count{margin-left:auto;color:#9f98b6;font-size:12px}
.team-col .player-list{grid-template-columns:1fr}
.tip-box{padding:14px;border-radius:12px;background:#2c2444;color:#cfbbff;font-size:12px;line-height:1.8;margin-top:14px}

/* ---- question ---- */
.quiz-shell.wide{max-width:1120px}
.quiz-toolbar>span{display:inline-flex;align-items:center;gap:6px;min-width:0}
.quiz-toolbar>span:first-child,.quiz-toolbar>span:last-child{flex:1}
.quiz-toolbar>span:last-child{justify-content:flex-end;text-align:right}
.quiz-toolbar strong{color:white}
.quiz-toolbar>.timer{display:inline-grid;place-items:center;flex:none;gap:0}
.timer-spacer{width:57px;flex:none}
.summary-line{gap:14px}
.summary-line span:last-child{text-align:right}
.team-board{text-align:left}
.timer{transition:border-color .3s,color .3s;font-family:'Outfit','DM Sans',sans-serif;font-weight:900;flex:none}
.timer.big{width:84px;height:84px;font-size:32px;border-width:4px}
.timer.hurry{border-color:#ff607f;color:#ff8aa2;animation:beat 1s ease-in-out infinite}
.timer.idle,.timer.idle.hurry{border-style:dashed;border-color:#6b5f9a;color:#cbb0ff;animation:none}
@keyframes beat{0%,100%{transform:scale(1)}15%{transform:scale(1.1)}}
.quiz-question.compact{min-height:0;padding:22px 26px}
.quiz-question.compact h1{font-size:clamp(20px,2.4vw,30px);margin:8px auto 0}
.quiz-question .hint-line{font-size:12px;color:#cdb9fa}
.quiz-question.intro{min-height:340px;animation:rise .45s cubic-bezier(.2,.9,.3,1) both}
.quiz-question.intro h1{font-size:clamp(28px,3.8vw,52px)}
.intro-count{font-family:'Outfit','DM Sans',sans-serif;font-weight:900;font-size:clamp(44px,6vw,72px);line-height:1;color:#ffd773;margin-top:8px;min-height:1em}
.intro-count.pulse{animation:countpop .6s cubic-bezier(.2,.9,.3,1.4)}
@keyframes countpop{from{transform:scale(1.8);opacity:.2}to{transform:none;opacity:1}}
@keyframes rise{from{transform:translateY(14px);opacity:0}to{transform:none;opacity:1}}
.answer-choice[data-k="0"]{background:var(--ans-a)}
.answer-choice[data-k="1"]{background:var(--ans-b)}
.answer-choice[data-k="2"]{background:var(--ans-c)}
.answer-choice[data-k="3"]{background:var(--ans-d)}
div.answer-choice{cursor:default}
div.answer-choice:hover{filter:none;transform:none}
.answer-choice{position:relative;animation:pop .35s cubic-bezier(.2,.9,.3,1.3) both}
.answer-choice:nth-child(2){animation-delay:.05s}.answer-choice:nth-child(3){animation-delay:.1s}.answer-choice:nth-child(4){animation-delay:.15s}
@keyframes pop{from{transform:scale(.85);opacity:0}to{transform:none;opacity:1}}
.answer-text{min-width:0;overflow-wrap:anywhere}
.answer-choice.dim{opacity:.28}
.answer-choice.right{box-shadow:0 0 0 4px #fff,0 0 34px #2ad49b55}
.ans-count{margin-left:auto;flex:none;background:#0000002e;border-radius:10px;padding:6px 12px;font-family:'Outfit','DM Sans',sans-serif;font-size:20px;font-weight:900}
.answer-choice.sel{box-shadow:inset 0 0 0 4px #fff;filter:brightness(1.12)}
.ans-check{position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#ffffff33;color:transparent;font-weight:900}
.answer-choice.sel .ans-check{background:#fff;color:#251543}
.mine{position:absolute;top:-10px;right:12px;background:#fff;color:#251543;font-size:10px;font-weight:900;letter-spacing:.8px;text-transform:uppercase;padding:4px 8px;border-radius:6px}
.quiz-answers.two .answer-choice{min-height:150px}
.progress.live div{width:100%;transform-origin:left;animation:shrink linear forwards}
@keyframes shrink{from{transform:scaleX(var(--from,1))}to{transform:scaleX(0)}}
.progress.wide{max-width:none}
.quiz-foot .progress{max-width:320px}
.type-label{display:inline-block;padding:5px 9px;border-radius:6px;background:#ffffff14;border:1px solid #ffffff22;color:#e2d4ff;font-size:10px;font-weight:900;letter-spacing:1.2px;text-transform:uppercase}

/* ---- annonces : éclair et flamme ---- */
.events{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px;margin-top:16px}
.event{display:flex;align-items:center;gap:12px;border:1px solid #363150;background:#211e38;border-radius:13px;padding:12px 14px;animation:slidein .5s cubic-bezier(.2,.9,.3,1.2) both}
.event .ico{width:34px;height:34px}
.event div{display:grid;gap:2px;min-width:0}
.event strong{font-size:14px;overflow-wrap:anywhere}
.event small{color:#9f98b6;font-size:11px}
.event.flame{border-color:#6b3a2c;background:linear-gradient(135deg,#3a2229,#211e38)}
.event.bolt{border-color:#5f5427;background:linear-gradient(135deg,#33301c,#211e38)}
.event.out{opacity:.75}
.event.out .ico{filter:grayscale(1);opacity:.6}
@keyframes slidein{from{transform:translateY(14px) scale(.97);opacity:0}to{transform:none;opacity:1}}

/* ---- enchaînement automatique ---- */
.auto-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.auto-status{font-weight:800;font-size:12px;color:#a9a5c3;font-variant-numeric:tabular-nums}
.auto-bar{height:5px;border-radius:99px;background:#312b46;overflow:hidden;margin-bottom:18px}
.auto-bar div{height:100%;background:#a778ff;border-radius:99px;width:100%;transform-origin:left;animation:shrink linear forwards}
/* Pause de la question (M-0083, M-0087) : rien par-dessus les réponses. Télé : message juste à droite du chrono, ancré à lui
   (il ne prend aucune place) ; téléphone : barre fixée en bas. Le chrono figé passe en jaune, sans animation. */
.pause-anchor{position:relative;flex:none}
.pause-banner{position:absolute;left:calc(100% + 22px);top:50%;transform:translateY(-50%);z-index:40;width:max-content;padding:10px 18px;border-radius:14px;background:#1b1530;border:2px solid #ffd773;color:#ffd773;font-family:'Outfit','DM Sans',sans-serif;font-size:clamp(28px,2.25vw,38px);font-weight:900;line-height:1.1;white-space:nowrap;text-align:center;box-shadow:0 8px 24px #0008;pointer-events:none}
.pause-banner[hidden]{display:none}
.player-main .pause-banner{position:fixed;left:12px;right:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:none;width:auto;font-size:17px;line-height:1.3;white-space:normal;padding:12px 16px}
body.pause-bar-on .player-main{padding-bottom:calc(52px + var(--pause-bar,0px) + env(safe-area-inset-bottom,0px))}
.timer.paused,.timer.paused.hurry,.timer.idle.paused{border-color:#ffd773;color:#ffd773;animation:none}
/* Revue d'une question déjà jouée (M-0084) : bandeau au-dessus de la question, sans la cacher */
.review-banner{flex:0 0 auto;margin:0 0 clamp(8px,1.4vh,16px);padding:8px 18px;border-radius:12px;background:#ffd77314;border:1px solid #ffd773;color:#ffd773;font-family:'Outfit','DM Sans',sans-serif;font-size:clamp(16px,1.6vw,26px);font-weight:900;text-align:center}
.review-accepted{font-size:clamp(13px,1.4vh,20px);font-weight:700;color:#d6fff0}
.q-paused .answer-choice{opacity:1!important;cursor:not-allowed}
.q-paused .validate,.q-paused .write-input{opacity:.7!important;cursor:not-allowed}

/* ---- classements ---- */
.ranking tbody tr{animation:fadein .35s both}
.ranking tr.me td{background:#26203e}
.ranking tr.gap td{padding:2px 13px;border-bottom:0;color:#6f6a8c;text-align:center}
.ranking th.col-round,.ranking td.col-round{text-align:right;width:1%;white-space:nowrap}
.ranking td.col-round{color:#77738e;font-weight:800}
.ranking td.col-round.plus{color:#2ad49b}
.ranking td:first-child{width:1%;white-space:nowrap}
.rk-name{display:inline-flex;align-items:center;flex-wrap:wrap;gap:4px}
.rk-note{font-size:11px;color:#9d96ba}
.bdelta{display:inline-flex;align-items:center;gap:2px;font-size:11px;font-weight:900;margin-left:2px;vertical-align:1px}
.bdelta .ico{width:9px;height:9px}
.bdelta.up{color:#2ad49b}.bdelta.down{color:#ff607f}
.ranking tr:first-of-type td .bdelta.down{color:#ff607f}
.team-board{display:grid;gap:10px;margin:14px 0 6px}
.team-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:10px;border:1px solid #363150;background:#211e38;border-radius:12px;padding:11px 13px;animation:fadein .35s both}
.team-row.mine{border-color:var(--tc)}
.team-row .rank-num{margin:0}
.team-row .tname{min-width:0;display:grid;gap:6px}
.team-row .tname strong{font-size:13px;overflow-wrap:anywhere}
.team-row .tname small{color:#9f98b6;font-size:11px;font-weight:700}
.team-bar{height:7px;border-radius:99px;background:#312b46;overflow:hidden}
.team-bar div{height:100%;width:var(--w);background:var(--tc);border-radius:99px;transform-origin:left;animation:widen .8s cubic-bezier(.2,.8,.2,1) both}
@keyframes widen{from{transform:scaleX(0)}to{transform:none}}
.round-answer .good{color:#63edbf;font-size:20px;display:block}
.round-answer .lbl{font-size:11px;color:#aaa3c8;letter-spacing:1px;font-weight:800;margin-bottom:5px;display:block}

/* ---- badges flamme / éclair, pastilles d'équipe ---- */
.ico{display:inline-block;width:1.1em;height:1.1em;vertical-align:-.18em;flex:none}
.ico svg{width:100%;height:100%;display:block}
.badge{display:inline-flex;align-items:center;gap:2px;font-weight:900;font-size:11px;padding:2px 7px 2px 4px;border-radius:999px;line-height:1.3}
.badge .ico{width:14px;height:14px}
.badge.flame{background:var(--flame-bg);color:var(--flame);border:1px solid #6b3a2c}
.badge.bolt{background:var(--bolt-bg);color:var(--bolt);border:1px solid #5f5427;padding-right:4px}
.tdot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--tc,#9997b5);flex:none;margin-right:2px}
.t0{--tc:var(--team-0)}.t1{--tc:var(--team-1)}.t2{--tc:var(--team-2)}.t3{--tc:var(--team-3)}

/* ---- podium et trophées ---- */
.podium-slot.empty{visibility:hidden}
.podium-slot.me strong{color:#cbb0ff}
.podium-badges{display:flex;justify-content:center;gap:4px;margin:-2px 0 8px;min-height:20px}
.podium-slot .podium-block{transform-origin:bottom;transition:transform .6s cubic-bezier(.2,.9,.3,1.2)}
.podium-slot>:not(.podium-block){transition:opacity .4s ease,transform .5s cubic-bezier(.2,.9,.3,1.4)}
.podium.seq .podium-slot .podium-block{transform:scaleY(.12)}
.podium.seq .podium-slot>:not(.podium-block){opacity:0;transform:translateY(14px)}
.podium.seq .podium-slot.show .podium-block{transform:none}
.podium.seq .podium-slot.show>:not(.podium-block){opacity:1;transform:none}
.end-rest{transition:opacity .6s ease,transform .6s ease}
.end-rest.waiting{opacity:0;transform:translateY(14px);pointer-events:none}
.awards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px;margin:22px 0 4px;text-align:left}
.award{display:flex;align-items:center;gap:12px;border:1px solid #363150;background:#211e38;border-radius:13px;padding:13px 14px}
.award.flame{border-color:#6b3a2c;background:linear-gradient(135deg,#3a2229,#211e38)}
.award.bolt{border-color:#5f5427;background:linear-gradient(135deg,#33301c,#211e38)}
.award .ico{width:38px;height:38px}
.award div{display:grid;gap:2px;min-width:0}
.award .lbl{font-size:10px;letter-spacing:1px;color:#aaa3c8;font-weight:800;text-transform:uppercase}
.award strong{font-size:16px;overflow-wrap:anywhere}
.award small{color:#9f98b6;font-size:11px}
.award.me strong{color:#cbb0ff}
.winner-team{margin:22px 0 4px;border-radius:16px;padding:18px;background:linear-gradient(140deg,#5a2cb9,#372271);border:1px solid #8c61c8}
.winner-team small{text-transform:uppercase;letter-spacing:2.4px;color:#cbb5ff;font-weight:900;font-size:11px}
.winner-team strong{display:block;font-family:'Outfit','DM Sans',sans-serif;font-size:clamp(24px,3vw,34px);font-weight:900;color:var(--tc);margin:4px 0}
.winner-team span{color:#dbcdfd;font-size:13px}
.confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:120}

/* ---- Hall of Fame ---- */
.history-list{display:grid;gap:10px}
.history-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #363150;background:#211e38;border-radius:13px;padding:11px 14px}
.history-ico{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:24px;background:linear-gradient(135deg,var(--c1),var(--c2))}
.history-row strong{display:block;font-size:14px;overflow-wrap:anywhere}
.history-row small{color:#9f98b6;font-size:11px}
.history-row .winner{text-align:right;font-size:12px;color:#ead4a1;font-weight:800}
.history-row .winner small{display:block;font-weight:700}

/* ---- toast ---- */
.toast{max-width:min(92vw,460px)}

/* ====================================================================
   Écran des joueurs (téléphone)
   ==================================================================== */
.player-shell{min-height:100vh;display:flex;flex-direction:column}
.player-top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));background:#111021;border-bottom:1px solid #24223a}
.player-top .brand{font-size:17px}
.player-top .brand-symbol{width:36px;height:36px;font-size:20px}
.player-top .top-right{gap:8px;min-width:0}
.me-chip{display:inline-flex;align-items:center;gap:5px;background:#1b1931;border:1px solid #302b4b;border-radius:12px;padding:7px 10px;font-weight:800;font-size:13px;min-width:0;max-width:60vw}
.me-chip .nick{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.player-main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:22px 16px calc(40px + env(safe-area-inset-bottom,0px))}
.player-main .page-head h1{font-size:29px}
.player-main .card{padding:20px}
.player-main .center-panel{margin:8px auto 0;padding:28px 20px}
.player-main .center-panel h2{font-size:26px}
.player-main .quiz-question{min-height:0;padding:22px 14px;border-radius:16px}
.player-main .quiz-question h1{font-size:clamp(19px,5.4vw,25px)}
.player-main .quiz-question.intro{min-height:260px}
.player-main .quiz-toolbar{margin-bottom:14px}
.player-main .timer{width:52px;height:52px;font-size:19px}
.player-main .quiz-answers{margin-top:14px}
.player-main .quiz-answers.pick .answer-choice{min-height:clamp(118px,21vh,170px)}
.player-main .quiz-answers.pick.two .answer-choice{min-height:clamp(160px,30vh,240px)}
.player-main .validate{width:100%;margin-top:14px;padding:16px;font-size:15px}
.player-main .ranking td,.player-main .ranking th{padding:11px 8px}
.rules{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.rules li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;color:#aaa5c5;font-size:13px;line-height:1.55}
.rules .how-no{margin:0;font-size:14px}
.rules .how-no .ico{width:16px;height:16px}
.mini-answers{display:grid;gap:8px;width:100%;max-width:340px;margin:16px auto}
.mini-answers .answer-choice{min-height:0;padding:12px 14px;font-size:15px;display:flex;animation:none}
.mini-answers .answer-symbol{display:inline;margin:0;font-size:20px;width:auto}
.result-pts{font-family:'Outfit','DM Sans',sans-serif;font-size:34px;font-weight:900;margin:2px 0 6px}
.center-panel.ok .result-pts,.center-panel.ok h2{color:#63edbf}
.center-panel.bad h2{color:#ff869e}
.center-panel.late h2{color:#bdb8d1}
.center-panel.poll h2{color:#cbb0ff}
.center-panel.ok{border-color:#2ad49b55}
.center-panel.bad{border-color:#ff607f55}
.perks{display:grid;gap:8px;margin:14px 0 4px;text-align:left}
.perk{display:flex;align-items:center;gap:12px;border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.45;animation:slidein .5s .3s cubic-bezier(.2,.9,.3,1.2) both;border:1px solid #363150;background:#211e38}
.perk .ico{width:28px;height:28px}
.perk.flame{border-color:#6b3a2c;background:linear-gradient(135deg,#3a2229,#211e38)}
.perk.bolt{border-color:#5f5427;background:linear-gradient(135deg,#33301c,#211e38)}
.perk.soft{color:#aaa5c5}
.perk.soft .ico{filter:grayscale(.7);opacity:.7}
.standing{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #363150;background:#211e38;border-radius:14px;padding:14px 16px;margin-top:14px;text-align:left}
.standing small{display:block;color:#9f98b6;font-size:10px;letter-spacing:1px;font-weight:800;text-transform:uppercase}
.standing strong{font-family:'Outfit','DM Sans',sans-serif;font-size:22px;font-weight:900}
.team-pick{display:grid;gap:8px;margin-top:20px;text-align:left}
.team-pick .pill-choice{display:flex;align-items:center;gap:8px;width:100%;padding:14px 16px;font-size:14px;text-align:left}
.team-pick .pill-choice .count{margin-left:auto;font-weight:700;color:#9f98b6;font-size:12px}
.team-pick .pill-choice.selected{border-color:var(--tc);background:#2b2347}
.others{margin-top:22px;text-align:left}
.others .player-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.dots{display:inline-flex;gap:6px;margin-top:6px}
.dots i{width:9px;height:9px;border-radius:50%;background:#a778ff;animation:bob 1s ease-in-out infinite}
.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

@media(max-width:900px){
  .aside-sticky{position:static}
  .editor-save{display:flex;gap:10px}
}
@media(max-width:600px){
  .net{font-size:11px;padding:6px 9px}
  .answer-edits,.team-names{grid-template-columns:1fr}
  .emoji-grid,.color-grid{grid-template-columns:repeat(8,minmax(0,1fr))}
  .quiz-toolbar{font-size:11px}
  .ans-count{position:absolute;top:8px;right:8px;font-size:15px;padding:3px 8px}
  .others .player-list{grid-template-columns:1fr 1fr}
  .history-row{grid-template-columns:auto minmax(0,1fr)}
  .history-row .winner{grid-column:2;text-align:left}
  .ranking .col-round{display:none}
}

/* ---------- Difficulté, catégories et partie mixte ---------- */
.q-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:8px}
.cat-chip,.q-chips .lvl{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;background:#0b092e59;border:1px solid #ffffff2e;color:white;font-size:12px;font-weight:800;line-height:1.2}
.lvl{--lc:#2ad49b;display:inline-flex;align-items:center;gap:4px}
.lvl.l2{--lc:#ffd34d}
.lvl.l3{--lc:#ff607f}
.lvl i{width:8px;height:8px;border-radius:50%;background:var(--lc);box-shadow:0 0 6px var(--lc);flex:none}
.lvl.l1 i:nth-of-type(n+2),.lvl.l2 i:nth-of-type(3){background:#ffffff33;box-shadow:none}
.lvl b{margin-left:3px;font-weight:800}
.segmented .pill-choice .lvl{margin-right:7px;vertical-align:1px}
.pill-count{margin-left:6px;color:#9f98b6;font-weight:700}
.pill-choice.selected .pill-count{color:#d9c8ff}
.pill-choice:disabled{opacity:.4;cursor:not-allowed}

.pick-theme.pick-mix{grid-column:1/-1;min-height:0;display:flex;align-items:center;gap:14px;padding:13px 18px;text-align:left;font-size:15px;background:linear-gradient(135deg,#8f61ff2e,#e64d892e);border-color:#4a3d72}
.pick-theme.pick-mix>span{font-size:30px;margin:0}
.pick-theme.pick-mix small{font-size:11px;margin-top:3px}
.pick-theme.pick-mix .emojis{margin-left:auto;font-size:18px;letter-spacing:2px;opacity:.85;white-space:nowrap;overflow:hidden;text-overflow:clip;max-width:45%}
.pick-theme.pick-mix.selected{border-color:#e08bff;background:linear-gradient(135deg,#8f61ff5c,#e64d894d)}
.mix-box{margin-top:12px;padding:16px;border:1px solid #3c3757;border-radius:14px;background:#1c1a31}
.mix-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.mix-head strong{font-size:13px}
.mix-head small{display:block;color:#9f98b6;font-size:11px;font-weight:700;margin-top:2px}
.mix-head .links{display:flex;gap:6px}
.mix-cats{display:flex;flex-wrap:wrap;gap:8px}
.mix-cat{display:inline-flex;align-items:center;gap:7px;background:#24213b;border:1px solid #3c3757;border-radius:999px;color:#bdb8d1;padding:8px 13px 8px 9px;font-weight:800;font-size:12px;cursor:pointer;transition:background .15s,border-color .15s}
.mix-cat .tick{width:17px;height:17px;border-radius:50%;border:1.5px solid #6a6390;display:grid;place-items:center;font-size:10px;color:transparent;flex:none}
.mix-cat small{color:#8f88aa;font-weight:700}
.mix-cat:hover{border-color:#5c4a8c}
.mix-cat[aria-pressed="true"]{background:#3a2763;border-color:#a171f7;color:white}
.mix-cat[aria-pressed="true"] .tick{background:#a171f7;border-color:#a171f7;color:white}
.mix-cat[aria-pressed="true"] small{color:#cdb9fa}

.theme-card.mix-card{grid-column:span 3;display:flex;flex-direction:column}
.mix-card .theme-visual{justify-content:space-evenly;gap:16px;padding:0 20px}
.mix-emojis{position:relative;z-index:1;display:flex;flex-wrap:wrap;justify-content:center;gap:4px 8px;max-width:52%;font-size:25px;filter:drop-shadow(0 6px 5px #0003)}
.mix-emojis span{display:inline-block}
.mix-emojis span:nth-child(odd){transform:translateY(-4px) rotate(-8deg)}
.mix-emojis span:nth-child(even){transform:translateY(4px) rotate(7deg)}
.theme-tag.hot{background:#ff3d7f;border-color:#ff8fb5}
@media(max-width:900px){.theme-card.mix-card{grid-column:1/-1}}
@media(max-width:600px){
  .mix-emojis{font-size:19px;gap:2px 6px;max-width:60%}
  .pick-theme.pick-mix .emojis{display:none}
  .q-chips{gap:6px;margin-bottom:6px}
  .cat-chip,.q-chips .lvl{font-size:11px;padding:4px 9px}
}
.q-settings{display:flex;flex-wrap:wrap;gap:16px 30px}
.how-no .lvl i{width:6px;height:6px;box-shadow:none}
@media(max-width:600px){.mix-card .theme-visual{padding-top:26px}}

/* ---------- L'explication, avec la bonne réponse ---------- */
.explain{display:flex;gap:14px;align-items:flex-start;margin-top:14px;padding:15px 20px;border-radius:16px;text-align:left;background:linear-gradient(135deg,#1c3b38,#211e38 65%);border:1px solid #2e6a5c;animation:slidein .5s .3s cubic-bezier(.2,.9,.3,1.2) both}
.explain-ico{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:#2ad49b24;font-size:21px}
.explain .lbl{display:block;font-size:11px;letter-spacing:1.6px;font-weight:900;text-transform:uppercase;color:#63edbf;margin-bottom:4px}
.explain p{margin:0;font-size:clamp(15px,1.55vw,21px);line-height:1.45;color:#f3eeff;font-weight:600}
.round-answer .round-explain{margin:9px 0 0;font-size:14px;line-height:1.5;color:#ddd3f7;font-weight:600}
.reveal.has-explain .quiz-answers .answer-choice{min-height:88px}
.reveal.has-explain .quiz-question.compact{padding-top:16px;padding-bottom:16px}
@media(max-width:600px){
  .explain{padding:13px 14px;gap:11px}
  .explain-ico{width:34px;height:34px;font-size:18px}
  .explain p{font-size:14px}
  .round-answer .round-explain{font-size:13px}
}
textarea.form-control{font-family:inherit;line-height:1.5}
/* Écrans peu hauts (portable, télé en 720p) : tout tient sans faire défiler. */
@media(max-height:820px){
  .reveal.has-explain .quiz-toolbar{margin-bottom:10px}
  .reveal.has-explain .quiz-question.compact{padding-top:12px;padding-bottom:12px}
  .reveal.has-explain .quiz-answers{margin-top:10px;gap:10px}
  .reveal.has-explain .quiz-answers .answer-choice{min-height:60px;padding-top:9px;padding-bottom:9px}
  .reveal.has-explain .explain{margin-top:10px;padding:12px 16px}
  .reveal.has-explain .events{margin-top:10px}
  .reveal.has-explain .event{padding:8px 12px}
  .reveal.has-explain .quiz-foot{margin-top:12px}
}
/* Intitulés longs (plus de 90 ou 140 caractères) : texte plus petit sur la télé. */
.quiz-question.long h1{font-size:clamp(22px,2.5vw,34px)}
.quiz-question.very-long h1{font-size:clamp(20px,2.1vw,29px)}
.quiz-question.intro.long h1{font-size:clamp(24px,3.1vw,42px)}
.quiz-question.intro.very-long h1{font-size:clamp(22px,2.6vw,36px)}
.quiz-question.compact.long h1{font-size:clamp(18px,2vw,26px)}
.quiz-question.compact.very-long h1{font-size:clamp(17px,1.8vw,23px)}
@media(max-height:820px){
  .quiz-shell:not(.reveal) .quiz-question:not(.intro){min-height:0;padding-top:22px;padding-bottom:22px}
  .quiz-shell:not(.reveal) .quiz-answers .answer-choice{min-height:92px}
}
/* ---------- Familles d'univers (accueil, choix du quiz, Mes quiz) ---------- */
.family-block+.family-block{margin-top:30px}
.family-head{display:flex;align-items:center;gap:10px;margin:0 0 14px}
.family-head h3{margin:0;font-size:18px;letter-spacing:-.2px}
.family-head small{color:#8f8caa;font-size:12px;font-weight:700}
.family-ico{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#ffffff0f;border:1px solid #ffffff1a;font-size:17px;flex:none}
.mix-block .theme-card.mix-card{grid-column:1/-1}
.pick-family{margin-top:18px}
.pick-family .small-label{margin-bottom:9px;text-transform:uppercase;letter-spacing:.8px;font-size:11px}
.mix-family+.mix-family{margin-top:12px;padding-top:12px;border-top:1px solid #2e2b47}
.mix-fam{display:inline-flex;align-items:center;gap:7px;background:transparent;border:0;color:#cfc8e8;font-weight:900;font-size:11px;letter-spacing:.7px;text-transform:uppercase;padding:2px 0;margin:0 0 9px;cursor:pointer}
.mix-fam:hover{color:white}
.mix-fam .tick{width:17px;height:17px;border-radius:5px;border:1.5px solid #6a6390;display:grid;place-items:center;font-size:10px;color:transparent;flex:none}
.mix-fam[aria-pressed="true"] .tick{background:#a171f7;border-color:#a171f7;color:white}
.mix-fam[aria-pressed="mixed"] .tick{background:#4d3780;border-color:#a171f7;color:white}
@media(max-width:600px){.family-block+.family-block{margin-top:24px}.family-head h3{font-size:16px}.family-ico{width:30px;height:30px;font-size:15px}}
.pick-single{display:block;width:100%;margin-top:12px;padding:12px;border:1px dashed #463e62;border-radius:12px;background:transparent;color:#bfb2e6;font-weight:800;font-size:12px;cursor:pointer}
.pick-single:hover{border-color:#9862ff;color:white}
/* ---------- Univers Kids : partie mixte Kids ---------- */
.mix-block.with-kids .theme-card.mix-card{grid-column:span 3}
.theme-card.mix-kids-card{display:flex;flex-direction:column}
.mix-kids-card .theme-info{margin-top:auto}
.pick-theme.pick-mix-kids{background:linear-gradient(135deg,#ffb5472e,#3fa9f52e);border-color:#3f5a72}
.pick-theme.pick-mix-kids.selected{border-color:#ffc46b;background:linear-gradient(135deg,#ffb54759,#3fa9f54d)}
@media(max-width:900px){.mix-block.with-kids .theme-card.mix-card,.theme-card.mix-kids-card{grid-column:1/-1}}
/* ---------- Images des questions (schémas, photos) ---------- */
.q-media{position:relative;margin:0;background:#fff;border-radius:16px;border:1px solid #ffffff2b;display:flex;align-items:center;justify-content:center;overflow:hidden;cursor:zoom-in;padding:8px}
.q-media img{display:block;max-width:100%;max-height:100%;object-fit:contain}
.q-media::after{content:'⤢';position:absolute;right:8px;bottom:6px;width:26px;height:26px;border-radius:8px;display:grid;place-items:center;background:#1d1b34cc;color:#fff;font-size:15px;pointer-events:none}
.q-media.correction{box-shadow:0 0 0 3px #2ad49b}
.media-row{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:14px;margin-top:14px;align-items:stretch}
.media-row .q-media{height:calc(100vh - 330px);min-height:240px;max-height:600px}
.media-row .q-media img{max-height:calc(100vh - 346px)}
.media-row.intro-row{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);margin-top:0}
.media-row.intro-row .quiz-question{min-height:0}
.media-answers .quiz-answers{grid-template-columns:1fr;margin-top:0;height:100%;grid-auto-rows:1fr}
.media-answers .answer-choice{min-height:58px;padding-top:10px;padding-bottom:10px;font-size:17px}
.reveal.has-media .media-row .q-media{height:calc(100vh - 380px)}
.reveal.has-media .media-row .q-media img{max-height:calc(100vh - 396px)}
.q-media.phone{margin-top:12px;max-height:40vh}
.q-media.phone img{max-height:calc(40vh - 16px)}
.media-zoom{position:fixed;inset:0;z-index:300;background:#0b0a18f2;display:flex;align-items:center;justify-content:center;padding:14px;cursor:zoom-out}
.media-zoom img{max-width:100%;max-height:100%;background:#fff;border-radius:12px}
.media-close{position:absolute;top:12px;right:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#ffffff22;color:#fff;font-size:18px}
.img-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:14px 0 4px}
.img-pick{display:flex;gap:10px;align-items:center}
.img-pick img{width:96px;height:72px;object-fit:contain;background:#fff;border-radius:8px;border:1px solid #47405e}
.img-tools{display:flex;flex-direction:column;gap:6px}
@media(max-width:900px){.media-row,.media-row.intro-row{grid-template-columns:1fr}.media-row .q-media,.reveal.has-media .media-row .q-media{height:auto;max-height:52vh}.media-row .q-media img{max-height:calc(52vh - 16px)}.img-fields{grid-template-columns:1fr}}
/* Écran télé avec une image : question resserrée, image à la hauteur disponible. */
.has-media .quiz-question:not(.intro){min-height:0;padding:12px 22px}
.has-media .quiz-question:not(.intro) h1{font-size:clamp(20px,2.3vw,32px);margin:6px auto 2px}
.has-media .quiz-question:not(.intro) .hint-line{display:none}
.has-media .media-row .q-media{height:calc(100vh - 380px);min-height:200px}
.has-media .media-row .q-media img{max-height:calc(100vh - 396px)}
.has-media .media-row.intro-row .q-media{height:calc(100vh - 300px)}
.has-media .media-row.intro-row .q-media img{max-height:calc(100vh - 316px)}
.reveal.has-media .media-row .q-media{height:calc(100vh - 470px);min-height:180px}
.reveal.has-media .media-row .q-media img{max-height:calc(100vh - 486px)}
@media(max-width:900px){.has-media .media-row .q-media,.reveal.has-media .media-row .q-media,.has-media .media-row.intro-row .q-media{height:auto;max-height:52vh}.has-media .media-row .q-media img{max-height:calc(52vh - 16px)}}
.has-media .quiz-question:not(.intro) .quiz-overline{display:none}
.has-media .quiz-question:not(.intro) h1{font-size:clamp(18px,2.1vw,30px);line-height:1.2}
.has-media .media-row .q-media{height:calc(100vh - 400px)}
.has-media .media-row .q-media img{max-height:calc(100vh - 416px)}
.reveal.has-media .media-row .q-media{height:calc(100vh - 520px);min-height:170px}
.reveal.has-media .media-row .q-media img{max-height:calc(100vh - 536px)}
@media(max-width:900px){.has-media .media-row .q-media,.reveal.has-media .media-row .q-media{height:auto;max-height:52vh}.has-media .media-row .q-media img,.reveal.has-media .media-row .q-media img{max-height:calc(52vh - 16px)}}
.quiz-shell.has-media .media-answers .quiz-answers .answer-choice{min-height:0}
.has-media-phone .q-media.phone{max-height:34vh}
.has-media-phone .q-media.phone img{max-height:calc(34vh - 16px)}
.has-media-phone .quiz-answers .answer-choice{min-height:76px}
/* ---------- Mode scène (télé) : pendant la partie, l'écran est entièrement consacré au jeu ---------- */
.media-answers{display:flex;flex-direction:column;min-height:0;min-width:0}
.media-answers .quiz-answers{flex:1 1 auto;height:auto}
.media-answers .explain{margin-top:12px}
.join-chip:empty{display:none}
.join-chip{display:inline-flex;align-items:center;height:44px;padding:0 14px;border-radius:13px;background:#1b1931;border:1px solid #302b4b;color:#cbc6e4;font-size:clamp(12px,1vw,17px);font-weight:700;white-space:nowrap}
.join-chip b{color:#fff;letter-spacing:.6px}
body.stage .sidebar,body.stage .footerline,body.stage .top-kicker{display:none}
body.stage .main{max-width:none;padding:clamp(10px,1.8vh,28px) clamp(14px,2.4vw,56px)}
body.stage .topbar{margin-bottom:clamp(6px,1.3vh,20px)}
body.stage .top-title{margin-top:0;font-size:clamp(16px,1.2vw,24px)}
body.stage .quiz-shell,body.stage .quiz-shell.wide{max-width:none}
@media(min-width:901px) and (min-height:440px){
  /* Question, présentation et correction tiennent dans la hauteur de l'écran, sans défilement :
     les réponses et l'image prennent toute la place qui reste. */
  body.stage-fit .main{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
  body.stage-fit #screen{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
  body.stage-fit .quiz-shell{flex:1 1 auto;min-height:0;width:100%;display:flex;flex-direction:column}
  body.stage-fit .quiz-shell>*{flex:none}
  body.stage-fit .quiz-shell>.quiz-answers,body.stage-fit .quiz-shell>.media-row,body.stage-fit .quiz-shell>.quiz-question.intro{flex:1 1 0;min-height:0}
  body.stage-fit .quiz-toolbar{margin-bottom:clamp(8px,1.6vh,22px);font-size:clamp(12px,.9vw,17px)}
  body.stage-fit .timer.big{width:clamp(64px,9vh,104px);height:clamp(64px,9vh,104px);font-size:clamp(26px,3.6vh,42px)}
  body.stage-fit .quiz-question{min-height:0!important;padding:clamp(14px,2.6vh,40px) clamp(18px,2vw,40px)!important}
  body.stage-fit .quiz-question h1{max-width:none;font-size:clamp(22px,calc(1.25vw + 1.6vh),56px)!important;margin:clamp(4px,1vh,14px) auto}
  body.stage-fit .quiz-question.long h1{font-size:clamp(20px,calc(1.1vw + 1.35vh),48px)!important}
  body.stage-fit .quiz-question.very-long h1{font-size:clamp(18px,calc(.95vw + 1.15vh),42px)!important}
  body.stage-fit .quiz-question.intro h1{font-size:clamp(28px,calc(1.7vw + 2.3vh),76px)!important}
  body.stage-fit .quiz-question.intro.long h1{font-size:clamp(24px,calc(1.45vw + 1.9vh),64px)!important}
  body.stage-fit .quiz-question.intro.very-long h1{font-size:clamp(22px,calc(1.25vw + 1.6vh),54px)!important}
  body.stage-fit .has-media .quiz-question:not(.intro) h1,body.stage-fit .quiz-question.compact h1{font-size:clamp(18px,calc(1vw + 1.3vh),46px)!important}
  body.stage-fit .quiz-overline,body.stage-fit .quiz-question .hint-line{font-size:clamp(11px,1.3vh,18px)}
  body.stage-fit .intro-count{font-size:clamp(44px,9vh,120px)}
  body.stage-fit .quiz-answers{margin-top:clamp(8px,1.6vh,22px);gap:clamp(8px,1.4vh,20px);grid-auto-rows:minmax(0,1fr);align-content:stretch}
  body.stage-fit .answer-choice{min-height:0!important;padding:clamp(8px,1.4vh,22px) clamp(14px,1.4vw,30px)!important;font-size:clamp(16px,calc(.9vw + 1.25vh),40px)!important;overflow:hidden}
  body.stage-fit .answer-symbol{font-size:1.4em;width:1.3em}
  body.stage-fit .ans-count{font-size:max(15px,.8em);padding:.25em .6em}
  body.stage-fit .media-row{grid-template-rows:minmax(0,1fr);margin-top:clamp(8px,1.6vh,22px);gap:clamp(10px,1.4vw,24px)}
  body.stage-fit .media-row .q-media{height:auto!important;min-height:0!important;max-height:none!important}
  body.stage-fit .media-row .q-media img{position:absolute;inset:8px;width:calc(100% - 16px);height:calc(100% - 16px);max-width:none;max-height:none!important;object-fit:contain}
  body.stage-fit .media-answers .quiz-answers{flex:1 1 0;min-height:0;margin-top:0}
  body.stage-fit .media-answers .answer-choice{font-size:clamp(15px,calc(.75vw + 1.1vh),34px)!important}
  body.stage-fit .media-row.intro-row .quiz-question{height:100%}
  body.stage-fit .explain{margin-top:clamp(8px,1.4vh,20px);padding:clamp(10px,1.4vh,20px) clamp(14px,1.2vw,24px)}
  body.stage-fit .explain p{font-size:clamp(14px,calc(.6vw + 1vh),28px)}
  body.stage-fit .media-answers .explain p{font-size:clamp(13px,calc(.5vw + .95vh),25px)}
  body.stage-fit .events{margin-top:clamp(6px,1vh,14px)}
  body.stage-fit .quiz-foot{margin-top:clamp(8px,1.4vh,20px)}
}
/* Classement et podium sur grand écran : textes agrandis pour être lus de loin. */
@media(min-width:1400px){
  body.stage .page-head h1{font-size:clamp(35px,2.4vw,58px)}
  body.stage .page-head p{font-size:clamp(14px,1vw,20px)}
  body.stage .card h3{font-size:clamp(18px,1.3vw,28px)}
  body.stage .round-answer{font-size:clamp(15px,1.05vw,22px)}
  body.stage .round-answer .lbl{font-size:clamp(11px,.75vw,15px)}
  body.stage .round-answer .good{font-size:clamp(20px,1.6vw,34px)}
  body.stage .round-answer .round-explain{font-size:clamp(14px,1vw,22px)}
  body.stage .ranking td,body.stage .ranking th{font-size:clamp(13px,1vw,21px);padding:clamp(12px,1.3vh,22px) 14px}
  body.stage .ranking th{font-size:clamp(11px,.75vw,16px)}
  body.stage .score-chip{font-size:clamp(13px,1vw,21px)}
  body.stage .quiz-foot{font-size:clamp(12px,.8vw,17px)}
}
/* Salle d'attente sur grand écran : code PIN et QR code bien visibles de loin. */
@media(min-width:1400px){
  body.stage .lobby-head .pin{font-size:clamp(64px,5.5vw,124px)}
  body.stage .lobby-head small{font-size:clamp(11px,.8vw,16px)}
  body.stage .lobby-head p{font-size:clamp(13px,.95vw,19px)}
  body.stage .qr-box{width:min(100%,clamp(220px,15vw,360px))}
  body.stage .code-banner code{font-size:clamp(19px,1.4vw,30px)}
  body.stage .player strong{font-size:clamp(12px,.95vw,19px)}
  body.stage .section-head h2{font-size:clamp(26px,1.7vw,36px)}
}
/* Salle d'attente sur un écran peu haut (télé en 720p, PC en 150 %) : tout tient sans défiler. */
@media(min-width:901px) and (max-height:820px){
  body.stage .page-head{margin-bottom:12px}
  body.stage .page-head h1{font-size:28px;margin-bottom:0}
  body.stage .page-head p{display:none}
  body.stage .lobby-head{padding:14px 20px;margin-bottom:14px}
  body.stage .lobby-head .pin{margin:2px 0 4px}
  body.stage .qr-box{width:min(100%,170px)}
  body.stage aside.card{padding:18px}
}
/* Drapeaux : fond gris clair pour distinguer leurs parties blanches. */
.q-media.flag{background:#cfccdc}
/* ---------- Réponse écrite ---------- */
.write-panel{margin-top:17px;min-height:150px;border:3px dashed #8e6be0;border-radius:18px;background:#1e1a36;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px}
.write-panel .write-ico{font-size:clamp(40px,6vh,84px);line-height:1;animation:pop .5s cubic-bezier(.2,.9,.3,1.3) both}
.write-panel strong{font-family:'Outfit','DM Sans',sans-serif;font-size:clamp(20px,calc(.9vw + 1.6vh),44px)}
.write-panel span:last-child{color:#b9b2d6;font-size:clamp(13px,1.6vh,22px)}
.media-answers .write-panel{margin-top:0;flex:1 1 auto}
.write-answer{margin-top:17px;border-radius:18px;background:linear-gradient(135deg,#127a63,#1c3b38);border:2px solid #2ad49b;box-shadow:0 0 34px #2ad49b33;padding:clamp(14px,2.4vh,34px) 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(8px,1.4vh,18px);text-align:center;animation:pop .35s cubic-bezier(.2,.9,.3,1.3) both}
.write-answer .lbl{font-size:clamp(11px,1.3vh,17px);letter-spacing:2px;font-weight:900;color:#9ff3d6}
.write-answer strong{font-family:'Outfit','DM Sans',sans-serif;font-size:clamp(28px,calc(1.5vw + 3vh),84px);line-height:1.1;color:#fff}
.media-answers .write-answer{margin-top:0;flex:1 1 auto}
.media-answers .write-answer strong{font-size:clamp(24px,calc(1.1vw + 2.4vh),64px)}
.typed-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.typed{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 14px;font-weight:800;font-size:clamp(13px,1.5vh,20px);background:#0000003d;border:1px solid #ffffff2e}
.typed.ok{background:#2ad49b;color:#0b2a22;border-color:#2ad49b}
.typed.ko{background:#3a1d2c;color:#ffb3c1;border-color:#6b2c45}
.typed.other{color:#cfc8e8}
.typed b{font-weight:900;opacity:.85}
@media(min-width:901px) and (min-height:440px){
  body.stage-fit .quiz-shell>.write-panel,body.stage-fit .quiz-shell>.write-answer{flex:1 1 0;min-height:0;margin-top:clamp(8px,1.6vh,22px)}
}
.write-form{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.write-input{height:64px;font-size:22px;font-weight:700;text-align:center;margin:0;background:#fff;color:#1d1636;border:3px solid #a778ff}
.write-input::placeholder{color:#9a93b4;font-weight:600}
.write-form .validate{width:100%;height:56px;font-size:18px;margin-top:0}
.my-text{font-family:'Outfit','DM Sans',sans-serif;font-size:26px;font-weight:800;margin:6px 0 10px;overflow-wrap:anywhere}
.round-answer .my-answer{margin:6px 0 0;font-size:14px;color:#ddd3f7}
.answers-edit{margin:12px 0 4px}
.answers-edit textarea{margin-bottom:0}

/* Audit d'octobre 2026 : lien vers les crédits, confirmation avant de retirer un joueur. */
.credits-link{text-align:center;margin:16px 0 0;font-size:12px}.credits-link a{color:#a99ccf;text-decoration:underline}.footerline a{color:#9b94b8;text-decoration:underline}
.player .confirm{margin-left:auto;flex:none}.player .confirm .player-remove{background:transparent;border:none;color:#aaa0cb;font-size:18px;padding:0 4px}
.leave-box{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);max-width:calc(100% - 32px);background:#2a1f4d;border:1px solid #8961d0;border-radius:14px;padding:14px 18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;z-index:120;box-shadow:0 14px 40px #0008;font-size:13px;animation:fadein .2s}
/* Confirmation avant de fermer une partie ouverte sans personne de connecté (en ligne, mission M-0035) : même encart, texte plus long. */
.leave-box.close-old{width:640px;line-height:1.5}
/* Recherche intelligente (barre du haut) : les quiz trouvés s'affichent sous la barre. */
.search-wrap{position:relative}
.search:focus-within{border-color:#6f55b4}
.search-results{position:absolute;top:calc(100% + 8px);right:0;width:min(430px,calc(100vw - 32px));max-height:min(72vh,540px);overflow:auto;background:#1b1931;border:1px solid #3a3558;border-radius:15px;box-shadow:0 18px 50px #000a;padding:6px;z-index:60;animation:fadein .15s}
.search-head{padding:9px 12px 6px;font-size:10px;letter-spacing:1.4px;color:#807b9c;font-weight:800;text-transform:uppercase}
.search-hit{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:transparent;border:0;border-radius:11px;padding:9px 11px;color:white;cursor:pointer}
.search-hit.active{background:#2b2449}
.hit-emoji{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;font-size:21px;flex:none;background:linear-gradient(135deg,var(--c1,#7044d7),var(--c2,#a66aea))}
.hit-text{min-width:0;flex:1}
.hit-text b{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hit-text small{display:block;color:#a29cbf;font-size:11px;margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hit-go{color:#b99be9;font-size:11px;font-weight:800;white-space:nowrap;opacity:.55}
.search-hit.active .hit-go{opacity:1}
.search-empty{padding:12px 13px;color:#aaa2c3;font-size:12px;line-height:1.6}
.search-empty p{margin:0 0 6px}.search-empty p:last-child{margin:0}
.search-empty b{color:white}
.search-link{background:none;border:0;padding:0;color:#c3a5ff;font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}

/* ====================================================================
   Pages de compte (public/compte/, mission M-0036), d'après les maquettes de ChatGPT (CHATGPT-WEB/maquettes/).
   Classes préfixées « cp- » : aucune règle existante n'est touchée. Pages : <body class="cp">.
   Les deux derniers blocs (message, en-tête connecté) servent aussi sur /animer, en ligne.
   ==================================================================== */
body.cp{min-height:100vh;background:transparent;font:400 15px/1.6 'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:.04px}
body.cp::before{position:fixed;content:'';inset:-20% auto auto -20%;width:min(80vw,750px);height:600px;background:radial-gradient(ellipse,#5e319c23,transparent 68%);pointer-events:none;z-index:-1}
.cp h1,.cp h2,.cp h3,.cp-brand,.cp-plan,.cp-price{font-family:'Outfit','DM Sans',system-ui,sans-serif}
.cp h1{font-size:clamp(2.1rem,4.6vw,3.75rem);line-height:1.07;letter-spacing:-.05em;font-weight:750}
.cp h2{font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.2;letter-spacing:-.025em}
.cp p{color:var(--muted);line-height:1.7}
.cp a{color:var(--accent2)}.cp a:hover{text-decoration:underline}
.cp :focus-visible{outline:3px solid #d3baff;outline-offset:4px}
.cp-header{width:min(1160px,calc(100% - 44px));min-height:96px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:20px;position:relative;z-index:2}
.cp .cp-brand{display:flex;align-items:center;gap:12px;color:var(--text);font-weight:800;font-size:19px;line-height:1.1;letter-spacing:-.04em;text-decoration:none}
.cp-brand b{color:var(--accent2);font-weight:800}
.cp-mark{height:42px;width:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:linear-gradient(140deg,#b98aff,#7348eb);transform:rotate(-7deg);box-shadow:0 9px 29px #8550fd40}
.cp-mark span{transform:rotate(7deg);font:800 25px/1 'Outfit',system-ui;color:white}
.cp-side{display:flex;align-items:center;gap:16px}.cp-side-note{font-size:13px;color:var(--muted)}
.cp .cp-top-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:9px 16px;border:1px solid #514770;border-radius:13px;color:#e6ddfa;background:#221d38;font-weight:750;font-size:13px;white-space:nowrap;cursor:pointer}
.cp .cp-top-link:hover{background:#2b2347;text-decoration:none}
.cp-kicker{display:inline-flex;gap:7px;align-items:center;border:1px solid #674d9e;background:#8f61ff15;color:#d4bdff;padding:7px 12px;border-radius:99px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.cp-kicker::before{content:'';display:block;width:6px;height:6px;background:#b98aff;border-radius:50%}
.cp-soft{font-size:11px;text-transform:uppercase;letter-spacing:.13em;font-weight:800;color:#aca5cf}
.cp-panel{border-radius:24px;border:1px solid var(--stroke);background:linear-gradient(155deg,#1b1931 0%,#161628 74%);box-shadow:0 28px 80px #03020c7a}
.cp-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:53px;border-radius:14px;border:0;padding:14px 23px;font-size:14px;font-weight:800;text-align:center;transition:transform .15s,filter .15s;cursor:pointer}
.cp .cp-btn:hover:not(:disabled),.cp-btn:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px);text-decoration:none}
.cp-btn-primary,.cp .cp-btn-primary{background:linear-gradient(120deg,#9567ff,#794deb);box-shadow:0 10px 29px #7047cb4a;color:white}
.cp-btn-secondary,.cp .cp-btn-secondary{color:#ded3f7;border:1px solid #494164;background:#2a2440}
.cp-btn-danger{color:#fff;border:1px solid #ff607f76;background:#8e3451}
.cp-btn:disabled{background:#39334f;box-shadow:none;color:#908aa5;opacity:.76;cursor:not-allowed}
.cp-static{cursor:default}
.cp-field{margin-top:20px}.cp-field label{display:block;color:#e8e4f6;font-size:13px;font-weight:750;margin-bottom:8px}
.cp-field input{width:100%;height:55px;border-radius:13px;background:#100f22;border:1px solid #383450;color:#f7f5ff;padding:0 17px;outline:0}
.cp-field input::placeholder{color:#77728f}.cp-field input:focus{border-color:var(--accent2);box-shadow:0 0 0 3px #8f61ff33}
.cp-hint{font-size:12px;color:var(--muted);margin:7px 0 0}.cp-submit{margin-top:25px;width:100%}
.cp-pill{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #4b4270;color:#d8c9ff;background:#38285271;border-radius:100px;font-size:11px;font-weight:800;white-space:nowrap}
.cp-pill.good{border-color:#2ad49b5a;color:#84f2ce;background:#2ad49b13}
.cp-small{font-size:12px}.cp-divider{height:1px;background:var(--stroke);margin:26px 0}
.cp-foot{text-align:center;font-size:12px;color:#76718f;margin:30px 0}
@media(max-width:650px){.cp-header{width:min(100% - 30px,1160px);min-height:77px}.cp .cp-brand{font-size:15px;gap:9px}.cp-mark{width:36px;height:36px;border-radius:12px}.cp-side-note{display:none}.cp .cp-top-link{padding:8px 12px;min-height:39px;font-size:12px}.cp-panel{border-radius:19px}.cp-btn{min-height:50px}}
/* Inscription et connexion (maquettes 01 et 02) */
.cp-auth{width:min(1160px,calc(100% - 44px));margin:26px auto 65px;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.83fr);align-items:stretch;min-height:615px;gap:25px}
.cp-hero{border-radius:27px;border:1px solid #8e61ff60;padding:clamp(32px,5vw,64px);background:radial-gradient(circle at 85% 70%,#955af340,transparent 36%),linear-gradient(140deg,#3e2678 0%,#211839 68%,#171529 100%);display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;isolation:isolate}
.cp-hero::before,.cp-hero::after{content:'';width:430px;height:430px;position:absolute;right:-170px;bottom:-180px;border-radius:50%;border:1px solid #ffffff29;pointer-events:none;z-index:-1}
.cp-hero::after{width:300px;height:300px;right:-110px;bottom:-112px}
.cp .cp-hero h1{max-width:550px;margin:21px 0 17px}.cp-hero h1 em{font-style:normal;color:#cbaaff}.cp .cp-hero p{max-width:400px;color:#d3c5e8}
.cp-hero-bottom{border-top:1px solid #ffffff21;padding-top:24px;margin-top:36px;display:flex;align-items:center;gap:14px;color:#f0e9ff;font-weight:650}
.cp-tiles{display:flex;gap:6px}.cp-tiles span{display:block;width:28px;height:28px;border-radius:8px;background:#c1a1ff40;border:1px solid #ffffff25}.cp-tiles span:nth-child(2){background:#ff607f5e}.cp-tiles span:nth-child(3){background:#2ad49b55}
.cp-card{display:flex;flex-direction:column;justify-content:center;padding:clamp(30px,4vw,58px)}.cp .cp-card h2{font-size:clamp(1.9rem,3vw,2.45rem);margin:15px 0 8px}.cp .cp-intro{margin-bottom:12px}
.cp .cp-bottom{font-size:13px;color:var(--muted);text-align:center;margin:25px 0 0}
@media(max-width:850px){.cp-auth{grid-template-columns:1fr;max-width:540px;gap:16px;margin:12px auto 50px;min-height:0}.cp-hero{padding:29px;min-height:210px}.cp .cp-hero h1{font-size:2rem;max-width:400px;margin:13px 0}.cp .cp-hero p{margin:0}.cp-hero-bottom{margin-top:15px;padding-top:15px}.cp-card{padding:33px 27px 36px}}
@media(max-width:650px){.cp-auth{width:min(100% - 30px,540px)}.cp-hero{min-height:190px}.cp .cp-hero h1{font-size:1.7rem}.cp-hero-bottom{font-size:12px}}
/* Mon compte (maquette 03) */
.cp-content{max-width:1040px;margin:20px auto 80px;padding:0 22px}
.cp-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:32px 0}.cp .cp-heading h1{margin:14px 0 8px}.cp .cp-heading p{margin:0}
.cp-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(285px,.85fr);gap:22px}.cp-pad{padding:32px}
.cp-title{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:23px}.cp .cp-title h2{font-size:1.42rem;margin:0}
.cp-label{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}
.cp-email{overflow-wrap:anywhere;font-size:18px;font-weight:750;color:var(--text)}
.cp-row{padding:17px 0;border-bottom:1px solid var(--stroke)}.cp-row:last-child{border:0}
.cp-plan{font-size:27px;font-weight:750;line-height:1.25}
.cp-lines{display:grid;gap:13px;margin:23px 0 26px}.cp-line{display:flex;align-items:center;gap:11px;font-size:14px;color:#ded9f1}
.cp-check{height:25px;width:25px;border-radius:50%;display:grid;place-items:center;background:#2ad49b1b;color:#8bf0ce;border:1px solid #2ad49b42;flex:0 0 auto}
.cp-actions{padding-top:22px}
.cp-danger{margin-top:25px;padding:28px;border-radius:22px;border:1px solid #ff607f4d;background:linear-gradient(140deg,#3b1f36ad,#191527)}
.cp .cp-danger h2{font-size:1.35rem;margin:0 0 8px;color:#ffc2cf}.cp .cp-danger p{margin:0 0 14px}
.cp-danger summary{list-style:none;display:inline-flex;gap:9px;align-items:center;border:1px solid #ff607f88;color:#ffd9e0;font-weight:750;padding:12px 17px;border-radius:13px;cursor:pointer}
.cp-danger summary::-webkit-details-marker{display:none}.cp-danger summary::before{content:'−';font-size:21px;line-height:1}.cp-danger details[open] summary::before{content:'+'}
.cp-danger-box{margin-top:18px;padding:21px;border:1px solid #ff607f42;border-radius:15px;background:#1e1526}.cp-danger-box strong{color:#fff}
.cp .cp-danger-box .cp-small{margin-top:9px}.cp-danger-box .cp-field{margin-top:0}
.cp-ack{display:flex;align-items:flex-start;gap:11px;font-size:13px;color:#dfd7e8;margin:18px 0}
.cp-ack input{margin-top:4px;accent-color:#ff607f;width:17px;height:17px;flex:0 0 auto}
.cp-danger-action{width:100%}.cp-danger-action:disabled{color:#fff;border:1px solid #ff607f76;background:#8e3451;opacity:.65}
@media(max-width:760px){.cp-grid{grid-template-columns:1fr}.cp-heading{margin:18px 0 23px}.cp-pad{padding:25px}.cp-danger{padding:24px}}
/* Les offres (maquette 04 ; colonne Pro ajoutée dans le même style) */
.cp-offres{width:min(1080px,calc(100% - 42px));margin:26px auto 80px}
.cp-center{text-align:center;max-width:730px;margin:47px auto 34px}.cp .cp-center h1{margin:19px 0 13px}.cp-center h1 em{font-style:normal;color:var(--accent2)}.cp .cp-center p{margin:auto;max-width:580px}
.cp-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:21px;margin:36px auto}
.cp-price-card{padding:32px;position:relative;display:flex;flex-direction:column}
.cp-price-card.cp-featured{border-color:#8f61ff86;background:radial-gradient(circle at 100% 0,#8f61ff23,transparent 55%),linear-gradient(150deg,#211a39,#161628)}
.cp .cp-plan-name{font-size:15px;font-weight:850;margin:25px 0 8px;letter-spacing:0}
.cp-price{font-size:36px;line-height:1.2;font-weight:750;letter-spacing:-.04em;margin:13px 0 15px;color:var(--text)}.cp-price.tbd{font-size:29px}
.cp .cp-desc{margin:0;min-height:51px}
.cp-features{list-style:none;margin:28px 0 32px;padding:22px 0 0;border-top:1px solid #35314d;display:grid;gap:18px}
.cp-features li{display:flex;align-items:flex-start;gap:12px;color:#e1dbf2}
.cp-sym{display:grid;place-items:center;flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:#2ad49b1d;border:1px solid #2ad49b50;color:#7ff2c8;font-size:12px;font-weight:900}
.cp-price-card .cp-btn{width:100%;margin-top:auto}.cp-note{display:block;font-size:12px;color:var(--muted);margin-top:14px}
.cp .cp-foot-note{text-align:center;font-size:12px;color:var(--muted)}
@media(max-width:900px){.cp-prices{grid-template-columns:1fr;max-width:470px;margin-top:25px}.cp-price-card{padding:26px}.cp .cp-desc{min-height:0}.cp-center{margin:28px auto 25px}}
/* Messages (maquette 05) : sous un formulaire, sur « Mon compte », et sur /animer en ligne sans session */
.cp-msg{position:relative;border:1px solid var(--stroke);border-radius:22px;background:linear-gradient(140deg,#1c1930,#151426);padding:22px 24px;display:flex;flex-direction:column;margin-top:20px;text-align:left}
.cp-msg::before{content:'';height:3px;width:42px;border-radius:9px;background:var(--accent);position:absolute;left:24px;top:0}
.cp-msg.bad::before{background:var(--bad)}.cp-msg.info::before{background:var(--accent2)}.cp-msg.good::before{background:var(--good)}
.cp-msg .cp-who{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#a9a1c6;margin:0 0 17px}
.cp-msg-body{display:flex;align-items:flex-start;gap:15px}
.cp-symbol{width:39px;height:39px;border-radius:13px;display:grid;place-items:center;flex:0 0 auto;background:#8f61ff1c;border:1px solid #8f61ff45;color:#d9c1ff;font-size:21px;font-weight:900}
.cp-msg.bad .cp-symbol{background:#ff607f17;border-color:#ff607f45;color:#ff9eb2}.cp-msg.good .cp-symbol{background:#2ad49b1b;border-color:#2ad49b42;color:#8bf0ce}
.cp-msg .cp-msg-title{display:block;font-family:'Outfit','DM Sans',system-ui,sans-serif;font-size:18px;line-height:1.3;letter-spacing:-.016em;margin:7px 0 0;color:var(--text);font-weight:700}
.cp-msg.cp-big{max-width:640px;margin:35px auto;padding:26px 28px}.cp-msg.cp-big::before{left:28px}.cp-msg.cp-big .cp-msg-title{font-size:20px}
.cp-auth-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.cp-auth-links .cp-btn{min-height:46px;padding:11px 19px}
/* En-tête connecté de /animer (maquette 06) */
.cp-account{display:flex;align-items:center;gap:13px;min-width:0}
.cp-mail{display:block;font-size:12px;color:#b8b2d0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:230px}
.cp-trigger{display:flex;align-items:center;gap:12px;background:#26203d;border:1px solid #574a80;border-radius:15px;padding:9px 12px;color:white;min-height:53px;font-weight:750}
.cp-trigger:hover{background:#33294c}
.cp-avatar{display:grid;place-items:center;height:32px;width:32px;border-radius:10px;background:linear-gradient(130deg,#b98aff,#8053ec);font:800 14px 'Outfit',sans-serif}
.cp-trigger-text{line-height:1.3}.cp-trigger-text span{display:block;font-size:11px;color:#ada4d4;font-weight:500}
body.stage .cp-account{display:none}
@media(max-width:700px){.cp-mail{display:none}.cp-trigger{min-height:45px;padding:6px 9px;border-radius:12px;gap:7px}.cp-avatar{width:29px;height:29px}.cp-trigger-text{font-size:12px}.cp-trigger-text span{font-size:10px}}
/* Pages légales (mentions légales, conditions d'utilisation, confidentialité) et liens de pied de page vers elles. */
.cp-legal{width:min(780px,calc(100% - 44px));margin:18px auto 64px}.cp .cp-legal h1{font-size:clamp(1.9rem,4.2vw,2.7rem);margin:18px 0 8px}.cp .cp-legal h2{font-size:1.15rem;letter-spacing:-.01em;margin:30px 0 6px;color:#e6ddfa}.cp .cp-legal p{margin:0 0 10px}.cp-legal ul{margin:0 0 10px;padding-left:20px;color:var(--muted);line-height:1.7}.cp .cp-legal-date{font-size:13px}
.cp-legal-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px;margin:44px 0 0;padding-top:18px;border-top:1px solid #2f2a47;font-size:13px}.cp .cp-legal-nav a[aria-current="page"]{color:var(--text);text-decoration:none}
.cp-foot-liens{display:block;margin-top:6px}.cp .cp-foot a{color:#9b94b8;text-decoration:underline}.cp-ack-cgu input{accent-color:#9567ff}
/* Adresse e-mail à confirmer (bandeau de /animer, 30/10/2026). */
.cp-verif{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;padding:12px 16px;border:1px solid #8961d0;background:#2a2147;border-radius:12px;font-size:13px;line-height:1.5;color:#e6ddfa}.cp-verif[hidden]{display:none}.cp-verif a{color:#cbb0ff;text-decoration:underline}body.stage .cp-verif{display:none}
/* Logo Klurig (31/10/2026, SVG du référent design) dans les en-têtes, à la place de l'éclair et du nom en deux lignes :
   40 px de haut sur ordinateur, 32 px sur téléphone (recommandation de ChatGPT). */
.brand-logo{display:block;width:auto;height:40px;flex:none}@media(max-width:600px){.brand-logo{height:32px}}.cp .cp-brand .brand-logo{height:40px}@media(max-width:650px){.cp .cp-brand .brand-logo{height:32px}}
/* Menu replié de l'écran animateur (601 à 900 px de large, 78 px de menu) : le pictogramme seul, comme l'ancien éclair. */
.brand-icon{display:none;width:40px;height:40px;flex:none}@media(min-width:601px) and (max-width:900px){.sidebar .brand-logo{display:none}.sidebar .brand-icon{display:block}}
