:root{--ink:#17221c;--muted:#657069;--paper:#f7f5ef;--white:#fff;--line:#dedfd8;--green:#155f48;--green-2:#e4f0e9;--amber:#a36315;--amber-bg:#fbf0db;--red:#9e3935;--red-bg:#f8e7e3;--blue:#315e82;--blue-bg:#e9f0f6;--shadow:0 12px 36px rgba(30,43,35,.08);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button,a{transition:.18s ease}a{color:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:20;background:#fff;padding:.75rem}
.topbar{height:76px;display:flex;align-items:center;gap:26px;padding:0 clamp(22px,5vw,72px);background:rgba(247,245,239,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:11px;text-decoration:none;margin-right:0}.brand-copy{display:grid;line-height:1}.brand-copy strong{font:900 23px "Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.045em}.brand-copy small{margin-top:5px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.brand-mark{width:42px;height:42px;display:grid;place-items:center;background:var(--acid,#ffde48);color:var(--ink);border:2px solid var(--ink);border-radius:2px;box-shadow:3px 3px 0 var(--ink);transform:rotate(-4deg);font:900 13px "Archivo Black",sans-serif}.module-badge{display:grid;margin-right:auto;padding-left:18px;border-left:1px solid var(--line);line-height:1.05}.module-badge small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.module-badge strong{margin-top:4px;font-size:13px;text-transform:uppercase}.topbar nav{display:flex;height:100%;gap:28px}.topbar nav a{display:flex;align-items:center;text-decoration:none;color:var(--muted);font-weight:600;border-bottom:2px solid transparent}.topbar nav a.active{color:var(--ink);border-color:var(--green)}.count{background:var(--green);color:#fff;border-radius:20px;min-width:20px;height:20px;display:grid;place-items:center;font-size:11px;margin-left:6px}.ghost-button,.secondary{border:1px solid #bec5bf;background:transparent;border-radius:10px;padding:10px 14px;font-weight:600;cursor:pointer}.ghost-button:hover,.secondary:hover{background:#fff}.pilot-banner{padding:9px 24px;text-align:center;background:var(--amber-bg);color:#72470f;font-size:13px;font-weight:600;border-bottom:1px solid #efd7b3}
main{min-height:70vh}.hero{padding:64px clamp(22px,7vw,110px) 48px;background:radial-gradient(circle at 82% 10%,#dcece2 0,transparent 27%),var(--paper);border-bottom:1px solid var(--line)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:700;color:var(--green)}h1,h2,h3{font-family:"Newsreader",serif;line-height:1.08;margin:0}h1{font-size:clamp(42px,6vw,72px);max-width:850px;font-weight:650;letter-spacing:-.025em}.hero h1 em{color:var(--green);font-style:italic;font-weight:500}.hero-copy{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-top:25px}.hero-copy p{max-width:680px;color:var(--muted);font-size:18px;margin:0}.verified{display:flex;gap:10px;align-items:center;white-space:nowrap;color:var(--muted);font-size:13px}.verified b{color:var(--ink)}.verified .dot{width:9px;height:9px;border-radius:50%;background:#3c936a;box-shadow:0 0 0 4px #dceddf}
.workspace{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;padding:34px clamp(22px,5vw,72px) 70px}.filters{align-self:start;position:sticky;top:126px}.filter-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.filter-title h2{font:700 14px "DM Sans"}.reset{border:0;background:none;color:var(--green);cursor:pointer;font-size:13px}.filter{padding:18px 0;border-top:1px solid var(--line)}.filter label,.filter legend{display:block;font-size:12px;font-weight:700;margin-bottom:9px}.filter select,.filter input{width:100%;background:#fff;border:1px solid #d2d5d0;border-radius:10px;padding:10px 11px}.filter .checks{display:grid;gap:8px}.check{display:flex;gap:9px;align-items:center;font-size:13px}.check input{width:auto;accent-color:var(--green)}
.results-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:20px}.results-head h2{font-size:31px}.results-head p{margin:4px 0 0;color:var(--muted)}.view-toggle{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}.view-toggle button{border:0;background:transparent;padding:8px 11px;cursor:pointer}.view-toggle button.active{background:#fff;color:var(--green)}.cards{display:grid;gap:14px}.position-card{background:var(--white);border:1px solid #e0e1dc;border-radius:var(--radius);padding:22px;box-shadow:0 3px 12px rgba(33,42,36,.03)}.position-card:hover{border-color:#bdc8c0;box-shadow:var(--shadow);transform:translateY(-1px)}.card-top{display:flex;justify-content:space-between;gap:15px}.identity{display:flex;align-items:center;gap:12px}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--green-2);color:var(--green);font-weight:700}.identity strong{display:block}.identity small{color:var(--muted)}.badges{display:flex;gap:7px;align-items:start;flex-wrap:wrap;justify-content:end}.badge{border-radius:99px;padding:5px 9px;font-size:11px;font-weight:700;background:#f0f1ed;color:#566159}.badge.high{background:var(--green-2);color:var(--green)}.badge.medium{background:var(--amber-bg);color:var(--amber)}.badge.low{background:var(--red-bg);color:var(--red)}.position-card h3{font-size:24px;margin:19px 0 14px}.quote{border-left:3px solid #91b9a4;padding:2px 0 2px 14px;color:#58625c;font-family:"Newsreader",serif;font-size:17px;margin:0 0 18px}.meta-row{display:flex;flex-wrap:wrap;gap:8px 20px;color:var(--muted);font-size:12px;border-top:1px solid #ecece8;padding-top:14px}.card-actions{display:flex;align-items:center;gap:10px;margin-top:17px}.card-actions a,.detail-link{color:var(--green);font-weight:700;text-decoration:none}.card-actions a:hover{text-decoration:underline}.add-compare{margin-left:auto;border:1px solid #cbd2cd;background:#fff;border-radius:9px;padding:8px 11px;cursor:pointer}.add-compare.selected{background:var(--green);color:#fff;border-color:var(--green)}.empty{padding:70px 20px;text-align:center;border:1px dashed #c6cac5;border-radius:var(--radius);color:var(--muted)}
.page-shell{max-width:1240px;margin:0 auto;padding:54px 28px 80px}.page-title{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:32px}.page-title h1{font-size:54px}.page-title p{max-width:560px;color:var(--muted);margin:12px 0 0}.compare-picker{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;margin-bottom:22px}.compare-picker h2{font:700 13px "DM Sans";margin-bottom:13px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid #cbd1cc;border-radius:99px;background:#fff;padding:8px 12px;cursor:pointer}.chip.active{background:var(--green);color:#fff;border-color:var(--green)}.compare-grid{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}.compare-grid table{border-collapse:collapse;min-width:760px;width:100%}.compare-grid th,.compare-grid td{text-align:left;vertical-align:top;padding:17px;border-right:1px solid #e5e6e2;border-bottom:1px solid #e5e6e2}.compare-grid th:first-child{width:170px;background:#f5f4ef;color:var(--muted);font-size:12px}.compare-grid td strong{font-family:"Newsreader",serif;font-size:18px}.compare-grid td p{margin:8px 0;color:var(--muted)}.compare-section{margin-top:32px}.compare-section h2{font-size:32px;margin-bottom:14px}.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.signal{padding:20px;border-radius:var(--radius);border:1px solid}.signal.convergence{background:var(--green-2);border-color:#c2dccc}.signal.divergence{background:var(--red-bg);border-color:#ebc8c1}.signal h3{font:700 13px "DM Sans";margin-bottom:9px}.signal p{margin:0}.caution{font-size:13px;color:var(--muted);margin-top:15px}
.method-layout{display:grid;grid-template-columns:220px minmax(0,760px);gap:55px}.method-nav{position:sticky;top:110px;align-self:start;display:grid;gap:7px}.method-nav a{text-decoration:none;color:var(--muted);padding:7px 10px;border-left:2px solid var(--line)}.method-nav a:hover{color:var(--green);border-color:var(--green)}.prose h2{font-size:35px;margin:40px 0 14px}.prose h2:first-child{margin-top:0}.prose p,.prose li{color:#4f5b54}.prose .lead{font:500 22px/1.5 "Newsreader",serif;color:var(--ink)}.steps{counter-reset:step;display:grid;gap:12px;margin-top:18px}.step{display:grid;grid-template-columns:38px 1fr;gap:13px;background:#fff;padding:17px;border:1px solid var(--line);border-radius:13px}.step:before{counter-increment:step;content:counter(step);width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:700}.step strong{display:block}.step p{margin:3px 0 0}.notice{background:var(--amber-bg);border-left:4px solid #d69a46;padding:17px;margin:20px 0}.dictionary{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.dictionary div{background:#fff;border:1px solid var(--line);border-radius:11px;padding:14px}.dictionary strong{display:block}.dictionary span{font-size:13px;color:var(--muted)}
footer{border-top:1px solid var(--line);padding:32px clamp(22px,5vw,72px);display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:13px}footer p{margin:2px 0}footer strong{color:var(--ink);display:block}footer div:last-child{display:flex;gap:18px}.link-button{border:0;background:none;text-decoration:underline;cursor:pointer;padding:0}
dialog{width:min(600px,calc(100% - 30px));border:0;border-radius:20px;padding:0;box-shadow:0 28px 90px rgba(20,30,24,.28)}dialog::backdrop{background:rgba(17,28,21,.54);backdrop-filter:blur(3px)}dialog form{padding:28px}.dialog-head{display:flex;justify-content:space-between}.dialog-head h2{font-size:34px;margin-top:4px}.icon-button{border:0;background:#f1f2ee;border-radius:50%;width:36px;height:36px;font-size:23px;cursor:pointer}.dialog-head+p{color:var(--muted)}dialog label{display:block;font-weight:600;font-size:13px;margin-top:15px}dialog input,dialog select,dialog textarea{display:block;width:100%;border:1px solid #ccd1cc;border-radius:9px;padding:10px;margin-top:6px;background:#fff}dialog textarea{resize:vertical}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.primary{border:0;border-radius:10px;background:var(--green);color:#fff;padding:11px 16px;font-weight:700;cursor:pointer}#toast{position:fixed;right:24px;bottom:24px;background:var(--ink);color:#fff;padding:12px 16px;border-radius:10px;opacity:0;pointer-events:none;transform:translateY(10px)}#toast.show{opacity:1;transform:none}
@media(max-width:850px){.topbar{height:auto;min-height:68px;flex-wrap:wrap;padding:12px 20px;gap:12px}.topbar nav{order:3;width:100%;height:38px;justify-content:space-between}.topbar nav a{font-size:13px}.topbar .ghost-button{display:none}.hero{padding-top:42px}.hero-copy{display:block}.verified{margin-top:20px}.workspace{grid-template-columns:1fr}.filters{position:static;background:#f0efe9;border-radius:14px;padding:0 16px}.filter-title{padding-top:15px}.method-layout{grid-template-columns:1fr}.method-nav{display:none}.signal-grid,.dictionary{grid-template-columns:1fr}.page-title{display:block}footer{align-items:flex-start;gap:22px;flex-wrap:wrap}}
@media(max-width:560px){h1,.page-title h1{font-size:40px}.hero{padding-inline:20px}.workspace,.page-shell{padding-inline:16px}.card-top{display:block}.badges{justify-content:start;margin-top:12px}.position-card h3{font-size:21px}.card-actions{flex-wrap:wrap}.add-compare{margin-left:0;width:100%}.results-head{align-items:start}.view-toggle{display:none}.pilot-banner{text-align:left}.brand{font-size:19px}}

/* Direction artistique — édition sociale */
:root{--ink:#171717;--paper:#f4f1e8;--white:#fffdf7;--line:#171717;--green:#075f46;--green-2:#d9f3df;--acid:#f4ff3b;--coral:#ff5a4f;--violet:#6c5cff;--shadow:8px 8px 0 #171717;--radius:4px}
body{background:var(--paper);background-image:radial-gradient(#2222 1px,transparent 1px);background-size:20px 20px}.topbar{background:var(--paper);border-bottom:2px solid var(--ink)}.brand{font-family:"Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.04em}.brand-mark{border-radius:2px;background:var(--acid);color:var(--ink);border:2px solid var(--ink);transform:rotate(-5deg)}.topbar nav a{font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.05em}.topbar nav a.active{border-color:var(--coral)}.count{background:var(--coral);border:1px solid var(--ink);color:var(--ink)}.ghost-button{background:var(--acid);border:2px solid var(--ink);border-radius:3px;box-shadow:3px 3px 0 var(--ink);text-transform:uppercase;font-size:12px}.pilot-banner{background:var(--ink);color:#fff;border:0;text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;overflow:hidden}.hero{min-height:610px;padding-top:58px;background:linear-gradient(112deg,var(--acid) 0 64%,var(--coral) 64%);border-bottom:3px solid var(--ink);position:relative;overflow:hidden}.hero:after{content:"2027";position:absolute;right:-45px;top:8px;font:400 250px/1 "Archivo Black";color:transparent;-webkit-text-stroke:3px #171717;transform:rotate(8deg);opacity:.18}.hero .eyebrow{display:inline-block;background:var(--ink);color:#fff;padding:7px 10px;transform:rotate(-1deg)}.hero h1{font-family:"Archivo Black",sans-serif;text-transform:uppercase;font-size:clamp(54px,7vw,96px);line-height:.88;letter-spacing:-.055em;max-width:930px;margin-top:25px;position:relative;z-index:1}.hero h1 em{display:inline-block;background:var(--white);color:var(--green);font-family:"Newsreader",serif;text-transform:none;font-weight:650;line-height:1;padding:3px 18px 8px;transform:rotate(-1.5deg);box-shadow:6px 6px 0 var(--ink);border:3px solid var(--ink)}.hero-copy{position:relative;z-index:1}.hero-copy p{color:var(--ink);font-weight:700;max-width:620px}.verified{background:var(--white);padding:12px 16px;border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:var(--ink)}.hero-stamps{display:flex;gap:10px;margin-top:32px;position:relative;z-index:1}.hero-stamps span{background:var(--violet);color:#fff;border:2px solid var(--ink);padding:8px 13px;text-transform:uppercase;font-weight:800;font-size:12px;box-shadow:3px 3px 0 var(--ink)}.hero-stamps span:nth-child(2){background:var(--coral);color:var(--ink);transform:rotate(2deg)}.hero-stamps span:nth-child(3){background:var(--white);color:var(--ink);transform:rotate(-2deg)}
.workspace{gap:38px}.filters{background:var(--white);border:2px solid var(--ink);padding:18px;box-shadow:5px 5px 0 var(--ink);top:120px}.filter{border-color:#17171733}.filter select,.filter input{border:2px solid var(--ink);border-radius:2px}.reset{font-weight:800;text-decoration:underline}.results-head h2,.page-title h1,.compare-section h2,.prose h2{font-family:"Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.04em}.results-head h2{font-size:36px}.position-card{position:relative;border:2px solid var(--ink);border-radius:4px;padding:25px;background:var(--white);box-shadow:5px 5px 0 #171717;overflow:hidden}.position-card:hover{box-shadow:9px 9px 0 var(--ink);transform:translate(-2px,-2px)}.position-card:nth-child(3n+2){box-shadow:5px 5px 0 var(--violet)}.position-card:nth-child(3n){box-shadow:5px 5px 0 var(--coral)}.card-number{position:absolute;right:-3px;top:-3px;background:var(--acid);border:2px solid var(--ink);padding:5px 9px;font:800 10px "DM Sans";text-transform:uppercase}.avatar{border:2px solid var(--ink);border-radius:3px;background:var(--coral);color:var(--ink);transform:rotate(-3deg)}.badge{border:1.5px solid var(--ink);border-radius:2px;background:#eee}.badge.high{background:#9bf5b1;color:var(--ink)}.badge.medium{background:#ffd56b;color:var(--ink)}.badge.low{background:#ff9188;color:var(--ink)}.position-card h3{font-family:"Archivo Black",sans-serif;font-size:clamp(24px,2.4vw,38px);line-height:1.06;letter-spacing:-.035em;max-width:920px}.quote{border-left:8px solid var(--violet);font-size:18px;background:#f3f0ff;padding:13px 16px;margin-left:0}.meta-row{border-color:#171717}.card-actions a{color:var(--ink);font-weight:800}.share-card{border:2px solid var(--ink);background:var(--acid);border-radius:2px;padding:8px 11px;font-weight:800;cursor:pointer;box-shadow:2px 2px 0 var(--ink)}.share-card:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.add-compare{border:2px solid var(--ink);border-radius:2px;font-weight:800}.add-compare.selected{background:var(--violet)}
.coding-details{margin-top:14px;border-top:1px dashed #777;padding-top:11px}.coding-details summary{cursor:pointer;font-weight:800;font-size:12px;text-transform:uppercase}.coding-details>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin-top:13px;padding:13px;background:#f0eee7;border:1px solid #aaa}.coding-details span{font-size:11px;color:#5d655f}.coding-details span b{display:block;color:var(--ink);font-size:12px}.coding-details p{font-size:11px;color:#68716b;margin:8px 0 0}
.page-shell{max-width:1320px}.page-title h1{font-size:62px}.compare-picker,.compare-grid{border:2px solid var(--ink);border-radius:3px;box-shadow:6px 6px 0 var(--ink)}.chip{border:2px solid var(--ink);border-radius:2px;font-weight:700}.chip.active{background:var(--acid);color:var(--ink);box-shadow:2px 2px 0 var(--ink)}.signal{border:2px solid var(--ink);border-radius:3px}.signal.convergence{background:#9bf5b1}.signal.divergence{background:#ff9188}.primary{background:var(--acid);color:var(--ink);border:2px solid var(--ink);border-radius:2px;box-shadow:3px 3px 0 var(--ink)}.step,.dictionary div{border:2px solid var(--ink);border-radius:3px}.step:before{border-radius:2px;background:var(--violet)}footer{background:var(--ink);color:#fff;border-top:0}footer strong,footer a,footer button{color:#fff}dialog{border:3px solid var(--ink);border-radius:4px;box-shadow:12px 12px 0 var(--coral)}
@media(max-width:850px){.hero{min-height:auto;background:linear-gradient(150deg,var(--acid) 0 78%,var(--coral) 78%)}.hero:after{font-size:150px}.filters{box-shadow:4px 4px 0 var(--ink)}.hero-stamps{flex-wrap:wrap}}
@media(max-width:560px){.hero h1{font-size:48px}.hero h1 em{padding-inline:8px}.hero-copy p{font-size:16px}.hero-stamps span{font-size:10px}.position-card{padding:20px}.card-number{display:none}.page-title h1{font-size:42px}.share-card{flex:1}.pilot-banner{font-size:10px}}

/* Hero illustré — la course à l'Élysée */
.hero{min-height:760px;background-image:linear-gradient(90deg,rgba(6,28,47,.96) 0%,rgba(6,28,47,.78) 30%,rgba(6,28,47,.18) 56%,rgba(6,28,47,0) 75%),url("assets/candidats-arene-2027-v2.png");background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:center;color:#fff;padding-top:48px;padding-bottom:48px}
.hero:after{display:none}.hero .eyebrow{align-self:flex-start;background:#f92f67;color:#fff;border:2px solid #fff;box-shadow:4px 4px 0 #fff}.hero h1{max-width:640px;color:#fff;text-shadow:0 4px 0 rgba(0,0,0,.18)}.hero h1 em{color:#082439;background:#ffde48;border-color:#fff;box-shadow:7px 7px 0 #fff}.hero-copy{max-width:600px;display:block;margin-top:28px}.hero-copy p{color:#fff;font-size:19px;text-shadow:0 2px 12px #061c2f}.hero .verified{display:inline-flex;margin-top:18px;background:rgba(255,255,255,.94);color:#171717;border-color:#fff;box-shadow:4px 4px 0 #f92f67}.hero-stamps span{background:#14a69a;border-color:#fff;box-shadow:3px 3px 0 #fff}.hero-stamps span:nth-child(2){background:#f92f67;color:#fff}.hero-stamps span:nth-child(3){background:#ffde48;border-color:#fff}
@media(max-width:850px){.hero{min-height:720px;background-image:linear-gradient(180deg,rgba(6,28,47,.88) 0%,rgba(6,28,47,.58) 48%,rgba(6,28,47,.08) 75%),url("assets/candidats-arene-2027-v2.png");background-position:58% center;justify-content:flex-start}.hero h1{font-size:60px;margin-top:28px}.hero-copy{max-width:540px}.hero .verified{max-width:260px}}
@media(max-width:560px){.hero{min-height:760px;background-position:61% center;padding-top:42px}.hero h1{font-size:47px}.hero h1 em{font-size:39px}.hero-copy p{font-size:16px;max-width:90%}.hero-stamps{margin-top:auto}}

/* Les trois épreuves */
.trials{padding:78px clamp(22px,5vw,72px) 88px;background:#f4f1e8}.trials-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;max-width:1400px;margin:0 auto 30px}.trials-heading h2{font:400 clamp(40px,5vw,68px)/.95 "Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.05em;margin-top:9px}.trials-heading p{max-width:390px;font-size:17px;font-weight:600}.trial-grid{max-width:1400px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.trial-card{position:relative;min-height:540px;display:flex;align-items:end;overflow:hidden;border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink);text-decoration:none;color:#fff;background:#0a2235}.trial-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.trial-card:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,rgba(5,15,25,.94))}.trial-card:hover{transform:translate(-3px,-3px);box-shadow:13px 13px 0 var(--ink)}.trial-card:hover img{transform:scale(1.045)}.trial-number{position:absolute;top:16px;left:16px;z-index:2;background:#ffde48;color:var(--ink);border:2px solid var(--ink);padding:4px 10px;font:400 26px "Archivo Black";transform:rotate(-4deg)}.trial-copy{position:relative;z-index:2;padding:24px}.trial-copy>span{text-transform:uppercase;letter-spacing:.1em;font-size:10px;font-weight:800;color:#ffde48}.trial-copy h3{font:400 36px/1 "Archivo Black",sans-serif;text-transform:uppercase;margin:7px 0 9px}.trial-copy p{margin:0 0 18px;color:#fff;font-weight:600}.trial-copy b{display:inline-block;background:#fff;color:var(--ink);padding:8px 11px;border:2px solid var(--ink)}.trial-card.duel .trial-number{background:#f92f67;color:#fff}.trial-card.battle .trial-number{background:#14a69a;color:#fff}
.trial-copy p{margin-bottom:9px}.trial-copy small{display:block;color:#ffde48;font-weight:800;margin-bottom:17px}.workspace{scroll-margin-top:110px}
.trial-grid{grid-template-columns:repeat(4,1fr)}
@media(max-width:1250px) and (min-width:1001px){.trial-grid{grid-template-columns:repeat(2,1fr)}}

/* Prochaines épreuves */
.next-trials{background:#0a1e31;color:#fff;padding:75px clamp(22px,5vw,72px) 88px;border-top:3px solid var(--ink);border-bottom:3px solid var(--ink)}.next-head{max-width:840px;margin-bottom:30px}.next-head .eyebrow{color:#ffde48}.next-head h2{font:400 clamp(39px,5vw,66px)/.95 "Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.05em;margin:9px 0 15px}.next-head p{color:#cdd6df;font-size:17px}.next-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1400px}.next-card{display:grid;grid-template-columns:46% 54%;background:#fff;color:var(--ink);border:3px solid #fff;box-shadow:8px 8px 0 #f92f67;min-height:330px}.next-card:nth-child(2){box-shadow:8px 8px 0 #14a69a}.next-card img{width:100%;height:100%;object-fit:cover}.next-copy{padding:25px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.next-copy>span{text-transform:uppercase;font-weight:800;font-size:10px;letter-spacing:.08em;color:#6c5cff}.next-copy h3{font:400 34px/1 "Archivo Black",sans-serif;text-transform:uppercase;margin:8px 0 12px}.next-copy p{color:#47514b;margin:0 0 18px}.next-copy b{background:#e7e7e7;border:2px solid var(--ink);padding:7px 10px;text-transform:uppercase;font-size:11px}

/* Battle Royale */
.battle-page{background:#091d31;color:#fff;min-height:80vh}.battle-visual{height:600px;background-image:linear-gradient(90deg,rgba(5,15,30,.96),rgba(5,15,30,.18) 70%),url("assets/epreuve-battle-royale-v1.png");background-size:cover;background-position:center;display:flex;align-items:center;padding:50px clamp(24px,7vw,110px);border-bottom:3px solid #fff}.battle-overlay{max-width:630px}.battle-overlay .eyebrow{display:inline-block;background:#f92f67;color:#fff;padding:7px 10px}.battle-overlay h1{font:400 clamp(60px,8vw,108px)/.86 "Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.06em;margin:22px 0}.battle-overlay p{font-size:20px;font-weight:600;max-width:570px}.battle-console{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px;padding:64px clamp(24px,7vw,110px);max-width:1450px;margin:auto}.battle-rules>span{text-transform:uppercase;color:#ffde48;font-weight:800;letter-spacing:.12em;font-size:11px}.battle-rules h2,.battle-method h2{font:400 43px/1 "Archivo Black",sans-serif;text-transform:uppercase;margin:9px 0 16px}.battle-rules p,.battle-method p{color:#cbd3dc}.battle-controls{background:#fff;color:var(--ink);border:3px solid #fff;box-shadow:9px 9px 0 #f92f67;padding:28px}.battle-controls label{display:block;font-weight:800;text-transform:uppercase;font-size:12px;margin-bottom:8px}.battle-controls select{width:100%;padding:12px;border:2px solid var(--ink);background:#fff;font-weight:700}.slider-labels{display:flex;justify-content:space-between;margin-top:28px;font-weight:800;text-transform:uppercase;font-size:11px}.battle-controls input[type=range]{width:100%;accent-color:#f92f67;height:35px}.throne-candidate{display:flex;align-items:center;gap:17px;background:#ffde48;border:2px solid var(--ink);padding:17px;margin-top:19px}.throne-avatar{width:64px;height:64px;display:grid;place-items:center;background:#14a69a;color:#fff;border:2px solid var(--ink);font:400 22px "Archivo Black"}.throne-candidate span{text-transform:uppercase;font-weight:800;font-size:10px}.throne-candidate h3{font:400 28px "Archivo Black";text-transform:uppercase;margin:2px 0}.throne-candidate p{margin:0}.battle-method{max-width:800px;padding:20px clamp(24px,7vw,110px) 90px}.battle-method a{color:#ffde48;font-weight:800}
@media(max-width:1000px){.trial-grid{grid-template-columns:1fr}.trial-card{min-height:430px}.trial-card img{object-position:center 35%}.next-grid{grid-template-columns:1fr}.battle-console{grid-template-columns:1fr}.battle-visual{height:540px}.trials-heading{display:block}.trials-heading p{max-width:650px}}
@media(max-width:700px){.next-card{grid-template-columns:1fr}.next-card img{height:260px}.next-copy{padding:22px}}
@media(max-width:560px){.trials{padding:55px 16px 70px}.trials-heading h2{font-size:42px}.trial-card{min-height:450px}.trial-copy h3{font-size:31px}.next-trials{padding:55px 16px 70px}.battle-visual{height:650px;background-position:62% center}.battle-overlay h1{font-size:58px}.battle-console{padding-inline:16px}.battle-controls{padding:19px}.throne-candidate{align-items:flex-start}.battle-method{padding-inline:16px}}

/* Navigation arcade de la bibliothèque */
.game-library{display:block;max-width:1540px;margin:auto;padding-top:72px}.game-browser{position:relative;background:#081d31;color:#fff;border:3px solid var(--ink);box-shadow:12px 12px 0 #f92f67;overflow:hidden;margin-bottom:72px}.game-browser:before{content:"SELECT YOUR PLAYER";position:absolute;right:-18px;top:14px;color:#ffffff0b;font:400 clamp(55px,8vw,128px)/.8 "Archivo Black";white-space:nowrap;pointer-events:none}.game-browser-head{position:relative;display:flex;justify-content:space-between;align-items:end;gap:25px;padding:38px 40px 31px;border-bottom:2px solid #ffffff32;background:linear-gradient(120deg,#102b45,#081d31)}.game-browser-head .eyebrow{color:#ffde48}.game-browser-head h2{font:400 clamp(38px,5vw,64px)/.95 "Archivo Black";text-transform:uppercase;letter-spacing:-.05em;margin:8px 0}.game-browser-head p{margin:0;color:#cdd9e4}.game-browser .reset{align-self:center;background:#ffde48;color:var(--ink);border:2px solid #fff;padding:11px 16px;box-shadow:4px 4px 0 #fff;text-transform:uppercase;text-decoration:none;white-space:nowrap}.game-step{padding:34px 40px 40px;border-bottom:2px solid #ffffff26}.game-step:last-child{border-bottom:0}.step-kicker{display:flex;align-items:center;gap:13px;margin-bottom:20px}.step-kicker>b{display:grid;place-items:center;width:48px;height:48px;background:#f92f67;border:2px solid #fff;box-shadow:3px 3px 0 #fff;font:400 22px "Archivo Black";transform:rotate(-3deg)}.step-kicker span{display:block;font:400 23px "Archivo Black";text-transform:uppercase}.step-kicker small{color:#aebdca}.candidate-roster{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.candidate-pick{position:relative;min-width:0;background:#122b42;color:#fff;border:2px solid #ffffff4d;padding:7px;text-align:left;cursor:pointer;transition:.18s transform,.18s box-shadow,.18s border-color;overflow:hidden}.candidate-pick:hover,.candidate-pick:focus-visible{transform:translateY(-4px);border-color:#ffde48}.candidate-pick.active{background:#ffde48;color:var(--ink);border-color:#fff;box-shadow:5px 5px 0 #f92f67;transform:translate(-2px,-2px)}.candidate-pick.active:after{content:"✓";position:absolute;right:6px;top:6px;width:25px;height:25px;display:grid;place-items:center;background:#f92f67;color:#fff;border:2px solid var(--ink);font-weight:900}.roster-face,.all-players{display:block;width:100%;aspect-ratio:1;background-image:url("assets/navigation/roster-candidats-v1.png");background-size:400% 400%;background-position:calc(var(--roster-x) * 33.333%) calc(var(--roster-y) * 33.333%);border:2px solid var(--ink);margin-bottom:8px}.all-players{display:grid;place-items:center;background:#14a69a;color:#fff;font:400 clamp(35px,5vw,64px) "Archivo Black"}.candidate-pick strong,.candidate-pick small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-pick strong{font-size:12px}.candidate-pick small{font-size:9px;color:#afbfcc;margin-top:2px}.candidate-pick.active small{color:#4b4b3b}.theme-roster{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.theme-pick{position:relative;isolation:isolate;min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;color:#fff;text-align:left;padding:20px;border:3px solid #ffffff55;background-image:linear-gradient(0deg,rgba(4,14,25,.95),rgba(4,14,25,.08) 80%),var(--theme-image);background-size:cover;background-position:center;cursor:pointer;overflow:hidden}.theme-pick:after{content:"JOUER →";position:absolute;right:14px;top:14px;background:#ffde48;color:var(--ink);border:2px solid var(--ink);padding:5px 8px;font-weight:900;font-size:10px;opacity:0;transform:translateY(-5px);transition:.18s}.theme-pick:hover:after,.theme-pick.active:after{opacity:1;transform:none}.theme-pick:hover{transform:translateY(-3px)}.theme-pick.active{border-color:#ffde48;box-shadow:6px 6px 0 #f92f67}.theme-pick>span{color:#ffde48;text-transform:uppercase;font-weight:900;font-size:10px;letter-spacing:.12em}.theme-pick strong{font:400 clamp(22px,3vw,35px)/1 "Archivo Black";text-transform:uppercase;margin:5px 0}.theme-pick small{color:#dae2e9}.theme-pick.all-themes{background:radial-gradient(circle at 72% 35%,#f92f67 0 9%,transparent 10%),radial-gradient(circle at 52% 54%,#ffde48 0 11%,transparent 12%),radial-gradient(circle at 31% 28%,#14a69a 0 13%,transparent 14%),linear-gradient(135deg,#6c5cff,#122b42)}.mission-step{background:#102b45}.mission-step .step-kicker>b{background:#14a69a}.library-tools{display:grid;grid-template-columns:1fr 1.4fr 1fr;gap:14px}.library-tools .filter{border:0;padding:0}.library-tools label{color:#ffde48;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.library-tools select,.library-tools input{height:50px;background:#fff;border:2px solid #fff;border-radius:0;padding:0 13px;font-weight:700;color:var(--ink)}.game-library>.results{max-width:1120px;margin:auto}.game-library .results-head{margin-bottom:24px}
@media(max-width:1150px){.candidate-roster{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:850px){.game-library{padding-top:45px}.game-browser-head{align-items:flex-start}.candidate-roster{grid-template-columns:repeat(4,minmax(0,1fr))}.theme-roster{grid-template-columns:1fr}.theme-pick{min-height:250px}.library-tools{grid-template-columns:1fr}.game-browser:before{display:none}}
@media(max-width:560px){.game-library{padding-inline:14px}.game-browser{box-shadow:7px 7px 0 #f92f67}.game-browser-head,.game-step{padding:26px 18px}.game-browser-head{display:block}.game-browser .reset{margin-top:20px}.candidate-roster{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.candidate-pick{padding:5px}.candidate-pick strong{font-size:10px}.candidate-pick small{display:none}.theme-pick{min-height:210px}.step-kicker span{font-size:18px}.step-kicker small{font-size:11px}}

/* Carrousel des terrains et avatar jouable */
.theme-carousel{position:relative;display:grid;grid-template-columns:58px minmax(0,1fr) 58px;align-items:center;gap:12px}.carousel-viewport{position:relative;height:440px;border:3px solid #fff;box-shadow:8px 8px 0 #f92f67;overflow:hidden;background:#132b4d}.theme-slide{position:absolute;inset:0;opacity:0;transform:scale(1.05);pointer-events:none;background-image:linear-gradient(0deg,rgba(3,12,23,.9),rgba(3,12,23,0) 65%),var(--theme-image);background-size:cover;background-position:center;transition:opacity .35s ease,transform .55s ease}.theme-slide.active{opacity:1;transform:scale(1)}.theme-scene-copy{position:absolute;left:28px;bottom:25px;z-index:3;max-width:72%;text-shadow:0 3px 8px #000}.theme-scene-copy span{display:block;color:#ffde48;font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:11px}.theme-scene-copy strong{display:block;font:400 clamp(29px,4.3vw,58px)/.95 "Archivo Black";text-transform:uppercase;margin:7px 0}.theme-scene-copy small{font-size:15px;font-weight:700}.carousel-arrow{width:54px;height:70px;background:#ffde48;color:var(--ink);border:3px solid #fff;box-shadow:4px 4px 0 #f92f67;font:400 27px "Archivo Black";cursor:pointer;z-index:5}.carousel-arrow:hover{transform:scale(1.07)}.carousel-console{grid-column:2;display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:13px}.carousel-dots{display:flex;gap:9px}.carousel-dot{width:17px;height:17px;border:2px solid #fff;background:transparent;transform:rotate(45deg);cursor:pointer}.carousel-dot.active{background:#f92f67;box-shadow:2px 2px 0 #ffde48}.enter-terrain{background:#ffde48;color:var(--ink);border:3px solid var(--ink);padding:13px 18px;box-shadow:4px 4px 0 #f92f67;font-weight:900;text-transform:uppercase;cursor:pointer}.enter-terrain:disabled{background:#718092;color:#d4dce3;box-shadow:none;cursor:not-allowed}.stage-character{--walk-start:7%;position:absolute;z-index:4;left:var(--walk-start);bottom:82px;width:104px;height:194px;filter:drop-shadow(0 7px 2px rgba(0,0,0,.38));transition:left .55s cubic-bezier(.4,0,.2,1),transform .3s}.character-head{position:absolute;z-index:2;left:17px;top:0;width:72px;height:72px;border-radius:50%;border:3px solid #fff;background-image:url("assets/navigation/roster-candidats-v1.png");background-size:400% 400%;background-position:calc(var(--roster-x) * 33.333%) calc(var(--roster-y) * 33.333%)}.character-body{position:absolute;left:22px;top:64px;width:62px;height:80px;background:#098b75;border:4px solid var(--ink);border-radius:24px 24px 12px 12px}.character-body:before,.character-body:after{content:"";position:absolute;top:17px;width:17px;height:69px;background:#098b75;border:4px solid var(--ink);border-radius:12px;transform-origin:top}.character-body:before{left:-13px;transform:rotate(14deg)}.character-body:after{right:-13px;transform:rotate(-14deg)}.character-body i{position:absolute;top:69px;width:22px;height:58px;background:#087865;border:4px solid var(--ink);border-radius:0 0 12px 12px;transform-origin:top}.character-body i:first-child{left:3px}.character-body i:last-child{right:3px}.stage-character>b{position:absolute;left:50%;bottom:-8px;transform:translateX(-50%);background:#fff;color:var(--ink);border:2px solid var(--ink);padding:4px 7px;font-size:9px;white-space:nowrap;text-transform:uppercase}.stage-character.anonymous .character-head{background:#f92f67}.stage-character.anonymous .character-head:after{content:"?";display:grid;place-items:center;height:100%;font:400 35px "Archivo Black"}.stage-character.walk-right{left:78%;animation:player-bob .24s linear infinite}.stage-character.walk-left{left:2%;animation:player-bob .24s linear infinite}.stage-character.walk-right .character-body i:first-child,.stage-character.walk-left .character-body i:last-child{animation:leg-forward .24s linear infinite alternate}.stage-character.walk-right .character-body i:last-child,.stage-character.walk-left .character-body i:first-child{animation:leg-back .24s linear infinite alternate}.stage-character.entered{left:69%;transform:scale(.92)}.terrain-entered .carousel-viewport{box-shadow:8px 8px 0 #14a69a}.terrain-entered .enter-terrain{background:#14a69a;color:#fff}.terrain-entered .enter-terrain:before{content:"✓ ";}.terrain-entered .theme-slide.active{transform:scale(1.025)}
@keyframes player-bob{50%{transform:translateY(-8px)}}@keyframes leg-forward{to{transform:rotate(25deg)}}@keyframes leg-back{to{transform:rotate(-25deg)}}
@media(max-width:850px){.theme-carousel{grid-template-columns:43px minmax(0,1fr) 43px;gap:7px}.carousel-arrow{width:42px;height:58px}.carousel-viewport{height:360px}.stage-character{transform:scale(.82);transform-origin:bottom left}.stage-character.entered{transform:scale(.75)}.theme-scene-copy{left:20px;bottom:20px}.carousel-console{grid-column:1/-1;padding-inline:50px}}
@media(max-width:560px){.theme-carousel{grid-template-columns:34px minmax(0,1fr) 34px}.carousel-arrow{width:33px;height:48px;font-size:20px}.carousel-viewport{height:320px}.stage-character{bottom:77px;transform:scale(.65);transform-origin:bottom left}.stage-character.entered{left:60%;transform:scale(.6)}.theme-scene-copy{max-width:88%}.theme-scene-copy strong{font-size:28px}.carousel-console{padding:0;display:block}.carousel-dots{justify-content:center;margin-bottom:14px}.enter-terrain{width:100%;font-size:11px}}

@media(min-width:561px){.theme-scene-copy{max-width:58%}.stage-character{--walk-start:68%}.stage-character.walk-right{left:88%}.stage-character.walk-left{left:-4%}}

/* Personnages illustrés dans le style du bandeau */
.stage-character{bottom:24px;width:210px;height:230px;filter:drop-shadow(0 10px 5px rgba(0,0,0,.4));transform-origin:bottom center}.character-sprite{display:block;width:100%;height:100%;background-image:url("assets/navigation/roster-candidats-corps-v1.png");background-repeat:no-repeat;background-size:400% 400%;background-position:calc(var(--roster-x) * 33.333%) calc(var(--roster-y) * 33.333%)}.stage-character>b{bottom:3px;font-size:10px}.stage-character.anonymous{width:120px;height:150px;border:4px dashed #fff;background:#f92f67;display:grid;place-items:center}.stage-character.anonymous .character-sprite{display:none}.stage-character.anonymous:before{content:"?";font:400 58px "Archivo Black"}.stage-character.walk-right,.stage-character.walk-left{animation:player-bob .22s linear infinite}.stage-character.entered{left:69%;transform:scale(1.04)}
@media(max-width:850px){.stage-character{width:168px;height:188px;bottom:23px}.stage-character.entered{transform:scale(.95)}}
@media(max-width:560px){.stage-character{width:135px;height:155px;bottom:24px;transform:scale(1)}.stage-character.entered{left:59%;transform:scale(.92)}.theme-scene-copy{max-width:61%}}

.carousel-console{position:relative;flex-wrap:wrap}.carousel-progress{display:flex;align-items:center;gap:13px;color:#fff;font-size:11px;font-weight:900;text-transform:uppercase}.carousel-list-toggle{background:none;border:0;color:#ffde48;text-decoration:underline;font-weight:900;text-transform:uppercase;cursor:pointer}.carousel-dots{display:none;order:3;width:100%;flex-wrap:wrap;padding:13px;background:#071827;border:1px solid #ffffff33}.carousel-dots.expanded{display:flex}.carousel-dots .carousel-dot{width:11px;height:11px}.theme-slide[data-available="false"]:after{content:"APERÇU";position:absolute;right:18px;top:18px;background:#6c5cff;color:#fff;border:2px solid #fff;padding:6px 9px;font-weight:900;font-size:10px}.enter-terrain:disabled{border-color:#526477}.terrain-entered .enter-terrain:disabled:before{content:""}
@media(max-width:560px){.carousel-progress{justify-content:space-between;margin-bottom:12px}.carousel-dots{margin-bottom:12px}.carousel-dots .carousel-dot{width:9px;height:9px}}

/* Roster exhaustif et joueur hors du décor */
.initials-face{display:grid;place-items:center;background-image:none;background:linear-gradient(145deg,#6c5cff,#f92f67);color:#fff;font:400 31px "Archivo Black";text-align:center}.selected-player{display:flex;align-items:center;gap:10px;min-width:170px;background:#fff;color:var(--ink);border:2px solid var(--ink);padding:5px 10px 5px 5px;box-shadow:3px 3px 0 #14a69a}.selected-player .roster-face{width:48px;height:48px;aspect-ratio:1;margin:0;flex:0 0 48px}.selected-player .initials-face{font-size:16px}.selected-player span:last-child{min-width:0}.selected-player small,.selected-player b{display:block}.selected-player small{text-transform:uppercase;color:#59625d;font-size:8px;font-weight:900;letter-spacing:.08em}.selected-player b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:135px}.candidate-roster{max-height:610px;overflow:auto;padding:3px 8px 10px 3px;scrollbar-color:#f92f67 #132b42}.theme-scene-copy{max-width:72%}
@media(max-width:850px){.selected-player{order:1}.carousel-progress{order:2}.enter-terrain{order:3}.carousel-dots{order:4}.candidate-roster{max-height:540px}}
@media(max-width:560px){.selected-player{width:100%;margin-bottom:10px}.selected-player b{max-width:none}.candidate-roster{max-height:500px}.theme-scene-copy{max-width:88%}}

.candidate-pick .roster-face,.selected-player .roster-face{background-image:var(--portrait-sheet,url("assets/navigation/roster-candidats-v1.png"));background-size:432% calc(var(--portrait-rows,4) * 108%);background-position:calc(var(--roster-x) * 33.333%) var(--roster-y-pct,0%);background-repeat:no-repeat;overflow:hidden}.candidate-pick .initials-face,.selected-player .initials-face{background-image:none}

/* Joueur articulé intégré au décor */
.runner-slot{position:absolute;inset:0;z-index:4;pointer-events:none;overflow:hidden}.stage-runner{position:absolute;right:3%;bottom:10px;width:132px;height:218px;transform-origin:50% 100%;filter:drop-shadow(0 9px 4px rgba(0,0,0,.48));will-change:transform}.stage-runner .runner-face{position:absolute;z-index:7;left:34px;top:0;width:70px;height:70px;margin:0;border:3px solid #fff;border-radius:48% 48% 44% 44%;background-image:var(--portrait-sheet);background-size:400% calc(var(--portrait-rows,4) * 100%);background-position:calc(var(--roster-x) * 33.333%) var(--roster-y-pct,0%);box-shadow:0 3px 0 var(--ink)}.stage-runner .initials-face{display:grid;place-items:center;background:linear-gradient(145deg,#6c5cff,#f92f67);font-size:20px}.runner-neck{position:absolute;z-index:5;left:60px;top:62px;width:20px;height:19px;background:#e4b47f;border:3px solid var(--ink)}.runner-body{position:absolute;z-index:4;left:35px;top:74px;width:68px;height:84px;border:4px solid var(--ink);border-radius:22px 22px 13px 13px;background:linear-gradient(90deg,#08735f 0 47%,#12a187 48% 100%)}.runner-body:after{content:"";position:absolute;left:31px;top:0;width:3px;height:76px;background:#e8f3e7}.runner-number{position:absolute;z-index:2;right:7px;top:13px;background:#fff;color:#142337;border:2px solid #142337;padding:1px 4px;font:900 10px/1 sans-serif}.runner-arm,.runner-leg{position:absolute;display:block;background:#099078;border:4px solid var(--ink);transform-origin:50% 8px}.runner-arm{z-index:-1;top:13px;width:18px;height:72px;border-radius:12px}.arm-left{left:-16px;transform:rotate(12deg)}.arm-right{right:-16px;transform:rotate(-12deg)}.runner-leg{z-index:-2;top:69px;width:23px;height:72px;border-radius:8px 8px 14px 14px;background:#08735f}.runner-leg:after{content:"";position:absolute;bottom:-7px;width:33px;height:14px;border:4px solid var(--ink);border-radius:12px;background:#fff}.leg-left{left:5px}.leg-left:after{right:0}.leg-right{right:5px}.leg-right:after{left:0}.stage-runner>b{position:absolute;z-index:8;right:0;bottom:0;max-width:132px;padding:4px 7px;border:2px solid var(--ink);background:#fff;color:var(--ink);font-size:9px;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stage-runner.run-left{animation:runner-cross-left .9s cubic-bezier(.45,.02,.55,.98) both}.stage-runner.run-right{animation:runner-cross-right .9s cubic-bezier(.45,.02,.55,.98) both}.stage-runner.run-left .runner-body,.stage-runner.run-right .runner-body{animation:runner-lean .18s linear infinite alternate}.stage-runner.run-left .runner-face,.stage-runner.run-right .runner-face{animation:runner-head .18s linear infinite alternate}.stage-runner.run-left .arm-left,.stage-runner.run-right .arm-right{animation:limb-forward .18s linear infinite alternate}.stage-runner.run-left .arm-right,.stage-runner.run-right .arm-left{animation:limb-back .18s linear infinite alternate}.stage-runner.run-left .leg-left,.stage-runner.run-right .leg-right{animation:limb-back .18s linear infinite alternate}.stage-runner.run-left .leg-right,.stage-runner.run-right .leg-left{animation:limb-forward .18s linear infinite alternate}.stage-runner.run-right .runner-body{transform:scaleX(-1)}
@keyframes runner-cross-left{0%{transform:translateX(0) translateY(0) rotate(0)}42%{transform:translateX(-78vw) translateY(-5px) rotate(-4deg);opacity:1}43%{transform:translateX(-82vw);opacity:0}44%{transform:translateX(22vw);opacity:0}48%{opacity:1}100%{transform:translateX(0) translateY(0) rotate(0)}}
@keyframes runner-cross-right{0%{transform:translateX(0) translateY(0) scaleX(-1)}42%{transform:translateX(22vw) translateY(-5px) rotate(4deg) scaleX(-1);opacity:1}43%{transform:translateX(25vw) scaleX(-1);opacity:0}44%{transform:translateX(-82vw) scaleX(-1);opacity:0}48%{opacity:1}100%{transform:translateX(0) translateY(0) scaleX(-1)}}
@keyframes runner-lean{from{transform:rotate(-7deg) translateY(0)}to{transform:rotate(-12deg) translateY(-5px)}}@keyframes runner-head{to{transform:translateY(-4px) rotate(4deg)}}@keyframes limb-forward{from{transform:rotate(-42deg)}to{transform:rotate(38deg)}}@keyframes limb-back{from{transform:rotate(38deg)}to{transform:rotate(-42deg)}}
@media(max-width:850px){.stage-runner{right:2%;bottom:8px;transform:scale(.82);transform-origin:bottom right}.stage-runner.run-left{animation-name:runner-cross-left-tablet}.stage-runner.run-right{animation-name:runner-cross-right-tablet}@keyframes runner-cross-left-tablet{0%{transform:translateX(0) scale(.82)}43%{transform:translateX(-76vw) translateY(-4px) scale(.82);opacity:1}44%{opacity:0}45%{transform:translateX(22vw) scale(.82);opacity:0}49%{opacity:1}100%{transform:translateX(0) scale(.82)}}@keyframes runner-cross-right-tablet{0%{transform:translateX(0) scale(-.82,.82)}43%{transform:translateX(22vw) scale(-.82,.82);opacity:1}44%{opacity:0}45%{transform:translateX(-76vw) scale(-.82,.82);opacity:0}49%{opacity:1}100%{transform:translateX(0) scale(-.82,.82)}}}
@media(max-width:560px){.stage-runner{right:-7px;bottom:5px;transform:scale(.62);transform-origin:bottom right}.theme-scene-copy{max-width:64%;left:14px}.theme-scene-copy strong{font-size:25px}.stage-runner.run-left,.stage-runner.run-right{animation-duration:.8s}.stage-runner.run-left{animation-name:runner-cross-left-mobile}.stage-runner.run-right{animation-name:runner-cross-right-mobile}@keyframes runner-cross-left-mobile{0%{transform:translateX(0) scale(.62)}43%{transform:translateX(-72vw) scale(.62);opacity:1}44%{opacity:0}45%{transform:translateX(22vw) scale(.62);opacity:0}49%{opacity:1}100%{transform:translateX(0) scale(.62)}}@keyframes runner-cross-right-mobile{0%{transform:translateX(0) scale(-.62,.62)}43%{transform:translateX(22vw) scale(-.62,.62);opacity:1}44%{opacity:0}45%{transform:translateX(-72vw) scale(-.62,.62);opacity:0}49%{opacity:1}100%{transform:translateX(0) scale(-.62,.62)}}}
@media(prefers-reduced-motion:reduce){.stage-runner.run-left,.stage-runner.run-right,.stage-runner.run-left *,.stage-runner.run-right *{animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Personnage illustré : deux poses issues de la direction artistique du bandeau */
.stage-runner.illustrated-runner{right:1.5%;bottom:5px;width:190px;height:245px;background:none;border:0;transform-origin:bottom right}.illustrated-runner .runner-frame{position:absolute;inset:0;display:block;background-repeat:no-repeat;background-size:400% calc(var(--runner-rows) * 100%);background-position:calc(var(--runner-x) * 33.333%) var(--runner-y);will-change:opacity,transform}.illustrated-runner .frame-a{background-image:var(--runner-a);opacity:1}.illustrated-runner .frame-b{background-image:var(--runner-b);opacity:0}.illustrated-runner.run-left .frame-a,.illustrated-runner.run-right .frame-a{animation:stride-a .18s steps(1,end) infinite}.illustrated-runner.run-left .frame-b,.illustrated-runner.run-right .frame-b{animation:stride-b .18s steps(1,end) infinite}.illustrated-runner.run-left .runner-frame,.illustrated-runner.run-right .runner-frame{filter:drop-shadow(0 6px 2px rgba(0,0,0,.25))}.stage-runner.illustrated-runner>b{right:7px;bottom:2px;max-width:150px;border-color:#fff;background:#081d31;color:#fff;box-shadow:3px 3px 0 #f92f67}.illustrated-runner.run-right .runner-frame{transform:scaleX(-1)}
@keyframes stride-a{0%,49%{opacity:1}50%,100%{opacity:0}}@keyframes stride-b{0%,49%{opacity:0}50%,100%{opacity:1}}
@media(max-width:850px){.stage-runner.illustrated-runner{right:1%;bottom:3px;width:170px;height:220px}}
@media(max-width:560px){.stage-runner.illustrated-runner{right:-17px;bottom:1px;width:145px;height:188px}.stage-runner.illustrated-runner>b{right:17px;max-width:115px;font-size:8px}}

/* Épreuve 02 — salle d’interrogatoire */
.interrogation-room{border-color:#dce8ee;box-shadow:12px 12px 0 #14a69a;background:radial-gradient(circle at 50% 22%,#183b59,#071827 64%)}.interrogation-status{display:flex;align-items:center;gap:17px;padding:11px 40px;border-bottom:1px solid #ffffff30;background:#030c13;color:#fff;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.interrogation-status span{color:#ff536f;font-weight:900;animation:rec-pulse 1.25s ease-in-out infinite}.interrogation-status small{margin-left:auto;color:#99adba}.interrogation-room .game-browser-head{background:linear-gradient(90deg,#07131e,#12334d)}.interrogation-room .game-step{position:relative}.interrogation-room .mission-step{background-image:repeating-linear-gradient(0deg,transparent 0 31px,#42ffc31c 32px),linear-gradient(135deg,#0b293d,#102b45)}.evidence-files{position:relative}.evidence-kicker{display:block;color:#b8213b;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px}.polygraph-line{width:170px;height:48px;background:linear-gradient(transparent 46%,#d9ddd8 47% 52%,transparent 53%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='170' height='48' viewBox='0 0 170 48'%3E%3Cpath d='M0 25h28l6-13 8 27 8-19 8 8h22l6-22 10 38 9-25 7 7h58' fill='none' stroke='%23b8213b' stroke-width='3'/%3E%3C/svg%3E") center/contain no-repeat}.evidence-files .position-card:before{content:"PIÈCE VÉRIFIÉE";position:absolute;left:-37px;top:22px;transform:rotate(-45deg);padding:4px 36px;background:#14a69a;color:#fff;font-size:8px;font-weight:900;letter-spacing:.08em}@keyframes rec-pulse{50%{opacity:.35}}

/* Épreuve 03 — duel sur l’échiquier */
.duel-page{min-height:80vh;background:#eee9df}.duel-hero{min-height:520px;padding:55px clamp(22px,7vw,100px);display:grid;grid-template-columns:.75fr 1.25fr;align-items:center;gap:30px;color:#fff;background-image:linear-gradient(90deg,rgba(7,14,24,.96),rgba(7,14,24,.2)),url("assets/epreuve-duel-v1.png");background-size:cover;background-position:center;border-bottom:5px solid #f92f67}.duel-title>span,.duel-step{color:#ffde48;text-transform:uppercase;font-size:10px;font-weight:900;letter-spacing:.14em}.duel-title h1{font:400 clamp(58px,8vw,112px)/.84 "Archivo Black";text-transform:uppercase;letter-spacing:-.06em;margin:14px 0}.duel-title p{font-size:19px;font-weight:700;max-width:470px}.duel-stage{display:flex;justify-content:center;align-items:center;gap:22px}.duelist{display:flex;flex-direction:column;align-items:center;gap:10px;min-width:145px}.duelist .duel-face,.duel-placeholder{width:145px;height:145px;margin:0;border:4px solid #fff;background-image:var(--portrait-sheet);background-size:400% calc(var(--portrait-rows,4) * 100%);background-position:calc(var(--roster-x) * 33.333%) var(--roster-y-pct,0%);box-shadow:8px 8px 0 #f92f67}.duelist.right .duel-face{box-shadow:8px 8px 0 #14a69a}.duelist b{max-width:170px;padding:6px 10px;background:#fff;color:#081d31;border:2px solid #081d31;text-align:center;text-transform:uppercase;font-size:11px}.duel-placeholder{display:grid;place-items:center;background:#6c5cff;font:400 62px "Archivo Black"}.versus{display:grid;place-items:center;width:74px;height:74px;border-radius:50%;background:#ffde48;color:#081d31;border:4px solid #fff;font:400 25px "Archivo Black";transform:rotate(-6deg);box-shadow:5px 5px 0 #f92f67}.duel-shell{margin-top:-32px;position:relative}.duel-shell .compare-picker{background:#081d31;color:#fff;border-color:#fff;box-shadow:8px 8px 0 #f92f67}.duel-shell .compare-picker h2{font:400 24px "Archivo Black";text-transform:uppercase;margin:6px 0 15px}.duel-shell .chip{background:#16314b;color:#fff;border-color:#ffffff66}.duel-shell .chip.active{background:#ffde48;color:#081d31;border-color:#fff}.duel-board{padding:12px;background:repeating-conic-gradient(#111d2b 0 25%,#e9dfcc 0 50%) 0/64px 64px;border:4px solid #081d31;box-shadow:9px 9px 0 #f92f67}.duel-board-head{display:flex;justify-content:space-between;padding:14px 18px;background:#081d31;color:#fff;text-transform:uppercase}.duel-board-head span{font:400 20px "Archivo Black"}.duel-board-head small{color:#ffde48;font-weight:800}.duel-board .compare-grid{border:0;box-shadow:none;border-radius:0}.table-face{width:54px;height:54px;flex:0 0 54px;margin:0;border:2px solid #081d31;background-image:var(--portrait-sheet);background-size:400% calc(var(--portrait-rows,4) * 100%);background-position:calc(var(--roster-x) * 33.333%) var(--roster-y-pct,0%)}.duel-verdict{padding:28px;background:#081d31;color:#fff;border:4px solid #081d31;box-shadow:9px 9px 0 #14a69a}.duel-verdict h2{color:#fff}.duel-verdict .caution{color:#bdcad4}.duel-empty{border:3px solid #081d31;box-shadow:8px 8px 0 #f92f67}

/* Épreuve 04 — prétendants au trône */
.throne-stage{position:relative;min-height:340px;margin-top:20px;display:flex;justify-content:center;align-items:flex-end;overflow:hidden;background:radial-gradient(circle at 50% 38%,#ffdf6177,transparent 38%),linear-gradient(#132943,#07121f);border:3px solid #081d31}.throne-glow{position:absolute;inset:0;background:repeating-conic-gradient(from 0deg at 50% 35%,#ffde4818 0 8deg,transparent 8deg 25deg)}.throne-face{position:absolute;z-index:3;top:32px;width:126px;height:126px;margin:0;border:4px solid #ffde48;border-radius:50%;background-image:var(--portrait-sheet);background-size:400% calc(var(--portrait-rows,4) * 100%);background-position:calc(var(--roster-x) * 33.333%) var(--roster-y-pct,0%);box-shadow:0 0 35px #ffde48}.throne-seat{position:absolute;z-index:2;bottom:74px;width:210px;height:150px;display:grid;place-items:end center;color:#ffde48;font-size:95px;background:linear-gradient(145deg,transparent 25%,#24384c 26% 75%,transparent 76%);text-shadow:0 3px #000}.throne-stage .throne-candidate{position:relative;z-index:4;width:calc(100% - 28px);margin:0 14px 14px;background:#ffde48}.challengers{margin-top:12px;padding:12px;background:#071827;color:#fff;border:2px solid #081d31}.challengers>span{display:block;margin-bottom:9px;color:#ffde48;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.1em}.challengers>div{display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:9px;padding:6px;border-top:1px solid #ffffff25}.challenger-face{width:36px;height:36px;margin:0;border:1px solid #fff;background-image:var(--portrait-sheet);background-size:400% calc(var(--portrait-rows,4) * 100%);background-position:calc(var(--roster-x) * 33.333%) var(--roster-y-pct,0%)}.challengers small{color:#ffde48}
@media(max-width:800px){.duel-hero{grid-template-columns:1fr;min-height:650px}.duel-title{text-align:center}.duel-title p{margin-inline:auto}.duelist .duel-face,.duel-placeholder{width:105px;height:105px}.duelist{min-width:105px}.versus{width:58px;height:58px}.interrogation-status{padding-inline:18px}.interrogation-status small{display:none}}
@media(max-width:560px){.duel-stage{gap:9px}.duelist{min-width:82px}.duelist .duel-face,.duel-placeholder{width:82px;height:82px}.duelist b{font-size:8px}.versus{width:48px;height:48px;font-size:17px}.duel-board-head{display:block}.duel-board-head small{display:block;margin-top:5px}.polygraph-line{display:none}}

/* Interrogatoire autonome */
.interrogation-page{min-height:100vh;background:#071827;padding-bottom:80px}.interrogation-scene{position:relative;min-height:820px;overflow:hidden;color:#fff;background-image:linear-gradient(90deg,rgba(3,12,23,.24),rgba(3,12,23,.03)),url("assets/interrogatoire-salle-v2.png");background-size:cover;background-position:center;border-bottom:4px solid #14a69a}.interrogation-scene-head{position:absolute;z-index:3;left:5%;top:34px}.interrogation-scene-head>span{color:#ff536f;text-transform:uppercase;font-weight:900;font-size:10px;letter-spacing:.13em}.interrogation-scene-head h1{font:400 clamp(38px,4.6vw,67px)/.93 "Archivo Black";text-transform:uppercase;letter-spacing:-.05em;margin:10px 0;text-shadow:0 4px 18px #000}.interrogation-candidate-select{position:absolute;z-index:6;right:4%;top:32px;width:min(310px,38%);padding:11px;background:#071827dd;border:2px solid #fff;box-shadow:5px 5px 0 #f92f67}.interrogation-candidate-select label{display:block;margin-bottom:6px;color:#ffde48;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.1em}.interrogation-candidate-select select{width:100%;height:38px;padding:0 9px;border:0;background:#fff;color:#081d31;font-weight:800}.theme-sheet{position:absolute;z-index:5;left:4%;top:190px;width:min(37%,430px);height:570px;padding:29px 24px 25px;color:#171717;background:#f7f0d9;background-image:repeating-linear-gradient(0deg,transparent 0 28px,#7ba3bd26 29px);border:2px solid #171717;box-shadow:13px 15px 0 #0008;transform:rotate(-1deg)}.sheet-clip{position:absolute;top:-13px;left:50%;width:95px;height:32px;transform:translateX(-50%);border:4px solid #777;border-radius:17px;background:#bbb}.theme-sheet>span{color:#b8213b;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.13em}.theme-sheet h2{font:400 31px "Archivo Black";text-transform:uppercase;margin:4px 0}.theme-sheet>p{margin:0 0 12px;font-size:12px}.theme-sheet-list{height:430px;overflow:auto;padding:3px 6px 6px 2px}.interrogation-theme{width:100%;display:grid;grid-template-columns:30px 1fr;gap:7px;align-items:center;padding:7px 5px;border:0;border-bottom:1px solid #1b466b40;background:transparent;color:#17212a;text-align:left;cursor:pointer}.interrogation-theme b{font-size:9px;color:#b8213b}.interrogation-theme span{font-size:11px;font-weight:800}.interrogation-theme:hover,.interrogation-theme.active{background:#ffde48;transform:translateX(3px)}.seated-candidate{position:absolute;z-index:4;right:6%;top:235px;width:36%;height:470px;filter:drop-shadow(0 14px 7px #0008)}.seated-candidate>span{display:block;width:100%;height:100%;background-image:var(--seated-sheet);background-repeat:no-repeat;background-size:400% calc(var(--seated-rows) * 100%);background-position:calc(var(--seated-x) * 33.333%) var(--seated-y)}.seated-candidate>b{position:absolute;left:50%;bottom:7px;transform:translateX(-50%);padding:6px 12px;background:#fff;color:#081d31;border:2px solid #081d31;box-shadow:4px 4px 0 #f92f67;text-transform:uppercase;white-space:nowrap;font-size:11px}.recording-light{position:absolute;right:3%;bottom:25px;color:#ff536f;font-weight:900;font-size:11px;letter-spacing:.15em;animation:rec-pulse 1.25s infinite}.interrogation-proposals{width:min(900px,56%);margin:0 5% 0 auto;padding:45px 0}.interrogation-proposals .position-card{margin-bottom:20px}.interrogation-wait,.interrogation-results-head{padding:25px;color:#fff;border-left:5px solid #14a69a;background:#102b45}.interrogation-wait span,.interrogation-results-head span{color:#ffde48;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.13em}.interrogation-wait h2,.interrogation-results-head h2{font:400 clamp(30px,4vw,50px)/1 "Archivo Black";text-transform:uppercase;margin:7px 0}.interrogation-wait p,.interrogation-results-head p{color:#bfccd7;margin:0}.interrogation-proposals>.empty{background:#fff;color:#171717;border-radius:0;border:3px solid #171717;box-shadow:7px 7px 0 #f92f67;margin-top:18px}
@media(max-width:850px){.interrogation-scene{min-height:1040px;background-position:62% center}.interrogation-scene-head{left:4%}.interrogation-candidate-select{top:145px;left:4%;right:auto;width:92%}.theme-sheet{top:235px;width:45%;height:700px}.theme-sheet-list{height:560px}.seated-candidate{right:1%;top:320px;width:53%;height:520px}.interrogation-proposals{width:92%;margin:auto}}
@media(max-width:560px){.interrogation-scene{min-height:1190px}.interrogation-scene-head h1{font-size:38px}.theme-sheet{top:250px;left:5%;width:90%;height:520px}.theme-sheet-list{height:385px}.seated-candidate{top:775px;right:8%;width:84%;height:370px}.recording-light{bottom:15px}.interrogation-proposals{padding-top:28px}}

/* Cadrage sûr des portraits et noms complets */
.candidate-pick .roster-face{clip-path:inset(0);background-color:#102b45}.candidate-pick strong{white-space:normal;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.15;min-height:2.3em;overflow:hidden;text-overflow:ellipsis}.candidate-pick small{margin-top:4px}.duel-face,.table-face,.throne-face,.challenger-face,.hud-face{background-size:432% calc(var(--portrait-rows,4) * 108%)!important;background-repeat:no-repeat!important}.selected-player .roster-face{background-color:#102b45}
@media(max-width:560px){.candidate-pick strong{font-size:9px;min-height:2.3em}.candidate-pick small{display:none}}

/* Assets individuels : aucune fuite possible entre deux candidats */
.roster-face.individual-face,.candidate-pick .roster-face.individual-face,.selected-player .roster-face.individual-face,.duel-face.individual-face,.table-face.individual-face,.throne-face.individual-face,.challenger-face.individual-face,.hud-face.individual-face{background-image:var(--candidate-portrait)!important;background-size:112% auto!important;background-position:center top!important;background-repeat:no-repeat!important}.roster-face.individual-face.asset-framing-v1,.candidate-pick .roster-face.individual-face.asset-framing-v1,.selected-player .roster-face.individual-face.asset-framing-v1,.duel-face.individual-face.asset-framing-v1,.table-face.individual-face.asset-framing-v1,.throne-face.individual-face.asset-framing-v1,.challenger-face.individual-face.asset-framing-v1,.hud-face.individual-face.asset-framing-v1{background-size:cover!important;background-position:center!important}.roster-face.individual-face.candidate-art-dominique-de-villepin{background-size:120% auto!important;background-position:center top!important}.seated-candidate>span{background-image:var(--candidate-seated)!important;background-size:contain!important;background-position:center bottom!important;background-repeat:no-repeat!important}

/* Battle Royale V2 — arène, tribune et trône lumineux */
.battle-v2{min-height:100vh;background:#061827;color:#fff;padding-bottom:80px}.battle-v2 .battle-visual{min-height:430px;border-bottom:4px solid #f92f67}.battle-v2 .battle-overlay{max-width:720px}.arena-game{width:min(1320px,94%);margin:-46px auto 55px;position:relative;z-index:2}.arena-controls{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:18px;padding:22px;background:#0d2941;border:3px solid #fff;box-shadow:10px 10px 0 #f92f67}.arena-controls>div{padding:17px;background:#071827;border:1px solid #ffffff36}.arena-controls span{display:block;color:#ffde48;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.arena-controls label,.axis-question{display:block;margin:6px 0 11px;font:400 19px "Archivo Black";text-transform:uppercase}.arena-controls select{width:100%;height:47px;padding:0 12px;border:2px solid #fff;background:#fff;color:#071827;font-weight:900}.axis-control{position:relative}.slider-labels{display:flex;justify-content:space-between;gap:20px;margin:8px 0 5px;color:#c9d7e2;font-size:11px;text-transform:uppercase}.slider-labels b:last-child{text-align:right}.axis-control input{width:calc(100% - 72px);accent-color:#ffde48}.axis-control output{position:absolute;right:15px;bottom:17px;min-width:57px;padding:5px;background:#ffde48;color:#071827;border:2px solid #fff;text-align:center;font-weight:900}.royal-arena{position:relative;min-height:760px;overflow:hidden;border:4px solid #071827;border-top:0;background:radial-gradient(ellipse at 50% 67%,#ffde486e 0 8%,#23527680 25%,transparent 48%),linear-gradient(180deg,#06111d 0 15%,#102f4b 49%,#06111d 100%);box-shadow:10px 10px 0 #14a69a}.royal-arena:before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from -7deg at 50% 72%,#ffde480c 0 5deg,transparent 5deg 14deg);pointer-events:none}.arena-cast{position:absolute;z-index:2;left:2%;right:2%;top:20px;height:415px;display:grid;grid-template-columns:repeat(17,minmax(38px,1fr));grid-template-rows:repeat(2,205px);align-items:end;gap:0 3px;padding:0 8px;border-bottom:2px solid #ffffff24}.arena-player{position:relative;height:205px;display:flex;justify-content:flex-end;align-items:center;flex-direction:column;filter:brightness(.25) saturate(.5);opacity:.72;transition:.3s ease}.arena-player:nth-child(n+18){transform:translateY(-10px)}.arena-player.called{opacity:.12;filter:brightness(.12);transform:translateY(-12px)}.arena-player.undocumented{opacity:.29;filter:grayscale(1) brightness(.22)}.standing-candidate{width:100%;height:160px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 6px 3px #000)}.arena-player small{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;font-size:7px;font-weight:900;text-transform:uppercase}.arena-player i{color:#91a7b8;font-size:7px;font-style:normal}.luminous-throne{position:absolute;z-index:3;left:50%;bottom:0;width:min(720px,76%);height:480px;transform:translateX(-50%);display:flex;align-items:flex-end;justify-content:center}.throne-rays{position:absolute;inset:-180px -180px 0;background:repeating-conic-gradient(from -4deg at 50% 70%,#ffde4838 0 5deg,transparent 5deg 13deg);mask-image:linear-gradient(to bottom,transparent,#000 40%);animation:throne-pulse 3.2s ease-in-out infinite}.throne-chair{position:absolute;bottom:22px;width:310px;height:270px;display:grid;place-items:end center;background:linear-gradient(145deg,transparent 17%,#52616c 18% 28%,#172532 29% 79%,transparent 80%);color:#ffde48;font-size:145px;text-shadow:0 4px #000,0 0 30px #ffde48;filter:drop-shadow(0 0 25px #ffde4877)}#throne-winners{position:relative;z-index:4;display:flex;align-items:flex-end;justify-content:center;gap:4px;width:100%;height:390px}.throne-winner{position:relative;width:min(250px,42%);height:385px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer}.winner-standing{width:100%;height:330px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 0 10px #fff) drop-shadow(0 0 22px #ffde48)}.throne-winner b{position:absolute;left:50%;bottom:8px;transform:translateX(-50%);max-width:95%;padding:6px 10px;border:2px solid #fff;background:#071827;box-shadow:4px 4px 0 #f92f67;text-transform:uppercase;white-space:nowrap;font-size:10px}.throne-winner:hover{transform:translateY(-5px)}.no-winner{align-self:center;padding:12px 17px;background:#071827;border:2px solid #fff;color:#ffde48;font-weight:900;text-transform:uppercase}.battle-readout{display:grid;grid-template-columns:.72fr 1.28fr;gap:24px;padding:30px;background:#f7f0d9;color:#171717;border:4px solid #071827;border-top:4px solid #ffde48;box-shadow:10px 10px 0 #f92f67}.battle-readout>div:first-child>span{color:#b8213b;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.battle-readout h2{font:400 clamp(28px,3vw,45px)/1 "Archivo Black";text-transform:uppercase;margin:7px 0}.winner-proofs{display:grid;gap:9px}.winner-proofs a{display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:center;padding:13px;border:2px solid #171717;background:#fff;text-decoration:none}.winner-proofs a:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 #14a69a}.winner-proofs span{font-size:12px}.winner-proofs small{font-weight:900;white-space:nowrap}.battle-method{width:min(900px,88%);margin:0 auto;padding:28px;border-left:7px solid #14a69a;background:#0d2941;color:#fff}.battle-method h2{font:400 31px "Archivo Black";text-transform:uppercase}.battle-method p{color:#c3d0db}.battle-method a{color:#ffde48;font-weight:900}@keyframes throne-pulse{50%{opacity:.55;transform:scale(1.04)}}
@media(max-width:980px){.arena-controls{grid-template-columns:1fr}.royal-arena{min-height:850px}.arena-cast{grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(4,150px);height:600px}.arena-player{height:150px}.standing-candidate{height:112px}.luminous-throne{height:430px}.battle-readout{grid-template-columns:1fr}}
@media(max-width:560px){.arena-game{width:100%;margin-top:-20px}.arena-controls{padding:10px;box-shadow:none}.slider-labels{font-size:8px}.royal-arena{min-height:780px;border-inline:0}.arena-cast{left:0;right:0;top:12px;grid-template-columns:repeat(7,1fr);grid-template-rows:repeat(5,115px);height:575px;padding:0}.arena-player{height:115px}.standing-candidate{height:83px}.arena-player small{font-size:5px}.arena-player i{display:none}.luminous-throne{width:100%;height:390px}.throne-chair{width:230px;height:220px;font-size:110px}.throne-winner{height:330px}.winner-standing{height:285px}.throne-winner b{font-size:8px}.battle-readout{padding:20px;border-inline:0;box-shadow:none}.winner-proofs a{grid-template-columns:1fr}.winner-proofs small{color:#075f46}}

.standing-candidate,.winner-standing{display:block;background-image:var(--candidate-standing);background-repeat:no-repeat;background-size:contain;background-position:center bottom}

/* Proportions finales de l'arène : tribune 1/3, trône monumental 2/3 */
.royal-arena{min-height:820px}.arena-cast{top:18px;height:270px;grid-template-rows:repeat(2,132px);align-items:end;background:linear-gradient(180deg,#020a12aa,#102f4b55)}.arena-player{height:132px;opacity:.9;filter:brightness(.56) saturate(.72)}.arena-player:nth-child(n+18){transform:translateY(-4px)}.arena-player.called{opacity:.3;filter:brightness(.35);transform:translateY(-5px)}.arena-player.undocumented{opacity:.55;filter:grayscale(.75) brightness(.48)}.arena-player .standing-candidate{height:96px}.arena-player small{font-size:7px;color:#dce8ef;text-shadow:0 1px 3px #000}.arena-player i{font-size:6px;color:#a8bdca}.luminous-throne{width:min(960px,88%);height:690px}.throne-rays{inset:-80px -220px 0}.throne-chair{z-index:1;bottom:0;width:660px;height:660px;background:url("assets/navigation/trone-lames-v1.png") center bottom/contain no-repeat;color:transparent;filter:drop-shadow(0 0 24px #ffde4870)}#throne-winners{z-index:4;height:650px}.throne-winner{width:min(470px,48%);height:640px}.winner-standing{height:610px;filter:drop-shadow(0 0 12px #fff) drop-shadow(0 0 30px #ffde48)}.throne-winner b{bottom:9px;font-size:12px;padding:8px 13px}
@media(max-width:980px){.royal-arena{min-height:820px}.arena-cast{grid-template-columns:repeat(17,minmax(30px,1fr));grid-template-rows:repeat(2,132px);height:270px}.arena-player{height:132px}.arena-player .standing-candidate{height:92px}.luminous-throne{height:660px}.throne-chair{width:600px;height:610px}.throne-winner{height:600px}.winner-standing{height:565px}}
@media(max-width:560px){.royal-arena{min-height:700px}.arena-cast{grid-template-columns:repeat(9,1fr);grid-template-rows:repeat(4,77px);height:310px}.arena-player{height:77px}.arena-player .standing-candidate{height:52px}.arena-player small{font-size:4px}.luminous-throne{height:500px}.throne-chair{width:390px;height:440px}.throne-winner{height:455px}.winner-standing{height:425px}}
.throne-winner .winner-standing{background-size:180% auto;background-position:center 92%}
@media(max-width:560px){.throne-winner .winner-standing{background-size:165% auto}}

/* Battle Royale : curseur, gagnant et preuves sur un même plan */
@media(min-width:981px){.arena-game{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,.8fr);grid-template-rows:auto minmax(580px,calc(100vh - 265px));align-items:stretch}.arena-controls{grid-column:1/-1;position:sticky;top:76px;z-index:12}.royal-arena{grid-column:1;grid-row:2;min-height:0;height:100%;border-right:0}.battle-readout{grid-column:2;grid-row:2;display:flex;flex-direction:column;gap:18px;min-width:0;height:100%;overflow:auto;border-top:0;border-left:4px solid #ffde48;box-shadow:10px 10px 0 #f92f67}.battle-readout>div:first-child{flex:0 0 auto}.battle-readout h2{font-size:clamp(27px,2.4vw,40px)}.winner-proofs{display:flex;flex-direction:column}.winner-proofs a{grid-template-columns:1fr;gap:5px}.winner-proofs a b{font-size:15px}.winner-proofs a span{font-size:13px}.winner-proofs a small{margin-top:3px;color:#075f46}.royal-arena .arena-cast{height:31%;grid-template-rows:repeat(2,minmax(90px,1fr))}.royal-arena .arena-player{height:100%}.royal-arena .arena-player .standing-candidate{height:72%}.luminous-throne{height:76%;bottom:0}.throne-chair{height:100%;width:min(620px,82%)}#throne-winners{height:94%}.throne-winner{height:100%}.winner-standing{height:94%}.throne-winner .winner-standing{background-size:170% auto}}
@media(min-width:981px){.arena-game{grid-template-rows:auto minmax(500px,calc(100vh - 370px))}}

/* Épreuve 06 — Bref, le feed d'actu */
.next-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feed-next-card{grid-column:1/-1;grid-template-columns:58% 42%;min-height:390px;text-decoration:none;box-shadow:8px 8px 0 #ffde48}.feed-next-card img{object-position:center 40%}.feed-next-card .next-copy b{background:#ffde48}.feed-page{min-height:100vh;background:#071827;color:#fff;padding-bottom:80px}.feed-hero{min-height:570px;display:flex;align-items:center;padding:55px clamp(22px,7vw,100px);background-image:linear-gradient(90deg,#061827f5 0,#061827ad 38%,transparent 70%),url("assets/epreuve-feed-actu-v1.png");background-size:cover;background-position:center;border-bottom:5px solid #f92f67}.feed-hero>div{max-width:650px}.feed-hero h1{font:400 clamp(64px,8vw,112px)/.84 "Archivo Black";text-transform:uppercase;letter-spacing:-.06em;margin:18px 0}.feed-hero p{font-size:20px;font-weight:700;max-width:570px}.feed-shell{width:min(1400px,94%);margin:-34px auto 0;position:relative;z-index:2;display:grid;grid-template-columns:300px 1fr;gap:22px}.feed-control{position:sticky;top:96px;align-self:start;padding:22px;background:#ffde48;color:#071827;border:3px solid #fff;box-shadow:8px 8px 0 #f92f67}.feed-control>span{font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.feed-control label{display:block;margin:12px 0 6px;font:400 23px "Archivo Black";text-transform:uppercase}.feed-control select{width:100%;height:48px;padding:0 10px;border:3px solid #071827;background:#fff;font-weight:800}.feed-date{margin-top:22px;padding-top:18px;border-top:2px solid #071827;text-transform:uppercase;font-size:10px;font-weight:900}.feed-date b{display:block;font-size:21px}.feed-control p{font-size:11px;line-height:1.45}.feed-content{min-width:0}.feed-profile-head{display:flex;align-items:center;gap:18px;padding:24px;background:#102f4b;border:3px solid #fff}.feed-profile-head .feed-face,.feed-all{width:92px;height:92px;flex:0 0 92px;margin:0;border:3px solid #fff;background-image:var(--candidate-portrait);background-size:cover;background-position:center}.feed-all{display:grid;place-items:center;background:#f92f67;font:400 32px "Archivo Black"}.feed-profile-head span{color:#ffde48;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.12em}.feed-profile-head h2{font:400 clamp(28px,4vw,48px)/1 "Archivo Black";text-transform:uppercase;margin:5px 0}.feed-profile-head p{margin:0;color:#bed0dc}.activity-panels{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 20px}.activity-panels>div{display:flex;flex-wrap:wrap;align-content:flex-start;gap:7px;padding:17px;background:#fff;color:#071827;border-left:6px solid #14a69a}.activity-panels>div.silent{border-color:#f92f67}.activity-panels b{width:100%;margin-bottom:4px;text-transform:uppercase;font-size:11px}.activity-panels span{padding:5px 8px;background:#dff4ef;border:1px solid #071827;font-size:11px;font-weight:800}.activity-panels .silent span{background:#ffe5ec}.activity-panels i{display:inline-grid;place-items:center;margin-left:4px;width:20px;height:20px;border-radius:50%;background:#071827;color:#fff;font-style:normal}.feed-list{display:grid;gap:13px}.feed-item{position:relative;padding:23px 25px 23px 82px;background:#fff;color:#071827;border:3px solid #071827;box-shadow:6px 6px 0 #14a69a}.feed-item:nth-child(3n+2){box-shadow-color:#f92f67}.feed-item:nth-child(3n){box-shadow-color:#ffde48}.feed-rank{position:absolute;left:17px;top:19px;font:400 31px "Archivo Black";color:#f92f67}.feed-item-head{display:flex;align-items:center;gap:10px}.feed-mini{width:44px;height:44px;flex:0 0 44px;margin:0;border:2px solid #071827;background-image:var(--candidate-portrait);background-size:cover;background-position:center}.feed-item-head b{display:block}.feed-item-head span{display:block;color:#66747e;font-size:11px;text-transform:uppercase}.feed-item h3{font:400 clamp(21px,2.4vw,32px)/1.08 "Archivo Black";margin:14px 0 9px}.feed-item>p{margin:0 0 15px;color:#46535c;font:500 17px/1.45 "Newsreader"}.feed-item>a{font-weight:900;color:#075f46}.feed-page .empty{background:#fff;color:#071827}
@media(max-width:900px){.feed-shell{grid-template-columns:1fr}.feed-control{position:static}.feed-hero{min-height:640px;background-image:linear-gradient(180deg,#061827e8 0,#0618278a 55%,transparent 100%),url("assets/epreuve-feed-actu-v1.png")}.next-grid{grid-template-columns:1fr}.feed-next-card{grid-column:auto;grid-template-columns:46% 54%}}
@media(max-width:560px){.feed-hero{min-height:590px;padding-inline:22px}.feed-hero h1{font-size:58px}.feed-next-card,.next-card{grid-template-columns:1fr}.next-card img{height:240px}.feed-profile-head{align-items:flex-start}.activity-panels{grid-template-columns:1fr}.feed-item{padding:20px 18px 20px 62px}.feed-rank{left:12px}.feed-item h3{font-size:22px}}

/* Duel V2 — deux joueurs, un terrain, preuve contre preuve */
.duel-v2{background:#061827;color:#fff;padding-bottom:85px}.duel-v2 .duel-hero{min-height:500px}.duel-console{width:min(1380px,94%);margin:-38px auto 0;position:relative;z-index:3}.duel-setup{padding:24px;background:#0d2941;border:3px solid #fff;box-shadow:9px 9px 0 #f92f67}.duel-setup-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:17px}.duel-setup h2,.duel-theme-control h2{font:400 clamp(22px,3vw,34px)/1 "Archivo Black";text-transform:uppercase;margin:5px 0}.duel-setup-head>strong{font:400 34px "Archivo Black";color:#ffde48}.duel-roster{display:grid;grid-template-columns:repeat(8,minmax(110px,1fr));gap:9px;max-height:395px;overflow:auto;padding:4px}.duel-candidate{position:relative;display:grid;grid-template-columns:56px 1fr;align-items:center;gap:8px;min-height:74px;padding:7px;border:2px solid #ffffff42;background:#16314b;color:#fff;text-align:left;cursor:pointer}.duel-candidate:hover{border-color:#ffde48;transform:translateY(-2px)}.duel-candidate.active{background:#ffde48;color:#071827;border-color:#fff;box-shadow:4px 4px 0 #f92f67}.duel-roster-face{width:56px;height:56px;margin:0;border:2px solid currentColor;background-image:var(--candidate-portrait);background-size:cover;background-position:center}.duel-candidate span{min-width:0}.duel-candidate b,.duel-candidate small{display:block;overflow:hidden;text-overflow:ellipsis}.duel-candidate b{font-size:10px;text-transform:uppercase}.duel-candidate small{margin-top:3px;font-size:8px;white-space:nowrap;opacity:.75}.duel-candidate i{position:absolute;right:4px;top:4px;display:grid;place-items:center;width:24px;height:24px;background:#f92f67;color:#fff;border:2px solid #071827;font-style:normal;font-weight:900}.duel-theme-control{display:grid;grid-template-columns:1fr minmax(280px,.65fr) auto;align-items:center;gap:20px;margin-top:18px;padding:22px;background:#ffde48;color:#071827;border:3px solid #fff;box-shadow:9px 9px 0 #14a69a}.duel-theme-control .duel-step{color:#b8213b}.duel-theme-control select{height:54px;padding:0 14px;border:3px solid #071827;background:#fff;color:#071827;font-weight:900}.duel-theme-control button{height:54px;padding:0 17px;border:3px solid #071827;background:#071827;color:#fff;font-weight:900;cursor:pointer}.duel-theme-control button:hover{background:#f92f67}.duel-wait{margin-top:18px;padding:40px;background:#f7f0d9;color:#071827;border:3px solid #071827;box-shadow:9px 9px 0 #f92f67;text-align:center}.duel-wait b{font:400 28px "Archivo Black";text-transform:uppercase}.duel-match{margin-top:22px}.duel-match-head{padding:27px;background:#f7f0d9;color:#071827;border:3px solid #071827}.duel-match-head>span{color:#b8213b;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.duel-match-head h2{font:400 clamp(37px,5vw,68px)/.95 "Archivo Black";text-transform:uppercase;margin:7px 0}.duel-match-head p{max-width:770px;margin:0;color:#48545e}.duel-scoreboard{display:grid;grid-template-columns:repeat(3,1fr);border:3px solid #071827;border-top:0;background:#fff;color:#071827}.duel-scoreboard div{display:flex;align-items:center;gap:12px;padding:17px;border-right:2px solid #071827}.duel-scoreboard div:last-child{border:0}.duel-scoreboard b{font:400 31px "Archivo Black";color:#f92f67}.duel-scoreboard span{font-size:11px;font-weight:900;text-transform:uppercase}.duel-columns-head{display:grid;grid-template-columns:1fr 90px 1fr;align-items:center;margin-top:20px;background:#071827;border:3px solid #fff}.duel-columns-head>div{display:flex;align-items:center;justify-content:center;gap:16px;padding:15px}.duel-columns-head>div:last-child{flex-direction:row-reverse}.duel-columns-head h3{font:400 clamp(19px,2.7vw,34px) "Archivo Black";text-transform:uppercase}.duel-column-face{width:78px;height:78px;flex:0 0 78px;margin:0;border:3px solid #fff;background-image:var(--candidate-portrait);background-size:cover;background-position:center}.duel-columns-head>span{display:grid;place-items:center;width:70px;height:70px;margin:auto;border-radius:50%;background:#ffde48;color:#071827;border:3px solid #fff;font:400 23px "Archivo Black"}.duel-rounds{display:grid;gap:16px;margin-top:16px}.duel-round{background:#f7f0d9;color:#071827;border:3px solid #071827;box-shadow:8px 8px 0 #8796a1}.duel-round.close{box-shadow-color:#14a69a}.duel-round.opposed{box-shadow-color:#f92f67}.duel-round.missing{box-shadow-color:#ffde48}.duel-round header{display:grid;grid-template-columns:90px 1fr auto;align-items:center;gap:14px;padding:14px 18px;background:#0d2941;color:#fff}.duel-round header>span{color:#ffde48;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.duel-round header h3{font:400 clamp(17px,2vw,25px) "Archivo Black";text-transform:uppercase}.duel-round header b{padding:7px 10px;background:#fff;color:#071827;text-transform:uppercase;font-size:9px}.duel-round.close header b{background:#8ff0c4}.duel-round.opposed header b{background:#ff8dab}.duel-round.missing header b{background:#ffde48}.duel-evidence{display:grid;grid-template-columns:1fr 1fr}.duel-evidence>div{padding:17px;border-right:2px solid #071827}.duel-evidence>div:last-child{border:0}.duel-evidence article{padding:17px;background:#fff;border:2px solid #071827;margin-bottom:10px}.duel-evidence h4{font:400 clamp(18px,2vw,25px)/1.08 "Archivo Black";margin:0 0 10px}.duel-evidence blockquote{margin:0 0 12px;padding:10px 12px;border-left:5px solid #6c5cff;background:#f2efff;font:500 15px/1.35 "Newsreader"}.duel-evidence a{color:#075f46;font-weight:900}.duel-more{display:block;padding:8px;font-weight:900}.duel-absence{min-height:150px;display:grid;place-content:center;padding:22px;background:#fff3c4;border:2px dashed #071827;text-align:center}.duel-absence p{margin:7px 0 0;font-size:12px}.duel-method-note{margin:18px 0 0;padding:19px;border-left:6px solid #14a69a;background:#0d2941;color:#c8d5df;font-size:12px}.duel-method-note b{color:#ffde48}
@media(max-width:1100px){.duel-roster{grid-template-columns:repeat(4,1fr)}.duel-theme-control{grid-template-columns:1fr 1fr}.duel-theme-control button{grid-column:1/-1}.duel-round header{grid-template-columns:70px 1fr}.duel-round header b{grid-column:1/-1}.duel-columns-head{grid-template-columns:1fr 70px 1fr}}
@media(max-width:650px){.duel-console{width:100%;margin-top:-15px}.duel-setup,.duel-theme-control{border-inline:0;box-shadow:none}.duel-roster{grid-template-columns:repeat(2,1fr);max-height:440px}.duel-candidate{grid-template-columns:48px 1fr}.duel-roster-face{width:48px;height:48px}.duel-theme-control{grid-template-columns:1fr}.duel-columns-head{grid-template-columns:1fr 48px 1fr}.duel-column-face{width:52px;height:52px;flex-basis:52px}.duel-columns-head>div{display:grid;justify-items:center;text-align:center;gap:6px;padding:10px}.duel-columns-head>div:last-child{display:grid}.duel-columns-head h3{font-size:13px}.duel-columns-head>span{width:44px;height:44px;font-size:15px}.duel-scoreboard{grid-template-columns:1fr}.duel-scoreboard div{border-right:0;border-bottom:2px solid #071827}.duel-evidence{grid-template-columns:1fr}.duel-evidence>div{border-right:0;border-bottom:2px solid #071827}.duel-round header{grid-template-columns:1fr}.duel-round header b{grid-column:auto}.duel-match-head{padding:22px}.duel-match-head h2{font-size:40px}}

/* Kit viral commun aux épreuves actives */
.viral-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:16px 0;padding:16px 18px;background:#fff;color:#071827;border:3px solid #071827;box-shadow:6px 6px 0 #6c5cff}.viral-toolbar>div:first-child{min-width:210px}.viral-toolbar span{display:block;font:400 17px "Archivo Black";text-transform:uppercase}.viral-toolbar small{display:block;margin-top:4px;max-width:430px;color:#5d6972;font-size:10px}.viral-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:7px}.viral-actions button{min-height:40px;padding:7px 11px;border:2px solid #071827;background:#ffde48;color:#071827;font-weight:900;cursor:pointer;box-shadow:2px 2px 0 #071827}.viral-actions button:first-child{background:#14a69a;color:#fff}.viral-actions button:last-child{background:#f92f67;color:#fff}.viral-actions button:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #071827}.battle-readout>.viral-toolbar{grid-column:1/-1;width:100%;margin:0;box-sizing:border-box}.feed-profile-head+.activity-panels+.viral-toolbar{margin-bottom:20px}.interrogation-proposals>.viral-toolbar{margin:14px 0 24px}.duel-scoreboard+.viral-toolbar{margin:14px 0 20px}
@media(max-width:760px){.viral-toolbar{display:block}.viral-actions{justify-content:flex-start;margin-top:13px}.viral-actions button{flex:1 1 calc(50% - 7px)}}

/* Feed d'actu V2 — fenêtres, tendances et cartes hebdomadaires */
.feed-control label+select{margin-bottom:9px}.feed-method-note{margin:-8px 0 20px;padding:12px 15px;background:#dff4ef;color:#071827;border-left:6px solid #14a69a;font-size:12px;line-height:1.5}.activity-panels span small.trend{display:inline-block;margin-left:5px;color:#54616a}.activity-panels span small.trend.up{color:#087755}.activity-panels span small.trend.down{color:#b31e49}.activity-panels i{width:auto;min-width:28px;padding:0 5px;border-radius:12px}.weekly-cards{margin:0 0 22px}.weekly-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:11px}.weekly-head span{color:#ffde48;text-transform:uppercase;font-size:9px;font-weight:900;letter-spacing:.12em}.weekly-head h2{margin:0;font:400 clamp(20px,3vw,32px) "Archivo Black";text-transform:uppercase}.weekly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.weekly-grid article{position:relative;min-height:185px;padding:18px;background:#f92f67;color:#fff;border:3px solid #fff;box-shadow:5px 5px 0 #ffde48}.weekly-grid article:nth-child(even){background:#14a69a}.weekly-grid .feed-mini{float:right;border-color:#fff}.weekly-grid article>span{display:block;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.weekly-grid h3{margin:22px 0 8px;font:400 20px/1 "Archivo Black";text-transform:uppercase}.weekly-grid p{margin:0 0 10px;font:650 19px/1.15 "Newsreader"}.weekly-grid small{font-weight:800}.feed-item-head{justify-content:flex-start}.feed-kind{margin-left:auto;padding:5px 8px;background:#dff4ef;border:1px solid #071827;font-size:9px;font-style:normal;font-weight:900;text-transform:uppercase}.feed-kind.programme{background:#fff0b8}.feed-source-line{display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #d7dde1;padding-top:12px;font-size:11px}.feed-source-line span{color:#66747e}.feed-source-line a{font-weight:900;color:#075f46;white-space:nowrap}

/* Estrade interactive du feed */
.candidate-podium{margin:0 0 18px;padding:20px 18px 14px;background:#102f4b;border:3px solid #fff;box-shadow:7px 7px 0 #ffde48;overflow:hidden}.podium-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:12px}.podium-head span{color:#ffde48;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.podium-head h2{margin:4px 0 2px;font:400 clamp(24px,3.2vw,39px)/1 "Archivo Black";text-transform:uppercase}.podium-head p{margin:0;color:#bed0dc;font-size:12px}.podium-reset{padding:10px 13px;border:2px solid #fff;background:#071827;color:#fff;font-weight:900;text-transform:uppercase;cursor:pointer;box-shadow:3px 3px 0 #f92f67}.podium-reset.active,.podium-reset:hover{background:#ffde48;color:#071827}.podium-carousel{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:stretch;gap:8px}.podium-track{display:flex;align-items:flex-end;gap:9px;min-height:252px;padding:8px 4px 2px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-color:#ffde48 #071827}.podium-arrow{align-self:center;width:42px;height:58px;border:2px solid #fff;background:#071827;color:#fff;font-size:22px;font-weight:900;cursor:pointer}.podium-arrow:hover{background:#f92f67}.podium-candidate{position:relative;display:flex;flex:0 0 132px;flex-direction:column;align-items:center;justify-content:flex-end;min-height:238px;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;scroll-snap-align:start}.podium-candidate:hover,.podium-candidate.active{transform:translateY(-4px)}.podium-place{position:absolute;top:2px;left:5px;z-index:2;display:grid;place-items:center;width:28px;height:28px;background:#071827;border:2px solid #fff;color:#ffde48;font:400 13px "Archivo Black"}.podium-face{position:relative;z-index:2;width:76px;height:76px;flex:0 0 76px;margin:0 0 -7px;border:3px solid #fff;background-image:var(--candidate-portrait);background-size:cover;background-position:center;filter:none}.podium-stage{display:flex;width:116px;height:var(--podium-height);min-height:46px;flex-direction:column;align-items:center;justify-content:center;padding:6px;background:linear-gradient(135deg,#f92f67,#b71d49);border:3px solid #fff;box-shadow:4px 4px 0 #071827;transition:height .35s ease}.podium-candidate:nth-child(even) .podium-stage{background:linear-gradient(135deg,#14a69a,#08746b)}.podium-candidate.active .podium-stage{background:#ffde48;color:#071827;box-shadow:5px 5px 0 #f92f67}.podium-stage b{font:400 27px/1 "Archivo Black"}.podium-stage small{font-size:8px;font-weight:900;text-transform:uppercase}.podium-candidate>strong{width:124px;margin-top:8px;overflow:hidden;color:#fff;font-size:10px;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.podium-candidate.active>strong{color:#ffde48}.podium-candidate.inactive{opacity:.7}.podium-candidate.inactive .podium-face{filter:grayscale(1) brightness(.28);border-color:#81909b}.podium-candidate.inactive .podium-stage{background:#071827;color:#81909b;border:2px dashed #81909b;box-shadow:none}.podium-candidate.inactive .podium-stage b{font-size:20px}.podium-candidate.inactive .podium-stage small{max-width:88px;line-height:1.05}.podium-candidate.inactive .podium-place{color:#81909b;border-color:#81909b}.podium-candidate.inactive>strong{color:#9ba9b3}.podium-candidate.inactive:hover,.podium-candidate.inactive.active{opacity:1}.podium-candidate.inactive.active .podium-face{filter:grayscale(1) brightness(.55);border-color:#ffde48}.podium-candidate.inactive.active .podium-stage{background:#1a2935;color:#ffde48;border-color:#ffde48}.podium-candidate.inactive.active>strong{color:#ffde48}
@media(max-width:900px){.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.feed-item-head{flex-wrap:wrap}.feed-kind{margin-left:54px}.weekly-grid{grid-template-columns:1fr}.weekly-head,.feed-source-line{align-items:flex-start;flex-direction:column}.candidate-podium{padding-inline:10px}.podium-head{align-items:flex-start;flex-direction:column}.podium-carousel{grid-template-columns:32px minmax(0,1fr) 32px}.podium-arrow{width:32px}.podium-candidate{flex-basis:112px}.podium-stage{width:100px}.podium-candidate>strong{width:106px}.podium-track{min-height:240px}}

/* Lisibilité de l'estrade et des sources vidéo */
.podium-track{min-height:222px}.podium-candidate{min-height:208px}.podium-face{width:94px;height:94px;flex-basis:94px}.podium-stage{min-height:34px}.podium-theme-count{position:relative;z-index:3;margin:-9px 0 4px;padding:3px 7px;background:#ffde48;color:#071827;border:2px solid #071827;font-size:8px;font-weight:900;text-transform:uppercase}.podium-candidate.inactive .podium-theme-count{background:#1a2935;color:#81909b;border-color:#81909b}.feed-profile-head p b{color:#ffde48;font-size:18px}.youtube-item{border-left:8px solid #f92f67}.youtube-item .feed-summary{padding:14px 16px;background:#eef8f6;color:#23343f;font-family:"DM Sans";font-size:15px}.feed-summary b{display:block;margin-bottom:5px;color:#08746b;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.feed-transcript{margin:10px 0 12px;border:1px solid #a8b5bd;background:#f7f8f8}.feed-transcript summary{padding:10px 12px;cursor:pointer;font-size:12px;font-weight:900;text-transform:uppercase}.feed-transcript p{margin:0;padding:0 12px 13px;color:#46535c;font:500 15px/1.45 "Newsreader"}.original-title{display:block;margin:8px 0 14px;color:#6a7780;font-size:11px}
@media(max-width:560px){.podium-track{min-height:218px}.podium-face{width:84px;height:84px;flex-basis:84px}}
.activity-panels .feed-theme-link{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;background:#dff4ef;color:#071827;border:1px solid #071827;font:800 11px "DM Sans";cursor:pointer}.activity-panels .feed-theme-link:hover,.activity-panels .feed-theme-link.active{background:#ffde48;box-shadow:2px 2px 0 #071827}.activity-panels .feed-theme-link>span{margin-left:2px;padding:0;background:none;border:0;font-size:14px}.activity-panels>div>b small{font-weight:600;text-transform:none}.feed-list-heading{position:relative;margin:8px 0 2px;padding:18px 20px;background:#102f4b;color:#fff;border:3px solid #fff}.feed-list-heading span{color:#ffde48;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.feed-list-heading h2{margin:4px 0;font:400 clamp(22px,3vw,34px)/1.05 "Archivo Black";text-transform:uppercase}.feed-list-heading p{margin:0;color:#bed0dc}.feed-list-heading button{position:absolute;right:18px;top:18px;padding:8px 10px;background:#ffde48;color:#071827;border:2px solid #fff;font-weight:900;text-transform:uppercase;cursor:pointer}
@media(max-width:700px){.feed-list-heading button{position:static;margin-top:12px}}
.key-message-label{display:block;margin-top:15px;color:#08746b;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.key-message-label+h3{margin-top:5px}.feed-item .original-title{padding-top:9px;border-top:1px dashed #b9c2c8;font-style:italic}

/* Épreuve 01 — QCM, univers À prendre ou à laisser */
.qcm-page{min-height:75vh;background:#061827;color:#fff;padding-bottom:80px}.qcm-intro{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,.9fr);min-height:680px;background:radial-gradient(circle at 19% 22%,#183f5d 0,transparent 38%),#061827;border-bottom:4px solid #ffde48}.qcm-intro-copy{display:flex;flex-direction:column;justify-content:center;padding:70px clamp(24px,6vw,96px)}.qcm-intro .eyebrow,.qcm-game .eyebrow,.qcm-results .eyebrow{color:#ffde48}.qcm-intro h1,.qcm-game-head h1,.qcm-results-hero h1{font:400 clamp(52px,7vw,94px)/.91 "Archivo Black";letter-spacing:-.04em;text-transform:uppercase}.qcm-intro h1 em{color:#f92f67;font-style:normal}.qcm-intro p{max-width:720px;color:#c8d5df;font-size:18px}.qcm-intro>img{width:100%;height:100%;object-fit:cover;object-position:center}.qcm-rules{display:flex;gap:12px;margin:20px 0 27px}.qcm-rules div{min-width:120px;padding:13px;background:#0d2941;border:2px solid #fff;box-shadow:4px 4px 0 #14a69a}.qcm-rules div:nth-child(2){box-shadow-color:#f92f67}.qcm-rules div:nth-child(3){box-shadow-color:#ffde48}.qcm-rules b,.qcm-rules span{display:block}.qcm-rules b{font:400 30px "Archivo Black";color:#ffde48}.qcm-rules span{font-size:10px;font-weight:900;text-transform:uppercase}.qcm-start{display:inline-flex;width:max-content;align-items:center;justify-content:center;padding:15px 19px;border:3px solid #fff;background:#ffde48;color:#071827;font-weight:900;text-decoration:none;text-transform:uppercase;box-shadow:6px 6px 0 #f92f67;cursor:pointer}.qcm-start:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 #f92f67}.qcm-intro-copy>small{margin-top:17px;color:#91a5b3}.qcm-method-card{width:min(1080px,90%);margin:38px auto 0;padding:28px 32px;background:#f7f0d9;color:#071827;border:3px solid #071827;box-shadow:9px 9px 0 #14a69a}.qcm-method-card h2{font:400 32px "Archivo Black";text-transform:uppercase}.qcm-method-card p{margin-bottom:0;font-size:17px}
.qcm-game{padding-top:0}.qcm-game-head{display:flex;align-items:end;justify-content:space-between;gap:30px;padding:54px clamp(22px,6vw,90px) 35px;background:linear-gradient(125deg,#061827,#123c5b)}.qcm-game-head h1{font-size:clamp(42px,6vw,76px)}.qcm-progress{width:min(480px,46%);padding:18px;background:#0d2941;border:3px solid #fff;box-shadow:7px 7px 0 #f92f67}.qcm-progress>div{display:flex;justify-content:space-between;font-size:12px;font-weight:900;text-transform:uppercase}.qcm-progress>div b{color:#ffde48}.qcm-progress progress{width:100%;height:18px;margin:9px 0 4px;accent-color:#14a69a}.qcm-progress small{color:#bed0dc}.qcm-theme-strip{display:grid;grid-template-columns:repeat(23,1fr);gap:4px;padding:10px clamp(12px,3vw,40px);background:#0d2941;border-block:2px solid #fff;overflow-x:auto}.qcm-theme-strip button{min-width:38px;padding:6px 3px;border:1px solid #ffffff4d;background:#071827;color:#8ea1af;cursor:pointer}.qcm-theme-strip button b,.qcm-theme-strip button span{display:block}.qcm-theme-strip button b{font:400 10px "Archivo Black"}.qcm-theme-strip button span{font-size:7px}.qcm-theme-strip button.complete{background:#08746b;color:#fff}.qcm-theme-strip button.active{background:#ffde48;color:#071827;border-color:#fff;box-shadow:2px 2px 0 #f92f67}.qcm-round{width:min(1440px,94%);margin:28px auto 0}.qcm-round-title{padding:28px;background:#f7f0d9;color:#071827;border:3px solid #071827;box-shadow:8px 8px 0 #14a69a}.qcm-round-title>span{color:#b8213b;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.qcm-round-title h2{max-width:1100px;margin:7px 0 10px;font:400 clamp(27px,4vw,48px)/1.03 "Archivo Black"}.qcm-round-title p{margin:0;color:#52616b}.qcm-boxes{display:grid;grid-template-columns:repeat(5,1fr);gap:13px;margin-top:25px}.qcm-box{position:relative;display:flex;min-height:250px;flex-direction:column;align-items:flex-start;padding:51px 16px 16px;border:3px solid #fff;background:#153b57;color:#fff;text-align:left;cursor:pointer;box-shadow:6px 6px 0 #071827}.qcm-box:nth-child(2){background:#174f64}.qcm-box:nth-child(3){background:#6c5cff}.qcm-box:nth-child(4){background:#b71d49}.qcm-box:nth-child(5){background:#f92f67}.qcm-box:hover,.qcm-box.selected{transform:translate(-3px,-5px);border-color:#ffde48;box-shadow:9px 10px 0 #ffde48}.qcm-box-number{position:absolute;left:13px;top:12px;display:grid;place-items:center;width:31px;height:31px;background:#ffde48;color:#071827;border:2px solid #071827;font:400 15px "Archivo Black"}.qcm-box>i{position:absolute;right:11px;top:14px;color:#ffffffa8;font-size:9px;font-style:normal;font-weight:900}.qcm-box>b{font-size:14px;line-height:1.35}.qcm-box>small{margin-top:auto;padding-top:17px;color:#d8e4eb;font-size:9px;font-weight:800;text-transform:uppercase}.qcm-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:25px}.qcm-actions button{min-height:46px;padding:10px 15px;border:2px solid #fff;background:#102f4b;color:#fff;font-weight:900;cursor:pointer}.qcm-actions button.primary{margin-left:auto;background:#ffde48;color:#071827}.qcm-actions button:disabled{cursor:not-allowed;opacity:.35}.qcm-actions button:not(:disabled):hover{background:#f92f67;color:#fff}
.qcm-results{padding-bottom:80px}.qcm-results-hero{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:64px clamp(22px,7vw,110px);background:radial-gradient(circle at 80% 10%,#184b67 0,transparent 33%),#061827;border-bottom:4px solid #ffde48}.qcm-results-hero h1{font-size:clamp(45px,6vw,78px)}.qcm-results-hero p{max-width:710px;color:#c8d5df;font-size:18px}.qcm-result-seal{display:grid;place-items:center;width:170px;height:170px;flex:0 0 170px;border-radius:50%;background:#ffde48;color:#071827;border:5px solid #fff;box-shadow:8px 8px 0 #f92f67;text-align:center}.qcm-result-seal b,.qcm-result-seal span{display:block}.qcm-result-seal b{font:400 58px/.8 "Archivo Black"}.qcm-result-seal span{max-width:90px;font-size:10px;font-weight:900;text-transform:uppercase}.qcm-ranking,.qcm-incomplete{width:min(1050px,92%);margin:35px auto}.qcm-ranking-head span{color:#ffde48;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.qcm-ranking-head h2,.qcm-incomplete h2{margin:6px 0;font:400 clamp(30px,4vw,47px) "Archivo Black";text-transform:uppercase}.qcm-ranking-head p{color:#b9c9d4}.qcm-podium{display:grid;gap:13px;margin-top:25px}.qcm-podium article{display:grid;grid-template-columns:55px 82px minmax(0,1fr) auto;align-items:center;gap:15px;padding:15px 18px;background:#f7f0d9;color:#071827;border:3px solid #071827;box-shadow:7px 7px 0 #14a69a}.qcm-podium article.rank-1{background:#ffde48;box-shadow-color:#f92f67}.qcm-rank{font:400 32px "Archivo Black"}.qcm-result-face{width:78px;height:78px;margin:0;border:3px solid #071827;background-image:var(--candidate-portrait);background-size:cover;background-position:center}.qcm-podium article small{color:#9f1c43;font-size:9px;font-weight:900;text-transform:uppercase}.qcm-podium h3{margin:2px 0;font:400 clamp(20px,3vw,31px) "Archivo Black";text-transform:uppercase}.qcm-podium p{margin:0;color:#59666e;font-size:12px}.qcm-podium article>strong{font:400 clamp(37px,5vw,61px) "Archivo Black";color:#08746b}.qcm-podium article>strong i{font:800 12px "DM Sans"}.qcm-podium footer{grid-column:3/-1;display:flex;justify-content:space-between;padding-top:9px;border-top:1px solid #8d979d;font-size:11px;font-weight:800}.qcm-podium footer a{color:#075f46}.qcm-result-note{margin-top:24px;padding:17px;background:#0d2941;border-left:7px solid #ffde48;color:#c8d5df}.qcm-result-note b{color:#fff}.qcm-limited{margin-top:16px;background:#102f4b;border:2px solid #fff}.qcm-limited summary{padding:14px 17px;cursor:pointer;font-weight:900}.qcm-limited>div{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#ffffff45}.qcm-limited span{display:flex;justify-content:space-between;padding:11px 14px;background:#0d2941;color:#b9c9d4;font-size:11px}.qcm-limited b{color:#fff}.qcm-incomplete{padding:35px;background:#f7f0d9;color:#071827;border:3px solid #071827;box-shadow:8px 8px 0 #f92f67}.qcm-incomplete .qcm-start{margin-top:15px}.qcm-result-actions{display:flex;justify-content:center;gap:12px;margin-top:35px}.qcm-result-actions button,.qcm-result-actions a{padding:12px 15px;border:2px solid #fff;background:#102f4b;color:#fff;font-weight:900;text-decoration:none;cursor:pointer}.qcm-result-actions button:hover,.qcm-result-actions a:hover{background:#f92f67}
@media(max-width:1050px){.qcm-intro{grid-template-columns:1fr}.qcm-intro>img{max-height:440px}.qcm-boxes{grid-template-columns:repeat(2,1fr)}.qcm-box:last-child{grid-column:1/-1;min-height:180px}.qcm-theme-strip{grid-template-columns:repeat(23,42px)}.qcm-podium article{grid-template-columns:48px 72px 1fr auto}}
@media(max-width:680px){.topbar nav a[data-route="qcm"]{display:none}.qcm-intro-copy{padding:48px 22px}.qcm-intro h1{font-size:49px}.qcm-rules{display:grid;grid-template-columns:repeat(3,1fr)}.qcm-rules div{min-width:0}.qcm-game-head,.qcm-results-hero{align-items:flex-start;flex-direction:column;padding-inline:22px}.qcm-progress{width:100%}.qcm-boxes{grid-template-columns:1fr}.qcm-box,.qcm-box:last-child{grid-column:auto;min-height:175px}.qcm-actions{align-items:stretch;flex-direction:column}.qcm-actions button.primary{margin-left:0}.qcm-result-seal{width:135px;height:135px;flex-basis:135px}.qcm-podium article{grid-template-columns:42px 64px 1fr}.qcm-result-face{width:62px;height:62px}.qcm-podium article>strong{grid-column:2/-1;text-align:right}.qcm-podium footer{grid-column:1/-1}.qcm-limited>div{grid-template-columns:1fr}.qcm-result-actions{align-items:stretch;flex-direction:column;margin-inline:20px}.qcm-result-actions>*{text-align:center}}

/* QCM — soirée des résultats */
.election-night{position:relative;min-height:calc(100vh - 116px);isolation:isolate;display:flex;flex-direction:column;overflow:hidden;background:#061827 url('assets/qcm-elysee-results-v1.png') center/cover no-repeat;border-bottom:5px solid #ffde48}.election-night-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,24,39,.22) 0,rgba(6,24,39,.05) 36%,rgba(6,24,39,.74) 68%,#061827 100%),linear-gradient(90deg,rgba(6,24,39,.48),transparent 28%,transparent 72%,rgba(6,24,39,.48))}.election-night-head{display:flex;align-items:flex-start;justify-content:space-between;gap:35px;padding:clamp(32px,5vh,65px) clamp(24px,6vw,92px) 15px;text-shadow:0 3px 16px #061827}.election-night-head h1{max-width:920px;margin:9px 0 12px;font:400 clamp(45px,6vw,88px)/.88 "Archivo Black";letter-spacing:-.045em;text-transform:uppercase}.election-night-head p{max-width:640px;margin:0;color:#e5eef3;font-size:16px;font-weight:650}.election-live{display:inline-flex;align-items:center;gap:8px;color:#ffde48;font-size:10px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.election-live i{width:9px;height:9px;border-radius:50%;background:#f92f67;box-shadow:0 0 0 5px rgba(249,47,103,.22);animation:electionPulse 1.8s infinite}.election-count{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding:13px 16px;background:rgba(6,24,39,.83);border:2px solid #fff;box-shadow:5px 5px 0 #14a69a}.election-count b{font:400 42px/.85 "Archivo Black";color:#ffde48}.election-count span{font-size:9px;font-weight:900;line-height:1.1;text-transform:uppercase}.election-clarifier{display:flex;align-items:center;align-self:center;gap:12px;width:min(920px,calc(100% - 48px));padding:8px 14px;background:rgba(247,240,217,.92);color:#071827;border:2px solid #071827;box-shadow:4px 4px 0 #f92f67;font-size:11px}.election-clarifier b{padding:4px 7px;background:#ffde48;text-transform:uppercase}.election-carousel{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:7px;margin-top:auto;padding:14px clamp(8px,2vw,25px) 0}.election-candidates{display:flex;align-items:flex-end;justify-content:center;gap:clamp(7px,1.1vw,16px);min-height:330px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ffde48 transparent}.election-arrow{position:relative;z-index:3;width:44px;height:62px;border:2px solid #fff;background:rgba(6,24,39,.84);color:#fff;font-size:22px;font-weight:900;cursor:pointer}.election-arrow:hover{background:#f92f67}.election-candidate{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:132px auto auto;flex:1 0 190px;max-width:270px;min-height:310px;overflow:hidden;background:rgba(7,24,39,.91);border:2px solid #fff;box-shadow:6px 6px 0 #14a69a;scroll-snap-align:center;animation:electionReveal .7s both;animation-delay:var(--result-delay)}.election-candidate.rank-1{min-height:330px;background:#ffde48;color:#071827;border-width:4px;box-shadow:8px 8px 0 #f92f67}.election-place{position:absolute;z-index:4;left:8px;top:8px;display:flex;align-items:center;gap:6px}.election-place small{padding:4px 6px;background:#f92f67;color:#fff;font-size:7px;font-weight:900;text-transform:uppercase}.election-place b{display:grid;place-items:center;width:29px;height:29px;background:#071827;color:#ffde48;border:2px solid #fff;font:400 12px "Archivo Black"}.election-face{grid-column:1/-1;width:100%;height:132px;margin:0;border:0;border-bottom:2px solid #fff;background-image:var(--candidate-portrait);background-size:cover;background-position:center 20%;filter:saturate(.9) contrast(1.04)}.election-score{position:absolute;right:8px;top:89px;z-index:3;display:grid;grid-template-columns:auto auto;align-items:end;padding:5px 7px;background:#f7f0d9;color:#071827;border:2px solid #071827;box-shadow:3px 3px 0 #f92f67}.election-score b{font:400 34px/.8 "Archivo Black"}.election-score>span{font:900 13px/1 "DM Sans"}.election-score small{grid-column:1/-1;font-size:6px;font-weight:900;text-align:center;text-transform:uppercase}.election-identity{grid-column:1/-1;padding:13px 11px 9px}.election-identity h2{margin:0;font:400 clamp(17px,1.75vw,25px)/.95 "Archivo Black";text-transform:uppercase}.election-identity p{margin:5px 0;color:#a9bbc7;font-size:10px}.rank-1 .election-identity p{color:#475761}.election-identity>span{display:block;margin-top:9px;padding-top:7px;border-top:1px solid currentColor;font-size:7px;font-weight:900;text-transform:uppercase;opacity:.78}.election-candidate>a{grid-column:1/-1;align-self:end;margin:0 11px 11px;padding:8px;background:#14a69a;color:#fff;border:2px solid #fff;font-size:9px;font-weight:900;text-align:center;text-decoration:none;text-transform:uppercase}.election-candidate>a:hover{background:#f92f67}.election-ticker{display:flex;align-items:center;gap:0;margin-top:14px;background:#f7f0d9;color:#071827;border-block:3px solid #071827;overflow:hidden;white-space:nowrap}.election-ticker>b{position:relative;z-index:2;padding:10px 18px;background:#f92f67;color:#fff;font-size:9px;text-transform:uppercase}.election-ticker>div{display:flex;gap:27px;padding:8px 25px;font-size:10px;font-weight:800;animation:electionTicker 24s linear infinite}.election-ticker strong{color:#08746b;font:400 14px "Archivo Black"}.election-scroll{align-self:center;margin:12px 0 15px;color:#fff;font-size:9px;font-weight:900;letter-spacing:.1em;text-decoration:none;text-transform:uppercase}.election-scroll span{display:inline-grid;place-items:center;width:24px;height:24px;margin-left:7px;border-radius:50%;background:#ffde48;color:#071827}.qcm-results .qcm-ranking{padding:25px 0 5px}.qcm-results .qcm-ranking-head{max-width:760px}
@keyframes electionReveal{from{opacity:0;transform:translateY(90px)}to{opacity:1;transform:translateY(0)}}@keyframes electionPulse{50%{box-shadow:0 0 0 9px rgba(249,47,103,0)}}@keyframes electionTicker{to{transform:translateX(-35%)}}
@media(max-width:1050px){.election-candidates{justify-content:flex-start}.election-candidate{flex-basis:225px}.election-night-head h1{font-size:clamp(42px,7vw,68px)}}
@media(max-width:680px){.election-night{min-height:760px;background-position:center top}.election-night-head{padding:28px 20px 10px}.election-night-head h1{font-size:42px}.election-night-head p{font-size:13px}.election-count{display:none}.election-clarifier{align-items:flex-start;flex-direction:column;gap:5px;width:calc(100% - 40px)}.election-carousel{grid-template-columns:32px minmax(0,1fr) 32px;padding-inline:5px}.election-arrow{width:32px}.election-candidates{min-height:315px}.election-candidate,.election-candidate.rank-1{flex-basis:205px;min-height:295px}.election-scroll{display:none}.election-ticker{margin-top:8px}}
@media(prefers-reduced-motion:reduce){.election-candidate,.election-live i,.election-ticker>div{animation:none}}

/* IsoVote — marque ombrelle et module électoral */
@media(max-width:1050px){.brand-copy small{display:none}.module-badge{display:none}.topbar{gap:18px}.topbar nav{gap:16px}}
@media(max-width:680px){.topbar{height:auto;min-height:70px;flex-wrap:wrap;padding:10px 14px}.brand{margin-right:auto}.brand-copy strong{font-size:20px}.brand-mark{width:38px;height:38px}.topbar nav{order:3;width:100%;height:42px;overflow-x:auto;gap:18px}.topbar nav a{flex:0 0 auto;font-size:10px}.topbar .ghost-button{font-size:9px;padding:8px}.pilot-banner{font-size:10px}}

/* IsoVote — présence éditoriale secondaire */
.footer-brand{text-decoration:none}.footer-brand:hover strong{text-decoration:underline}.pleb-manifesto{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(310px,.55fr);gap:clamp(30px,6vw,90px);min-height:650px;padding:clamp(70px,9vw,135px) clamp(24px,8vw,120px);background:linear-gradient(120deg,#ffde48 0 67%,#f92f67 67%);border-bottom:4px solid #071827}.pleb-manifesto-copy{max-width:880px}.pleb-manifesto h1{margin:24px 0;font:400 clamp(54px,7.5vw,104px)/.88 "Archivo Black";letter-spacing:-.055em;text-transform:uppercase}.pleb-manifesto h1 em{display:inline-block;padding:4px 15px 10px;background:#fff;font:650 italic clamp(41px,5.6vw,79px)/1 "Newsreader";text-transform:none;box-shadow:7px 7px 0 #071827;transform:rotate(-1deg)}.pleb-manifesto-copy>p{max-width:720px;font-size:clamp(17px,2vw,22px);font-weight:700}.pleb-manifesto-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}.pleb-manifesto-actions a{display:inline-block;padding:13px 17px;border:3px solid #071827;box-shadow:4px 4px 0 #071827;text-decoration:none;font-weight:900;text-transform:uppercase}.pleb-manifesto-actions .primary{background:#071827;color:#fff}.pleb-manifesto-actions .secondary{background:#fff}.pleb-oath{align-self:center;padding:28px;background:#071827;color:#fff;border:3px solid #fff;box-shadow:9px 9px 0 #14a69a;transform:rotate(1.5deg)}.pleb-oath span,.pleb-principles header>span{color:#ffde48;font-size:10px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.pleb-oath strong{display:block;margin:13px 0;font:400 34px/1 "Archivo Black";text-transform:uppercase}.pleb-oath p{color:#c6d3dc}.pleb-principles{padding:80px clamp(24px,7vw,105px);background:#071827;color:#fff}.pleb-principles header{display:grid;grid-template-columns:180px minmax(0,760px);gap:30px;align-items:start;margin-bottom:48px}.pleb-principles h2,.pleb-current-dossier h2,.pleb-continuity h2{font:400 clamp(39px,5vw,66px)/.95 "Archivo Black";text-transform:uppercase}.pleb-principle-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:#ffffff30;border:2px solid #ffffff30}.pleb-principle-grid article{min-height:260px;padding:25px;background:#102f4b}.pleb-principle-grid b{color:#ffde48;font:400 30px "Archivo Black"}.pleb-principle-grid h3{margin:45px 0 12px;font:400 24px "Archivo Black";text-transform:uppercase}.pleb-principle-grid p{color:#bed0dc}.pleb-current-dossier{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center;padding:80px clamp(24px,8vw,120px);background:#f7f0d9}.pleb-current-dossier>div p{max-width:670px}.pleb-current-dossier>a{display:grid;gap:8px;padding:34px;background:#fff;border:3px solid #071827;box-shadow:10px 10px 0 #f92f67;text-decoration:none;transform:rotate(-1deg)}.pleb-current-dossier>a small{font-weight:900;text-transform:uppercase}.pleb-current-dossier>a strong{font:400 clamp(32px,4vw,55px) "Archivo Black";text-transform:uppercase}.pleb-current-dossier>a span{color:#08746b;font-weight:900;text-transform:uppercase}.pleb-continuity{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding:85px clamp(24px,8vw,120px);background:#14a69a;color:#071827}.pleb-continuity p{max-width:650px;font-size:18px;font-weight:700}.pleb-continuity a{display:inline-block;margin-top:18px;color:#071827;font-weight:900;text-transform:uppercase}
@media(max-width:900px){.pleb-manifesto{grid-template-columns:1fr;background:linear-gradient(155deg,#ffde48 0 76%,#f92f67 76%)}.pleb-oath{max-width:540px}.pleb-principle-grid{grid-template-columns:repeat(2,1fr)}.pleb-current-dossier,.pleb-continuity{grid-template-columns:1fr}.pleb-principles header{grid-template-columns:1fr}}
@media(max-width:560px){.pleb-manifesto{min-height:0;padding:55px 20px 75px}.pleb-manifesto h1{font-size:48px}.pleb-manifesto h1 em{font-size:36px}.pleb-manifesto-actions{display:grid}.pleb-manifesto-actions a{text-align:center}.pleb-oath{padding:22px}.pleb-oath strong{font-size:27px}.pleb-principles,.pleb-current-dossier,.pleb-continuity{padding:58px 20px}.pleb-principle-grid{grid-template-columns:1fr}.pleb-principle-grid article{min-height:210px}.pleb-principle-grid h3{margin-top:25px}}

/* Résultats QCM — personnages en pied */
.election-candidates{min-height:485px}.election-candidate{grid-template-rows:300px auto auto;min-height:455px;overflow:visible;background:linear-gradient(180deg,transparent 0 59%,rgba(7,24,39,.96) 59%);border-top-color:transparent}.election-candidate.rank-1{min-height:475px;background:linear-gradient(180deg,transparent 0 59%,#ffde48 59%);border-top-color:transparent}.election-person{grid-column:1/-1;align-self:end;width:100%;height:300px;margin:0;background-position:center bottom;background-size:auto 182%;filter:drop-shadow(0 9px 5px rgba(0,0,0,.62));transform-origin:center bottom;transition:transform .25s ease}.election-candidate:hover .election-person{transform:translateY(-5px) scale(1.025)}.election-score{top:304px}.election-place{top:8px}.election-identity{position:relative;z-index:2;padding-right:70px;border-top:2px solid #fff}.election-candidate>a{position:relative;z-index:2}
@media(max-width:680px){.election-night{min-height:900px}.election-candidates{min-height:450px}.election-candidate,.election-candidate.rank-1{grid-template-rows:280px auto auto;min-height:425px}.election-person{height:280px}.election-score{top:284px}.election-place{top:8px}}

/* Phase 9 — contribution facultative et consentement explicite */
.phase9-card{width:min(1050px,92%);box-sizing:border-box;margin:38px auto;padding:28px 32px;background:#f7f0d9;color:#071827;border:3px solid #071827;box-shadow:9px 9px 0 #6c5cff}.phase9-card .eyebrow{color:#9f1c43}.phase9-card h2{margin:6px 0 10px;font:400 clamp(25px,4vw,39px) "Archivo Black";text-transform:uppercase}.phase9-card>p{max-width:880px;line-height:1.55}.phase9-explicit{display:flex;align-items:flex-start;gap:12px;margin:22px 0;padding:17px;background:#fff;border:2px solid #071827;font-weight:700;line-height:1.45}.phase9-explicit input{width:22px;height:22px;flex:0 0 22px;accent-color:#08746b}.phase9-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.phase9-card button{padding:11px 14px;border:2px solid #071827;font-weight:900;cursor:pointer}.phase9-card button.primary{background:#14a69a;color:#fff}.phase9-card button.secondary{background:#fff;color:#071827}.phase9-card button.phase9-choice{min-height:49px;background:#fff;color:#071827;box-shadow:4px 4px 0 #071827}.phase9-card button.phase9-choice:hover:not(:disabled){background:#ffde48}.phase9-card button:disabled{cursor:not-allowed;opacity:.4}.phase9-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;margin-top:22px}.phase9-form label{display:grid;gap:5px;font-size:11px;font-weight:900;text-transform:uppercase}.phase9-form label.phase9-wide{grid-column:1/-1}.phase9-form select{min-height:44px;padding:8px;border:2px solid #071827;background:#fff}.phase9-form .phase9-note{grid-column:1/-1;margin:0;padding:10px 12px;background:#dff4ef;border-left:5px solid #14a69a;font-size:12px}.phase9-form button{align-self:end;min-height:44px}@media(max-width:680px){.phase9-card{padding:22px 18px}.phase9-form{grid-template-columns:1fr}.phase9-form .phase9-note,.phase9-form label.phase9-wide{grid-column:auto}.phase9-actions{grid-template-columns:1fr}.phase9-actions button{width:100%}}
