.jv2{--jv2-navy:#15263b;--jv2-deep:#0d1b2c;--jv2-blue:#21779b;--jv2-blue-soft:#ecf6f9;--jv2-paper:#fff;--jv2-text:#24354a;--jv2-muted:#627385;--jv2-border:#dfe7ee;--jv2-bg:#f5f7fa;color:var(--jv2-text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px;line-height:1.52;max-width:1240px;margin:0 auto 2rem;overflow-wrap:anywhere;box-sizing:border-box}
.jv2 *, .jv2 *::before,.jv2 *::after{box-sizing:border-box}
.jv2 h2,.jv2 h3,.jv2 h4,.jv2 p{margin:0}
.jv2 button,.jv2 select,.jv2 input{font:inherit}
.jv2 button{cursor:pointer;border:1px solid var(--jv2-navy);background:var(--jv2-navy);border-radius:9px;color:#fff;padding:10px 15px;line-height:1.3;font-weight:600;transition:opacity .15s,border .15s}
.jv2 button:hover:not(:disabled){opacity:.86}
.jv2 button:focus-visible,.jv2 a:focus-visible,.jv2 select:focus-visible{outline:3px solid #5cafc5;outline-offset:2px}
.jv2 button:disabled{cursor:not-allowed;opacity:.42}
.jv2 select,.jv2 input[type=number]{width:100%;padding:9px 10px;border:1px solid #c9d5df;border-radius:8px;background:#fff;color:var(--jv2-text);min-height:42px}
.jv2 label{display:block;font-size:12px;font-weight:700;color:var(--jv2-text)}
.jv2-hero{background:linear-gradient(125deg,#0a2238,#1b455c);border-radius:18px 18px 0 0;color:#fff;padding:30px 30px 0}
.jv2-eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;color:#bfdae5}.jv2-eyebrow span{padding:0 .5em}
.jv2-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin:10px 0 25px}.jv2-title-row h2{font-size:clamp(24px,3vw,34px);color:#fff;font-weight:800;line-height:1.2;margin:0 0 7px}.jv2-title-row p{font-size:14px;color:#c7dce8}.jv2-beta{font-size:10px;font-weight:700;letter-spacing:.08em;color:#cde5f0;border:1px solid #57819a;background:#234b63;border-radius:99px;padding:6px 11px;white-space:nowrap}
.jv2-tabs{display:flex;flex-wrap:wrap;overflow-x:visible;gap:6px;padding-bottom:0;margin-bottom:-1px}.jv2-tabs button{border:0;border-radius:10px 10px 0 0;background:transparent;color:#d3e3ec;font-size:13px;white-space:nowrap;padding:12px 14px;font-weight:600}.jv2-tabs button[aria-selected=true]{background:var(--jv2-bg);color:var(--jv2-navy)}
.jv2-panel{background:var(--jv2-bg);padding:27px 30px 30px;min-height:320px;border:1px solid #e4eaf0;border-top:0}.jv2-panel[hidden]{display:none!important}
.jv2-section-head,.jv2-home-head{margin:0 0 21px}.jv2-section-head h3,.jv2-home-head h3{font-size:22px;font-weight:800;color:var(--jv2-navy);margin-bottom:5px}.jv2-section-head p,.jv2-home-head p{color:var(--jv2-muted);font-size:14px}
.jv2-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 20px}
.jv2-metrics article{background:#fff;border:1px solid var(--jv2-border);border-radius:12px;padding:19px;min-width:0}
.jv2-metrics article span{display:block;font-size:12px;color:var(--jv2-muted);font-weight:600}.jv2-metrics article strong{display:block;margin:9px 0;font-size:27px;line-height:1.2;color:var(--jv2-navy);font-weight:800}.jv2-metrics article small{display:block;color:var(--jv2-muted);font-size:11px}
.jv2-home-actions{display:flex;gap:11px;flex-wrap:wrap}.jv2-secondary{background:#fff!important;color:var(--jv2-navy)!important;border-color:#b8c9d5!important}
.jv2-muted{font-size:12px!important;color:var(--jv2-muted);margin:15px 0 0!important}
.jv2-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}.jv2-filters label select,.jv2-selector label select{display:block;margin:6px 0 0}
.jv2-selector{max-width:580px;margin:0 0 18px}.jv2-plan{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:0 0 18px;background:#fff;border:1px solid var(--jv2-border);border-radius:12px;padding:12px}.jv2-plan label{min-width:120px;flex:1}.jv2-plan select{margin:5px 0 0}.jv2-plan button{flex:0 0 auto}
.jv2-reader-main{background:var(--jv2-paper);border:1px solid var(--jv2-border);border-radius:13px;overflow:hidden;box-shadow:0 5px 25px rgba(19,44,68,.04)}
.jv2-score-head{display:flex;justify-content:space-between;gap:15px;padding:23px 25px 16px;border-bottom:1px solid #edf0f2}.jv2-ref{display:block;color:var(--jv2-blue);font-size:11px;font-weight:800;letter-spacing:.12em;margin-bottom:6px}.jv2-score-head h3{font-size:21px;color:var(--jv2-navy);font-weight:800;line-height:1.3;margin-bottom:7px}.jv2-score-head p{font-size:12px;color:var(--jv2-muted)}.jv2-index{background:#f1f6fa;color:#3d6680;padding:6px 11px;font-weight:700;font-size:12px;border-radius:7px;align-self:flex-start;white-space:nowrap}
.jv2-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:11px 23px;background:#f8fafc;border-bottom:1px solid #e9eff3}.jv2-toolbar button{font-size:12px;padding:8px 12px;background:#fff;color:var(--jv2-navy);border:1px solid #cdd9e4}.jv2-zoom,.jv2-metronome{display:flex;align-items:center;gap:9px}.jv2-zoom span{font-size:12px;min-width:50px;text-align:center;font-weight:700}.jv2-metronome label{display:flex;align-items:center;gap:5px;white-space:nowrap}.jv2-metronome input{width:66px;min-height:32px;padding:5px 7px}
.jv2-message{min-height:21px;color:#456f80;font-size:12px;padding:8px 24px 0!important}.jv2-message.jv2-error{color:#a93434}
.jv2-score{min-height:250px;padding:10px 24px 25px;overflow:auto;background:#fff}.jv2-score svg{max-width:none}.jv2-score-bottom{padding:9px 24px 18px;display:flex;justify-content:space-between;gap:12px;align-items:center}.jv2-score-bottom small{color:var(--jv2-muted);font-size:12px}.jv2-score-bottom a{color:#197092;text-decoration:underline;font-weight:700;font-size:12px}
.jv2-navigation{border-top:1px solid var(--jv2-border);display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 22px}.jv2-navigation button{background:#fff;color:var(--jv2-navy);border-color:#d4dee7;font-size:12px;padding:9px 12px}.jv2-navigation span{font-size:12px;font-weight:700;color:var(--jv2-muted)}
.jv2-session-actions{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;border:1px solid var(--jv2-border);border-radius:12px;background:#fff;margin:15px 0 0;padding:15px 18px}.jv2-clock{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}.jv2-clock small{font-size:11px;color:var(--jv2-muted)}.jv2-clock strong{font-size:23px;line-height:1;font-variant-numeric:tabular-nums;color:var(--jv2-navy)}.jv2-clock span{font-size:11px;color:var(--jv2-muted)}.jv2-session-buttons{display:flex;flex-wrap:wrap;gap:7px}.jv2-session-buttons button{font-size:12px;padding:9px 11px}
.jv2-notice{background:#fff;border:1px solid var(--jv2-border);border-radius:9px;padding:16px;color:var(--jv2-muted)}
.jv2-table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--jv2-border);border-radius:12px}.jv2-table{border-collapse:collapse;width:100%;font-size:13px;margin:0}.jv2-table th,.jv2-table td{text-align:left;padding:13px;border-bottom:1px solid #edf2f5}.jv2-table th{background:#f9fbfd;color:#62758a;font-weight:700}.jv2-table tr:last-child td{border-bottom:0}
.jv2-panel h4{font-size:16px;color:var(--jv2-navy);font-weight:750;margin:18px 0 10px}.jv2-rank{display:flex;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--jv2-border);border-radius:12px;padding:20px;margin-bottom:19px}.jv2-rank small{font-size:11px;letter-spacing:.1em;color:var(--jv2-muted)}.jv2-rank h4{font-size:23px;margin:5px 0}.jv2-rank p{color:#376983}.jv2-rank img{height:82px;width:82px;object-fit:contain}.jv2-badges{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jv2-badge{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--jv2-border);border-radius:12px;padding:14px}.jv2-badge img{width:68px;height:68px;object-fit:contain}.jv2-badge strong{font-size:14px;color:var(--jv2-navy)}.jv2-badge p{font-size:12px;color:var(--jv2-muted);margin:4px 0}.jv2-badge small{font-size:11px;color:var(--jv2-muted)}
.jv2-favorite-list{display:grid;gap:10px}.jv2-favorite{display:flex;gap:15px;align-items:center;justify-content:space-between;background:#fff;border:1px solid var(--jv2-border);border-radius:9px;padding:15px}.jv2-favorite small{display:block;color:var(--jv2-muted);font-size:11px;margin-top:5px}.jv2-footer{color:var(--jv2-muted);border:1px solid #e4eaf0;border-radius:0 0 12px 12px;border-top:0;background:#fff;padding:15px 30px;font-size:11px!important}
@media(max-width:850px){.jv2-hero{padding:24px 18px 0}.jv2-panel{padding:20px 15px}.jv2-filters,.jv2-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.jv2-badges{grid-template-columns:1fr}.jv2-score{padding:10px 10px 22px}.jv2-score-head{padding:18px 15px}.jv2-toolbar{padding:11px 15px}.jv2-metronome{flex-wrap:wrap}}
@media(max-width:530px){.jv2-filters,.jv2-metrics{grid-template-columns:1fr 1fr;gap:8px}.jv2-title-row{display:block}.jv2-beta{display:inline-block;margin-top:10px}.jv2-title-row h2{font-size:25px}.jv2-tabs button{font-size:12px;padding:11px}.jv2-toolbar{justify-content:flex-start}.jv2-score-head h3{font-size:17px}.jv2-plan button{width:100%}.jv2-navigation{padding:12px 10px}.jv2-navigation button{font-size:11px;padding:7px}.jv2-session-buttons button{flex:1}.jv2-table{font-size:12px}}
@media print{body *{visibility:hidden!important}.jv2.jv2-print .jv2-score,.jv2.jv2-print .jv2-score *{visibility:visible!important}.jv2.jv2-print .jv2-score{position:absolute;left:0;top:0;width:100%;overflow:visible!important;min-height:0}.jv2.jv2-print .jv2-score svg{max-width:100%!important}}
/* Jibé V2 — identité éditoriale, salle de travail immersive */
.jv2{--jv2-accent:#177c9e;--jv2-gold:#d9a85c;--jv2-bg:#f5f4f0;--jv2-border:#e5e2da;font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.jv2-theme-copper{--jv2-navy:#452d26;--jv2-deep:#30201b;--jv2-bg:#f9f2e8;--jv2-blue:#ab6f39;--jv2-gold:#eab779}
.jv2-theme-forest{--jv2-navy:#163a32;--jv2-deep:#0c2a23;--jv2-bg:#f0f5f1;--jv2-blue:#477e6e;--jv2-gold:#d5ac67}
.jv2 [hidden]{display:none!important}
.jv2-hero{position:relative;isolation:isolate;overflow:hidden;min-height:200px;background:radial-gradient(ellipse at 80% 5%,rgba(213,168,92,.22),transparent 50%),linear-gradient(125deg,var(--jv2-deep),var(--jv2-navy));padding-top:35px}
.jv2-hero::after{content:'♪ ♫';position:absolute;font-family:Georgia,serif;font-size:130px;letter-spacing:20px;line-height:1;opacity:var(--jv2-hero-decoration-opacity,.085);color:#fff;right:6%;top:8px;z-index:-1;transform:rotate(-12deg);pointer-events:none}
.jv2-hero-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22;z-index:-2}
.jv2-hero-mascot{position:absolute;right:32px;bottom:12px;max-width:min(23%,210px);max-height:185px;object-fit:contain;pointer-events:none;filter:drop-shadow(0 14px 20px rgba(0,0,0,.25));z-index:-1}
.jv2-eyebrow{color:var(--jv2-gold)}.jv2-beta{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.3)}
.jv2-title-row{padding-right:15%;margin-bottom:31px}.jv2-title-row h2{max-width:640px;letter-spacing:-.025em}.jv2-title-row p{max-width:650px}
.jv2-tabs{gap:5px}.jv2-tabs button{border:1px solid transparent;border-bottom:none;transition:background .16s,color .16s}
.jv2-tabs button:hover{background:rgba(255,255,255,.12);opacity:1}.jv2-tabs button[aria-selected=true]{border-color:rgba(255,255,255,.18);color:var(--jv2-navy)}
.jv2 button:not(.jv2-secondary){background:var(--jv2-navy);border-color:var(--jv2-navy)}
.jv2 [data-build],.jv2 [data-begin],.jv2 [data-add-exercise]{background:var(--jv2-accent)!important;border-color:var(--jv2-accent)!important;color:#fff!important}
.jv2-reader{display:grid;gap:16px}.jv2-composer{padding:22px;background:#fff;border:1px solid var(--jv2-border);border-radius:18px;box-shadow:0 8px 32px rgba(25,45,55,.05)}
.jv2-compose-switch{display:flex;gap:7px;background:#eff3f2;border-radius:14px;padding:5px;margin-bottom:20px;max-width:520px}.jv2-compose-switch button{flex:1;background:transparent!important;border:0!important;color:var(--jv2-muted)!important;padding:12px 14px;border-radius:10px}.jv2-compose-switch button[aria-pressed=true]{background:#fff!important;color:var(--jv2-navy)!important;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.jv2-compose-filters label,.jv2-custom label{font-size:12px}.jv2-compose-filters select,.jv2-custom select{margin-top:7px}.jv2-plan{background:#f8faf9;border-style:dashed;border-color:#cddad6;margin:0}
.jv2-custom{display:grid;gap:14px}.jv2-custom-select{display:flex;align-items:flex-end;gap:12px}.jv2-custom-select label{flex:1}.jv2-custom-duration{max-width:180px}
.jv2-composed-list{padding-top:21px;margin-top:24px;border-top:1px solid var(--jv2-border)}
.jv2-composed-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px}.jv2-composed-heading h4{margin:0 0 12px!important}.jv2-composed-heading>span{color:var(--jv2-muted);font-size:13px}
.jv2-composed-list ol{display:grid;gap:7px;list-style:none;margin:0 0 16px;padding:0;counter-reset:exercise}
.jv2-composed-item{counter-increment:exercise;display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #e6ebea;border-radius:10px;background:#fcfdfc;font-size:13px}
.jv2-composed-item>span{display:flex;align-items:baseline;gap:9px;flex:1;min-width:0}.jv2-composed-item>span::before{content:counter(exercise,decimal-leading-zero);font-variant-numeric:tabular-nums;color:var(--jv2-accent);font-size:11px;font-weight:800}
.jv2-composed-controls{display:flex;gap:4px}.jv2-composed-controls button{padding:4px 9px;font-size:18px;min-width:31px;border-color:#dce5e3!important;background:#fff!important;color:var(--jv2-navy)!important}
.jv2-composed-actions{display:flex;gap:9px;flex-wrap:wrap}.jv2-composed-actions button{min-width:160px}
.jv2-score-head{border-bottom:1px solid #ebede8}.jv2-score-head h3{letter-spacing:-.02em}.jv2-ref{color:var(--jv2-accent)}
.jv2-score{min-height:280px;max-height:75vh;overflow:auto}.jv2-session-actions{border-radius:14px}
.jv2-running [data-view="createur"]{display:none!important}.jv2-running .jv2-section-head{display:none}.jv2-running .jv2-reader{gap:0}
.jv2-running [data-playarea]{display:block}.jv2-running .jv2-reader-main{box-shadow:0 20px 45px rgba(0,0,0,.08)}
.jv2-running .jv2-panel[data-panel="generateur"]{padding-top:18px}
.jv2 [data-fullscreen-target]:fullscreen{background:#f8f8f6;overflow-y:auto;padding:18px;max-height:100vh;display:flex;flex-direction:column}
.jv2 [data-fullscreen-target]:fullscreen .jv2-score{max-height:none;flex:1;overflow:auto;background:#fff}
.jv2 [data-fullscreen-target]:fullscreen .jv2-score-head{background:#fff}
.jv2-modal-overlay{position:fixed;inset:0;background:rgba(6,16,24,.73);display:flex;align-items:center;justify-content:center;z-index:2147481000;padding:20px;backdrop-filter:blur(4px)}
.jv2-modal-overlay[hidden]{display:none!important}.jv2-modal{max-width:490px;width:100%;border-radius:19px;padding:28px;background:#fff;border-top:5px solid var(--jv2-accent);box-shadow:0 25px 80px rgba(0,0,0,.28)}
.jv2-modal h3{font-size:22px;color:var(--jv2-navy);margin:0 0 9px}.jv2-modal p{color:var(--jv2-text);font-size:14px;line-height:1.6;margin:0 0 18px}.jv2-modal label{display:grid;gap:7px;margin:12px 0}.jv2-modal input{font-size:15px;border:1px solid #cbd5db;border-radius:9px;padding:12px;width:100%}.jv2-modal-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}
@media(max-width:680px){.jv2-hero-mascot{max-width:30%;opacity:.5}.jv2-title-row{padding-right:2%}.jv2-composer{padding:14px}.jv2-custom-select{flex-direction:column;align-items:stretch}.jv2-custom-select label{width:100%}.jv2-composed-heading{display:block}.jv2-composed-item{align-items:flex-start}.jv2-composed-item>span{font-size:12px}.jv2-composed-controls{flex-shrink:0}}
.jv2 input[type=search]{width:100%;margin-top:8px;margin-bottom:8px;border:1px solid #c9d5df;border-radius:9px;padding:10px 12px;min-height:42px;background:#fff;color:var(--jv2-text)}
/* Assistant Jibé — identité et accès membres */
.jv2 .jv2-tabs button[aria-selected="true"],.jv2 .jv2-tabs button[aria-selected="true"]:hover,.jv2 .jv2-tabs button[aria-selected="true"]:focus{background:#fff!important;color:#112a3b!important;border-color:#fff!important;opacity:1!important;box-shadow:0 -4px 0 var(--jv2-gold) inset;font-weight:800!important}
.jv2 .jv2-tabs button:not([aria-selected="true"]){background:transparent!important;border-color:transparent!important;color:#f0f7ff!important}
.jv2 .jv2-tabs button:not([aria-selected="true"]):hover{background:rgba(255,255,255,.15)!important}
.jv2 .jv2-title-row{align-items:center;flex-wrap:wrap}.jv2 .jv2-header-help{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 8px;max-width:230px}.jv2 .jv2-header-help button{background:rgba(255,255,255,.11)!important;border:1px solid rgba(255,255,255,.55)!important;color:#fff!important;padding:9px 11px;font-size:12px;white-space:nowrap}
.jv2 .jv2-hero{min-height:210px}.jv2 .jv2-hero-mascot{max-height:220px;right:18px;bottom:39px;max-width:min(23%,190px)}
.jv2-home-welcome{display:flex;gap:20px;justify-content:space-between;align-items:center;background:#fff;border-radius:15px;padding:20px 22px;border:1px solid var(--jv2-border)}.jv2-home-welcome>div{flex:1}.jv2-home-welcome img{width:120px;height:130px;object-fit:contain}.jv2 .jv2-home-welcome h3{font-size:27px;color:var(--jv2-navy)}.jv2 .jv2-home-welcome .jv2-home-message{margin-top:10px;max-width:700px;color:var(--jv2-text)}
.jv2-guest{border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#102238,#245477);color:#fff}.jv2-guest-wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:40px}.jv2-guest-copy{max-width:670px}.jv2 .jv2-guest-copy h2{font-size:clamp(32px,5vw,53px);font-weight:800;color:#fff;margin:12px 0 4px}.jv2 .jv2-guest-copy h3{margin:30px 0 6px;font-size:24px;color:#fff}.jv2 .jv2-guest-copy p{color:#e0ecf4;font-size:16px;line-height:1.65}.jv2-guest img{width:190px;max-width:30%;object-fit:contain;filter:drop-shadow(0 14px 20px rgba(0,0,0,.35))}.jv2-guest-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:23px}.jv2-guest-actions a{background:#fff;color:#122b44;text-decoration:none;border-radius:10px;font-weight:750;padding:13px 21px}.jv2-guest-actions a.jv2-guest-register{background:#deb66f;color:#18283b}
.jv2-footer{display:flex;align-items:center;flex-wrap:wrap;gap:13px}.jv2 .jv2-footer button{padding:4px 10px;font-size:11px}
/* Modal : aide, support, confirmation */
.jv2 .jv2-modal{position:relative;max-height:min(90vh,730px);overflow-y:auto;max-width:650px;padding-right:135px;min-height:165px}.jv2 .jv2-modal-mascot{position:absolute;top:64px;right:15px;width:95px;pointer-events:none}.jv2 .jv2-modal-mascot img{width:100%;height:auto;object-fit:contain}.jv2 .jv2-modal h3{line-height:1.35}.jv2 .jv2-faq{max-height:60vh;overflow:auto}.jv2 .jv2-faq details{border-bottom:1px solid #e2e8eb;padding:12px 0}.jv2 .jv2-faq summary{font-size:14px;color:var(--jv2-navy);font-weight:800;cursor:pointer}.jv2 .jv2-faq p{font-size:13px;margin:9px 0 3px;line-height:1.6}.jv2 .jv2-support-form{display:grid;gap:13px}.jv2 .jv2-support-form label{display:grid;gap:5px;font-size:13px}.jv2 .jv2-support-form textarea,.jv2 .jv2-support-form input{width:100%;padding:12px;border:1px solid #c5d5df;border-radius:8px;background:#fff;color:#24354a;font-size:14px;line-height:1.5}
.jv2-visually-hidden{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
/* Fil communautaire */
.jv2-feed-layout{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:18px;align-items:start}.jv2-feed-stream{display:grid;gap:17px}.jv2-post-composer,.jv2-feed-item,.jv2-feed-side{border:1px solid var(--jv2-border);border-radius:16px;background:#fff;padding:19px;box-shadow:0 3px 20px rgba(12,38,53,.035)}
.jv2-post-head{display:flex;align-items:center;gap:11px;margin-bottom:15px}.jv2-post-head img.avatar{width:45px;height:45px;border-radius:50%}.jv2-post-head strong{display:inline-block;margin-right:7px;color:var(--jv2-navy);font-weight:850;font-size:14px}.jv2-post-head small{display:block;color:var(--jv2-muted);font-size:11px}.jv2-post-composer textarea,.jv2-comments textarea{width:100%;min-height:80px;resize:vertical;border:1px solid var(--jv2-border);border-radius:11px;padding:12px;line-height:1.6;background:#fbfcfd;color:var(--jv2-text)}.jv2-post-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0 6px}.jv2-post-controls input{flex:1;min-width:180px;padding:10px;border:1px solid var(--jv2-border);border-radius:9px;color:var(--jv2-text)}.jv2-post-composer small{font-size:11px;color:var(--jv2-muted)}
.jv2-official{display:inline-block;background:#e9f5f7;color:#17627c;border-radius:99px;padding:3px 8px;font-size:10px;font-weight:800}.jv2-post-content{white-space:normal;font-size:14px;line-height:1.7;color:var(--jv2-text)}.jv2-post-link{overflow-wrap:anywhere;margin:9px 0!important}.jv2-post-link a{font-size:12px;color:var(--jv2-accent)}.jv2-feed-actions{display:flex;gap:8px;margin-top:17px;padding-top:12px;border-top:1px solid var(--jv2-border)}.jv2 .jv2-feed-actions button{border:1px solid #dde8ee!important;color:#284558!important;background:#f7fafd!important;padding:8px 11px;font-size:12px}.jv2 .jv2-feed-actions button[aria-pressed="true"]{color:#a12e47!important;background:#fff0f4!important;border-color:#e8b0c0!important}
.jv2-comments{padding:15px 0 0;border-top:1px solid #eef2f5;margin-top:10px}.jv2-comment{background:#f6f9fa;border-radius:9px;padding:10px 12px;margin-bottom:8px}.jv2-comment strong{font-size:12px}.jv2-comment p{font-size:12px;margin-top:3px!important}.jv2-comments form{display:grid;gap:8px}.jv2-comments form button{justify-self:start;font-size:12px}.jv2-feed-side{position:sticky;top:25px;padding:24px}.jv2-feed-side h4{font-size:19px!important;margin-top:0}.jv2-feed-side p{font-size:13px;line-height:1.6;color:var(--jv2-muted)}.jv2-feed-side img{display:block;max-width:145px;width:85%;margin:10px auto 0}
/* Bibliothèque des commandes WooCommerce */
.jv2-library-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px;padding:21px;border:1px solid var(--jv2-border);border-radius:13px;background:#fff}.jv2-library-intro h4{margin:0 0 5px!important}.jv2-library-intro p{font-size:13px;color:var(--jv2-muted)}.jv2 .jv2-action-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:var(--jv2-accent);color:#fff!important;border-radius:8px;padding:10px 12px;font-size:12px;font-weight:800;white-space:nowrap}.jv2-library-filters{display:grid;grid-template-columns:2fr 1fr;gap:13px;margin-bottom:20px}.jv2-library-filters label{display:grid;gap:7px}.jv2-library-filters input{min-height:42px;border:1px solid #c9d5df;border-radius:8px;padding:10px}.jv2-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.jv2-library-card{display:flex;gap:13px;align-items:flex-start;padding:14px;border-radius:13px;background:#fff;border:1px solid var(--jv2-border)}.jv2-library-card img,.jv2-library-placeholder{width:90px;height:120px;flex:none;object-fit:contain;border-radius:5px;background:#f2f5f5}.jv2-library-placeholder{display:grid;place-items:center;font-size:45px}.jv2-library-card strong{display:block;margin-bottom:5px;line-height:1.3;font-size:13px;color:var(--jv2-navy)}.jv2-library-card p{font-size:11px;color:var(--jv2-muted);margin-bottom:10px}.jv2-library-card [data-hidden]{display:none}
@media(max-width:940px){.jv2-feed-layout{grid-template-columns:1fr}.jv2-feed-side{position:static;display:flex;align-items:center;gap:15px}.jv2-feed-side img{max-width:90px}.jv2 .jv2-modal{padding-right:110px}}
@media(max-width:680px){.jv2 .jv2-title-row{padding-right:0}.jv2 .jv2-header-help{max-width:none}.jv2 .jv2-hero-mascot{opacity:.24;bottom:40px;max-width:30%}.jv2-home-welcome img{width:72px;height:100px}.jv2-library-grid{grid-template-columns:1fr}.jv2-library-intro{flex-direction:column;align-items:flex-start}.jv2-library-filters{grid-template-columns:1fr}.jv2 .jv2-modal{padding:24px;max-width:560px}.jv2 .jv2-modal-mascot{display:none}.jv2-guest-wrap{padding:24px}.jv2-guest img{width:100px}}
.jv2-community-image{margin:12px 0}.jv2-community-image img{max-width:100%;max-height:350px;border-radius:10px;object-fit:contain}
/* Le changement d'onglet doit être instantané et rester lisible. */
.jv2 .jv2-tabs button{transition:none!important}

/* Assistant Jibé — parcours social, boutique et récompenses */
.jv2-official-news{margin:22px 0 0}.jv2-official-head{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:9px;margin-bottom:10px}.jv2-official-head h4{margin:0!important}.jv2-official-head span{font-size:12px;color:var(--jv2-muted)}
.jv2-official-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jv2-official-card{background:#fff;border:1px solid var(--jv2-border);border-radius:12px;padding:17px}.jv2-official-card small{font-size:11px;color:var(--jv2-muted)}.jv2-official-card h5{font-size:16px;margin:8px 0;color:var(--jv2-navy)}.jv2-official-card p{font-size:13px;line-height:1.55;color:var(--jv2-muted)}
.jv2-library-switch{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.jv2 .jv2-library-switch button{background:#fff!important;color:var(--jv2-navy)!important;border:1px solid #ccd9df!important}.jv2 .jv2-library-switch button[aria-pressed=true]{background:var(--jv2-navy)!important;color:#fff!important}
.jv2-book-content{min-width:0;flex:1}.jv2-book-price{font-size:13px;font-weight:800;margin:10px 0;color:var(--jv2-navy)}.jv2-book-price ins{text-decoration:none}.jv2-variation-label{display:grid;gap:3px;margin:8px 0;font-size:12px}.jv2-variation-label select{min-width:0;max-width:100%}.jv2-book-content button{margin-top:8px}.jv2-library-count{font-size:13px;white-space:nowrap;font-weight:700;color:var(--jv2-navy)}.jv2-book-cover{object-fit:contain}
.jv2 [data-library-panel="cart"]{background:#fff;border:1px solid var(--jv2-border);border-radius:12px;padding:18px}.jv2 [data-library-panel="cart"] a{color:var(--jv2-accent)}.jv2-checkout-panel{margin:20px 0;padding:12px;border:1px solid var(--jv2-border);border-radius:10px}.jv2-checkout-panel summary{cursor:pointer;font-weight:700}
.jv2-friend-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.jv2-friend-layout>section{background:#fff;border:1px solid var(--jv2-border);border-radius:12px;padding:18px}.jv2-friend-search{display:flex;gap:8px}.jv2-friend-item{display:flex;align-items:center;gap:9px;padding:12px 0;border-top:1px solid #e5edf0;font-size:13px}.jv2-friend-item span{flex:1}.jv2-friend-item button{padding:7px 10px;font-size:12px}.jv2-friend-item img{width:36px;height:36px;border-radius:50%}
.jv2-reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.jv2-reward{background:#fff;border:1px solid var(--jv2-border);border-radius:11px;padding:14px;display:flex;align-items:flex-start;gap:12px;min-width:0}.jv2-reward img{width:65px;height:65px;object-fit:contain;flex:none}.jv2-reward strong{display:block;color:var(--jv2-navy);font-size:15px}.jv2-reward small{display:block;color:var(--jv2-muted);font-size:11px;margin:3px 0}.jv2-reward p{font-size:12px;color:var(--jv2-text);line-height:1.5;margin-top:6px}.jv2-locked{opacity:.72;background:#f5f6f7}.jv2-locked img{filter:grayscale(1)}
.jv2-session-index{padding:10px 18px;background:#f5f7fa;border-top:1px solid var(--jv2-border)}.jv2-session-index label{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.jv2-session-index select{flex:1;min-width:220px;max-width:630px}
.jv2-complete-banner{display:flex;align-items:center;gap:15px;margin-top:18px;padding:15px;background:#fff;border:1px solid var(--jv2-border);border-radius:14px}.jv2-complete-banner img{width:75px;height:90px;object-fit:contain}.jv2-complete-banner p{font-size:13px;margin:5px 0 10px}.jv2-favorite-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:780px){.jv2-friend-layout,.jv2-reward-grid,.jv2-official-grid{grid-template-columns:1fr}.jv2-friend-search{display:block}.jv2-friend-search button{margin-top:5px}}
/* =====================================================================
   Tableau de bord / calendrier / statistiques / classement, 0.9.6
   ===================================================================== */
.jv2 .jv2-kicker{display:block;font-size:10px;font-weight:850;letter-spacing:.14em;color:var(--jv2-accent,#177c9e);margin-bottom:6px}
.jv2 .jv2-insight-card{background:#fff;border:1px solid #e0e9f0;border-radius:18px;padding:23px;box-shadow:0 6px 24px rgba(11,38,59,.035);min-width:0}
.jv2 .jv2-insight-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:19px}
.jv2 .jv2-insight-heading h4,.jv2 .jv2-chart-header h4{font-size:19px;line-height:1.28;font-weight:800;color:#11293d;margin:0 0 6px}
.jv2 .jv2-insight-heading p,.jv2 .jv2-chart-header p{font-size:12px;color:#6c7e8d;line-height:1.5}
.jv2 .jv2-home-insights{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,1fr);gap:17px;margin:21px 0 26px;align-items:stretch}
.jv2 .jv2-calendar-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-shrink:0}
.jv2 .jv2-calendar-controls strong{font-size:12px;color:#173147;min-width:97px;text-align:center}
.jv2 .jv2-calendar-controls button,.jv2 .jv2-rank-pagination button{padding:5px 11px;background:#f4f8fb;color:#183f55;border:1px solid #dae5eb;border-radius:9px;font-size:17px;min-height:33px}
.jv2 .jv2-calendar-controls button:disabled,.jv2 .jv2-rank-pagination button:disabled{opacity:.3}
.jv2 .jv2-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;max-width:550px;margin:0 auto}
.jv2 .jv2-calendar-dow{font-size:11px;font-weight:700;text-align:center;color:#748394;padding:4px}
.jv2 .jv2-cal-day{display:flex;align-items:center;justify-content:center;min-height:35px;border-radius:10px;font-size:12px;font-weight:750;background:#f2f6f9;border:1px solid transparent;color:#475e72;font-variant-numeric:tabular-nums}
.jv2 .jv2-cal-day.is-done{background:#dcf5ed;border-color:#a6dfcd;color:#136f58}
.jv2 .jv2-cal-day.is-invalid{background:#fff1d8;border-color:#f7d49a;color:#93651f}
.jv2 .jv2-cal-day.is-missed{background:#fcf0ef;border-color:#f7e5e2;color:#b47a75}
.jv2 .jv2-cal-day.is-future{background:#f7f9fb;color:#a1aab3}
.jv2 .jv2-cal-day.is-today{background:#f0f7fb;color:#2f6e8c}
.jv2 .jv2-cal-day.is-current{outline:2px solid var(--jv2-accent,#177c9e);outline-offset:1px}
.jv2 .jv2-calendar-legend{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:11px;color:#65798c;margin-top:18px}
.jv2 .jv2-calendar-legend>span{display:inline-flex;gap:6px;align-items:center}
.jv2 .jv2-cal-dot{display:inline-block;width:10px;height:10px;border-radius:3px;background:#fff;border:1px solid #ccc}
.jv2 .jv2-cal-dot.is-done{background:#b4e9d7;border-color:#67c4a5}
.jv2 .jv2-cal-dot.is-invalid{background:#ffe5b9;border-color:#f0bf75}
.jv2 .jv2-cal-dot.is-missed{background:#f9e3e1;border-color:#edc4bd}
.jv2 .jv2-calendar-note{font-size:11px!important;color:#84929f;margin-top:12px!important}
.jv2 .jv2-my-position{display:flex;align-items:center;gap:8px;padding:16px 20px;background:linear-gradient(120deg,#0d344b,#205f77);color:#fff;border-radius:13px;margin-bottom:17px}
.jv2 .jv2-my-position span{font-size:13px;flex:1;color:#daedf3;font-weight:600}
.jv2 .jv2-my-position strong{font-size:29px;line-height:1;color:#fff;font-weight:850}
.jv2 .jv2-my-position small{font-size:11px;color:#cce9ed;align-self:flex-end}
.jv2 .jv2-top-players{display:grid;gap:6px;margin-bottom:17px}
.jv2 .jv2-top-title{font-size:12px;color:#6a8191;margin-bottom:6px}
.jv2 .jv2-top-player{display:flex;align-items:center;gap:10px;padding:8px 3px;border-bottom:1px solid #f0f3f5}
.jv2 .jv2-top-player span{width:27px;height:27px;background:#ecf4f8;color:#215c76;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800}
.jv2 .jv2-top-player strong{flex:1;font-size:13px;color:#24394d;overflow-wrap:anywhere}
.jv2 .jv2-top-player small{font-variant-numeric:tabular-nums;font-size:12px;color:#668397}
.jv2 .jv2-full-width{width:100%}
.jv2 .jv2-stats-top{display:flex;align-items:center;justify-content:space-between;gap:17px;margin:9px 0 20px}
.jv2 .jv2-stats-top h4{font-size:21px;color:#183348;font-weight:800;margin-bottom:4px}
.jv2 .jv2-stats-top p{font-size:13px;color:#667c8d}
.jv2 .jv2-stats-filter{font-size:12px;min-width:225px;font-weight:650;color:#405d71}
.jv2 .jv2-stats-filter select{display:block;margin-top:6px;background:#fff;border-color:#bbd1df}
.jv2 .jv2-stats-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:0 0 18px}
.jv2 .jv2-stat-kpi{min-width:0;padding:19px 17px;border-radius:15px;border:1px solid #dfe9ee;background:#fff}
.jv2 .jv2-stat-kpi:nth-child(1){border-top:4px solid #1d7c9d}.jv2 .jv2-stat-kpi:nth-child(2){border-top:4px solid #24a08c}.jv2 .jv2-stat-kpi:nth-child(3){border-top:4px solid #d29d47}.jv2 .jv2-stat-kpi:nth-child(4){border-top:4px solid #7985bd}
.jv2 .jv2-stat-kpi>span{font-size:12px;display:block;color:#617d91;font-weight:600}
.jv2 .jv2-stat-kpi strong{display:block;font-size:31px;line-height:1.35;font-weight:850;color:#1a3448;font-variant-numeric:tabular-nums;margin:8px 0}
.jv2 .jv2-stat-kpi em{font-size:13px;font-style:normal;margin-left:5px;color:#7e94a3}
.jv2 .jv2-stat-kpi small{font-size:11px;color:#8898a5}
.jv2 .jv2-chart-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;margin:0 0 19px}
.jv2 .jv2-chart-header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:16px}
.jv2 .jv2-chart-tag{font-size:11px;font-weight:750;background:#ecf4f9;color:#307396;border-radius:40px;padding:6px 10px;white-space:nowrap}
.jv2 .jv2-week-chart{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:7px;min-width:0;align-items:end}
.jv2 .jv2-week-bar{min-width:0;text-align:center;color:#8796a4;font-variant-numeric:tabular-nums}
.jv2 .jv2-week-number{height:18px;display:block;font-size:10px;color:#52718a;font-weight:700}
.jv2 .jv2-week-track{display:flex;height:137px;background:linear-gradient(180deg,#fff,#f6fafd);align-items:flex-end;overflow:hidden;border-radius:7px 7px 4px 4px}
.jv2 .jv2-week-track>span{width:100%;background:linear-gradient(180deg,#35a6bc,#196886);border-radius:5px 5px 3px 3px;min-height:0;transition:height .3s ease}
.jv2 .jv2-week-bar small{font-size:9px;white-space:nowrap;display:block;margin-top:8px;overflow:hidden;text-overflow:clip}
.jv2 .jv2-weekday-chart{display:grid;gap:12px;padding:3px 0}
.jv2 .jv2-weekday-row{display:flex;align-items:center;gap:10px;font-size:12px;color:#6e8393}
.jv2 .jv2-weekday-row>span{width:29px;font-weight:700}
.jv2 .jv2-weekday-track{height:12px;border-radius:8px;background:#edf4f7;overflow:hidden;flex:1}
.jv2 .jv2-weekday-track i{display:block;height:100%;background:linear-gradient(90deg,#8bd4c6,#248a9d);border-radius:8px}
.jv2 .jv2-weekday-row strong{width:21px;text-align:right;color:#3e5c70;font-variant-numeric:tabular-nums}
.jv2 .jv2-history-card{margin-top:7px}
.jv2 .jv2-state{display:inline-block;padding:4px 10px;border-radius:99px;font-size:11px;font-weight:750}
.jv2 .jv2-state.is-valid{background:#ddf6ed;color:#157659}
.jv2 .jv2-state.is-invalid{background:#fff0db;color:#9a6c25}
.jv2 .jv2-rank-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin:0 0 18px}
.jv2 .jv2-rank-highlight{background:linear-gradient(135deg,#12314a,#255b70);padding:18px 20px;border-radius:14px;min-width:0;display:flex;flex-direction:column;gap:3px}
.jv2 .jv2-rank-highlight:nth-child(2){background:linear-gradient(135deg,#234a65,#407c8e)}
.jv2 .jv2-rank-highlight:nth-child(3){background:linear-gradient(135deg,#1e4655,#3d7789)}
.jv2 .jv2-rank-highlight span{font-size:12px;color:#cde9ef;font-weight:600}
.jv2 .jv2-rank-highlight strong{font-size:31px;font-weight:850;line-height:1.25;color:#fff;margin:5px 0;font-variant-numeric:tabular-nums}
.jv2 .jv2-rank-highlight small{font-size:11px;color:#bddde5;overflow-wrap:anywhere}
.jv2 .jv2-leaderboard{background:#fff;border:1px solid #e1e9ef;border-radius:17px;padding:12px;box-shadow:0 8px 24px rgba(11,38,59,.04)}
.jv2 .jv2-leaderboard[aria-busy=true]{opacity:.6}
.jv2 .jv2-rank-list{display:grid;gap:6px}
.jv2 .jv2-rank-row{display:flex;align-items:center;gap:14px;padding:10px 14px;min-height:78px;background:#fafcfe;border:1px solid #eff3f5;border-radius:12px}
.jv2 .jv2-rank-row.is-me{background:#e8f5f9;border-color:#90cadb}
.jv2 .jv2-rank-row.is-podium{background:#fcfaf5;border-color:#f1e7d4}
.jv2 .jv2-rank-row.is-podium.is-me{background:#e8f5f9;border-color:#90cadb}
.jv2 .jv2-rank-place{width:39px;height:39px;flex:0 0 39px;display:grid;place-items:center;background:#e9f2f7;color:#285d79;border-radius:13px;font-size:18px;font-weight:850;font-variant-numeric:tabular-nums}
.jv2 .jv2-rank-place.is-medal{background:linear-gradient(140deg,#f3d697,#cda45b);color:#4a381a}
.jv2 .jv2-rank-row:nth-child(2) .jv2-rank-place.is-medal{background:linear-gradient(140deg,#e7ecf2,#afbcca);color:#46596b}
.jv2 .jv2-rank-row:nth-child(3) .jv2-rank-place.is-medal{background:linear-gradient(140deg,#f2ccae,#ce9972);color:#6d422b}
.jv2 .jv2-rank-avatar{display:block;width:45px;height:45px;flex:0 0 45px;object-fit:cover;border-radius:50%;background:#e6edf2;border:2px solid #fff}
.jv2 .jv2-rank-person{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.jv2 .jv2-rank-person>strong{color:#153047;font-size:14px;line-height:1.25;overflow-wrap:anywhere}
.jv2 .jv2-rank-person small{font-size:11px;color:#738694}
.jv2 .jv2-you-label{display:inline-block;width:max-content;background:#c5e9f3;border-radius:99px;color:#195f7e;padding:2px 8px;font-size:10px;font-weight:800}
.jv2 .jv2-rank-points{text-align:right;min-width:80px}
.jv2 .jv2-rank-points strong{font-size:19px;color:#14394f;display:block;font-weight:850;font-variant-numeric:tabular-nums}
.jv2 .jv2-rank-points small{font-size:11px;color:#80919d}
.jv2 .jv2-rank-pagination{display:flex;align-items:center;gap:7px;justify-content:center;padding:16px 6px 5px;flex-wrap:wrap}
.jv2 .jv2-rank-pagination button[aria-current=page]{background:#175c7b;color:#fff;border-color:#175c7b}
.jv2 .jv2-rank-pagination>span{font-size:12px;color:#6e8190;margin-left:10px}
@media(max-width:980px){.jv2 .jv2-home-insights,.jv2 .jv2-chart-grid{grid-template-columns:1fr}}
@media(max-width:680px){.jv2 .jv2-insight-card{padding:16px}.jv2 .jv2-insight-heading{display:block}.jv2 .jv2-calendar-controls{justify-content:center;margin-top:15px}.jv2 .jv2-stats-top{display:block}.jv2 .jv2-stats-filter{margin-top:14px;width:100%}.jv2 .jv2-stats-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.jv2 .jv2-rank-intro{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.jv2 .jv2-rank-highlight{padding:12px 9px}.jv2 .jv2-rank-highlight strong{font-size:22px}.jv2 .jv2-rank-highlight span,.jv2 .jv2-rank-highlight small{font-size:10px}.jv2 .jv2-rank-row{padding:10px 8px;gap:8px}.jv2 .jv2-rank-place{width:31px;height:31px;flex-basis:31px;font-size:14px}.jv2 .jv2-rank-avatar{width:36px;height:36px;flex-basis:36px}.jv2 .jv2-rank-points{min-width:55px}.jv2 .jv2-rank-points strong{font-size:15px}.jv2 .jv2-rank-person>strong{font-size:12px}.jv2 .jv2-rank-person small{font-size:10px}.jv2 .jv2-week-chart{gap:3px}.jv2 .jv2-week-bar small{font-size:8px}.jv2 .jv2-week-track{height:115px}.jv2 .jv2-cal-day{min-height:32px}}
@media(max-width:380px){.jv2 .jv2-stats-kpis{grid-template-columns:1fr 1fr}.jv2 .jv2-calendar-grid{gap:3px}.jv2 .jv2-rank-intro{grid-template-columns:1fr}}
.jv2 .jv2-stats-rewards{display:flex;gap:18px;flex-wrap:wrap;margin:0 0 16px;color:#536f83;font-size:12px}
.jv2 .jv2-stats-rewards strong{color:#173e58;font-weight:800}

.jv2-model-picker{padding:13px 16px;background:var(--jv2-pale,#f2f8fa);border:1px solid rgba(28,110,141,.16);border-radius:12px;margin-bottom:15px}.jv2-model-picker label{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:650}.jv2-model-picker select{min-width:200px;max-width:100%;flex:1}.jv2-model-picker p{font-size:.88rem;margin:8px 0 0}.jv2-plan select:disabled{opacity:.6;cursor:not-allowed}

/* Jibé — création par types et partage communautaire, 0.9.9 */
.jv2 [hidden]{display:none!important}
.jv2 .jv2-custom-modes{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--jv2-border);padding-bottom:13px}
.jv2 .jv2-custom-modes button{background:#f3f6f9;color:#264158;border:1px solid #d5e0e7;font-size:13px;padding:10px 15px}
.jv2 .jv2-custom-modes button[aria-pressed="true"]{background:var(--jv2-navy);color:#fff;border-color:var(--jv2-navy)}
.jv2 .jv2-criteria-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:15px 0}
.jv2 .jv2-criteria-filters label{font-size:12px;font-weight:700}
.jv2 .jv2-criteria-filters select,.jv2 .jv2-criteria-filters input{margin-top:6px;width:100%;min-height:41px;border:1px solid #ccd9e1;padding:8px;border-radius:8px;background:#fff}
.jv2 .jv2-criteria-methods{border:1px solid #d9e5e9;border-radius:12px;padding:13px;margin:12px 0 15px;background:#fff}
.jv2 .jv2-criteria-methods legend{font-size:13px;font-weight:800;padding:0 6px}
.jv2 .jv2-criteria-methods p{font-size:12px;color:var(--jv2-muted);margin:0 0 9px}
.jv2 .jv2-criteria-method-list{display:flex;flex-wrap:wrap;gap:7px}
.jv2 .jv2-criteria-method-list label{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e0e7eb;border-radius:8px;background:#f8fafb;font-weight:600;font-size:12px}
.jv2 .jv2-criteria-method-list input{width:auto;accent-color:var(--jv2-accent)}
.jv2 .jv2-criteria-builder{margin-top:19px;padding:17px;border-radius:13px;border:1px solid #dce6ea;background:#fff}
.jv2 .jv2-criteria-builder-title{display:grid;gap:5px;margin-bottom:14px}
.jv2 .jv2-criteria-builder-title strong{color:var(--jv2-navy);font-size:16px}
.jv2 .jv2-criteria-builder-title small{color:var(--jv2-muted);font-size:12px}
.jv2 .jv2-criteria-slots{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}
.jv2 .jv2-criteria-slot{display:grid;grid-template-columns:minmax(120px,180px) minmax(140px,1fr) auto;align-items:center;gap:9px;border:1px solid #e2e8ed;border-radius:9px;padding:9px;background:#f9fbfc}
.jv2 .jv2-criteria-slot label{font-size:12px}
.jv2 .jv2-criteria-slot select{min-height:36px}
.jv2 .jv2-criteria-slot .jv2-composed-controls{white-space:nowrap}
.jv2 .jv2-share-editor{display:grid;gap:10px}
.jv2 .jv2-share-editor textarea{min-height:116px;resize:vertical;width:100%;border:1px solid #cbd5db;border-radius:9px;background:#fff;padding:12px;color:var(--jv2-navy);font-size:14px;line-height:1.5}
.jv2 .jv2-share-option{display:flex!important;align-items:center;gap:10px;font-size:13px;line-height:1.4}
.jv2 .jv2-share-option input{width:18px;height:18px;flex:none;accent-color:var(--jv2-accent)}
.jv2 .jv2-session-share-card{border-radius:15px;margin:14px 0;background:linear-gradient(130deg,#102c43,#1b5771);padding:18px;color:#fff;box-shadow:0 9px 20px rgba(14,48,64,.1)}
.jv2 .jv2-share-card-kicker{font-size:10px;font-weight:800;letter-spacing:.14em;color:#a5cedc}
.jv2 .jv2-share-card-values{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:13px 0}
.jv2 .jv2-share-card-values div{display:grid;gap:2px;min-width:0}
.jv2 .jv2-share-card-values strong{color:#fff;font-size:28px;line-height:1.2;overflow-wrap:anywhere}
.jv2 .jv2-share-card-values small{color:#d6e8ef;font-size:11px}
.jv2 .jv2-share-card-footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:7px;color:#b5d7df;font-size:10px;border-top:1px solid #ffffff30;padding-top:9px}
.jv2 .jv2-owner-controls{margin-left:auto;display:flex;flex-wrap:wrap;gap:5px}
.jv2 .jv2-owner-controls button{padding:6px 9px;font-size:11px}
.jv2 .jv2-pending-label{color:#ab6922!important;font-weight:700}
@media(max-width:800px){.jv2 .jv2-criteria-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.jv2 .jv2-criteria-slot{grid-template-columns:1fr auto}.jv2 .jv2-criteria-slot label{grid-column:1/-1}.jv2 .jv2-criteria-filters{grid-template-columns:1fr}.jv2 .jv2-share-card-values strong{font-size:23px}.jv2 .jv2-owner-controls{width:100%;margin-left:0}}

.jv2 .jv2-feed-switch{display:flex;gap:8px;flex-wrap:wrap}.jv2 .jv2-feed-switch button{background:#fff;color:var(--jv2-navy);border:1px solid #d3e0e6;font-size:12px;padding:8px 12px}.jv2 .jv2-feed-switch button[aria-pressed="true"]{background:var(--jv2-navy);color:#fff;border-color:var(--jv2-navy)}

/* Lecture PDF intégrée - téléchargement discret dans les tuiles achetées. */
.jv2 .jv2-library-card{position:relative;padding-right:45px}
.jv2 .jv2-book-corner-download{position:absolute;top:9px;right:9px;display:grid;place-items:center;width:29px;height:29px;border:1px solid #d6e3eb;border-radius:9px;background:#f7fafd!important;color:#335b70!important;text-decoration:none!important;font-size:19px;font-weight:700;box-shadow:0 2px 8px rgba(12,50,75,.05)}
.jv2 .jv2-book-corner-download:hover,.jv2 .jv2-book-corner-download:focus-visible{background:#e1f0f8!important;color:#0a6989!important;outline:2px solid #88b6d0;outline-offset:1px}
.jv2 .jv2-book-read{display:inline-flex;align-items:center;justify-content:center;background:var(--jv2-accent)!important;color:#fff!important;border:0!important;border-radius:9px;min-width:106px;padding:10px 18px;font-weight:700;cursor:pointer}
.jv2 .jv2-book-owned{display:block;margin-top:7px;font-size:11px;color:#407453}
.jv2 .jv2-pdf-overlay[hidden]{display:none!important}
.jv2 .jv2-pdf-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;padding:14px;background:rgba(9,23,36,.79);box-sizing:border-box}
.jv2 .jv2-pdf-dialog{background:#f1f5f8;color:#183147;width:min(1220px,98vw);height:min(94vh,1000px);border-radius:15px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 25px 70px rgba(0,0,0,.4)}
.jv2 .jv2-pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 16px;background:#fff;border-bottom:1px solid #dbe5eb}
.jv2 .jv2-pdf-heading{min-width:0;display:flex;flex-direction:column;gap:3px}
.jv2 .jv2-pdf-heading strong{font-size:14px;color:#203e50;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.jv2 .jv2-pdf-heading small{font-size:11px;color:#60788a}
.jv2 .jv2-pdf-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.jv2 .jv2-pdf-controls button{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:32px;padding:4px 7px;border:1px solid #dce5eb!important;border-radius:8px;background:#f8fbfd!important;color:#24475e!important;font-size:18px;cursor:pointer}
.jv2 .jv2-pdf-controls button:disabled{opacity:.45;cursor:default}
.jv2 .jv2-pdf-controls button[data-pdf-fit]{font-size:12px;font-weight:700;padding:4px 11px}
.jv2 .jv2-pdf-controls .jv2-pdf-close{margin-left:5px;border-color:#ccdae4!important;font-size:24px;background:#e9eff4!important}
.jv2 .jv2-pdf-controls [data-pdf-pages]{min-width:54px;text-align:center;font-size:12px;font-weight:750}
.jv2 .jv2-pdf-divider{width:1px;height:20px;background:#d7e1e6;margin:0 3px}
.jv2 .jv2-pdf-stage{flex:1;overflow:auto;text-align:center;padding:16px 0;position:relative;background:#d9e2e8}
.jv2 .jv2-pdf-stage canvas{display:block;margin:0 auto;max-width:none!important;background:#fff;box-shadow:0 5px 22px rgba(26,46,64,.22)}
.jv2 .jv2-pdf-stage [data-pdf-error]:not([hidden]){padding:22px;max-width:590px;margin:24px auto;background:#fff;border-radius:12px;color:#8a3f2d;font-size:14px}
@media(max-width:620px){.jv2 .jv2-pdf-dialog{width:100%;height:100%;border-radius:0}.jv2 .jv2-pdf-overlay{padding:0}.jv2 .jv2-pdf-toolbar{align-items:flex-start;flex-direction:column;padding:10px}.jv2 .jv2-pdf-controls{width:100%;justify-content:center}.jv2 .jv2-book-corner-download{right:6px;top:6px}}

/* Assistant Jibé 1.1.3 — choix visuel des exercices */
.jv2 .jv2-exercise-preview{border:1px solid #d9e3e9;border-radius:15px;background:#fff;overflow:hidden;margin:16px 0 23px}
.jv2 .jv2-exercise-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 16px;background:#f3f7f9;border-bottom:1px solid #dbe5ea}
.jv2 .jv2-exercise-preview-heading>div{display:grid;gap:3px;min-width:0}
.jv2 .jv2-exercise-preview-heading strong{font-size:14px;color:var(--jv2-navy);font-weight:800}
.jv2 .jv2-exercise-preview-heading small{font-size:12px;color:var(--jv2-muted);overflow-wrap:anywhere}
.jv2 .jv2-exercise-preview-heading button{font-size:12px;flex-shrink:0;padding:8px 12px}
.jv2 .jv2-preview-score{padding:12px 14px;max-height:260px;min-height:116px;overflow:auto;background:#fff}
.jv2 .jv2-exercise-preview.is-expanded .jv2-preview-score{max-height:min(72vh,870px)}
.jv2 .jv2-preview-score svg{display:block;max-width:none;min-width:0}
.jv2 .jv2-preview-error{padding:13px 16px;font-size:12px;color:#9d3939;background:#fff5f4;border-top:1px solid #f0c8c4}
.jv2 .jv2-preview-placeholder{color:var(--jv2-muted);font-size:12px;padding:16px 0}
.jv2 .jv2-catalog-browser{border-top:1px solid #dde6ea;padding-top:22px;margin-top:22px}
.jv2 .jv2-catalog-heading{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:14px}
.jv2 .jv2-catalog-heading h4{font-size:18px;color:var(--jv2-navy);margin:0 0 4px!important}
.jv2 .jv2-catalog-heading p{font-size:13px;color:var(--jv2-muted);margin:0}
.jv2 .jv2-catalog-heading>span{font-size:12px;white-space:nowrap;border-radius:100px;padding:6px 11px;background:#e8f2f5;color:#28536b;font-weight:750}
.jv2 .jv2-catalog-filters{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:11px;margin-bottom:17px}
.jv2 .jv2-catalog-filters label{display:grid;gap:5px;min-width:0;font-size:12px;font-weight:700}
.jv2 .jv2-catalog-filters input,.jv2 .jv2-catalog-filters select{width:100%;min-width:0;min-height:42px;padding:8px 11px;border:1px solid #cbd9e2;border-radius:8px;background:#fff;color:var(--jv2-text);font-size:13px}
.jv2 .jv2-catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.jv2 .jv2-catalog-tile{display:flex;flex-direction:column;min-width:0;border:1px solid #dae5eb;background:#fff;border-radius:13px;overflow:hidden;box-shadow:0 4px 14px rgba(15,38,55,.035)}
.jv2 .jv2-catalog-tile-head{padding:13px 14px 9px;display:grid;gap:3px;min-height:62px}
.jv2 .jv2-catalog-tile-head strong{font-size:13px;font-weight:800;color:var(--jv2-navy);line-height:1.35;overflow-wrap:anywhere}
.jv2 .jv2-catalog-tile-head small{color:var(--jv2-muted);font-size:11px;letter-spacing:.02em}
.jv2 .jv2-catalog-tile-score{height:151px;overflow:hidden;border-top:1px solid #eff2f4;border-bottom:1px solid #eff2f4;background:#fff;padding:12px 9px;color:var(--jv2-muted);font-size:12px}
.jv2 .jv2-catalog-tile-score svg{max-width:none;display:block}
.jv2 .jv2-catalog-tile-meta{padding:10px 14px 7px;font-size:11px;color:var(--jv2-muted);line-height:1.5;min-height:39px;overflow-wrap:anywhere}
.jv2 .jv2-catalog-tile-actions{display:flex;gap:8px;margin-top:auto;padding:10px 14px 14px}
.jv2 .jv2-catalog-tile-actions button{flex:1;min-width:0;padding:10px 8px;font-size:12px;line-height:1.3}
.jv2 .jv2-catalog-tile-actions button:not(.jv2-secondary){background:var(--jv2-accent)!important;border-color:var(--jv2-accent)!important;color:#fff!important}
.jv2 .jv2-catalog-empty{font-size:13px;color:var(--jv2-muted);padding:20px;text-align:center;background:#fff;border:1px dashed #ccdbe4;border-radius:12px}
.jv2 .jv2-catalog-pagination{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:18px;flex-wrap:wrap}
.jv2 .jv2-catalog-pagination button{font-size:12px;padding:9px 13px}
.jv2 .jv2-catalog-pagination span{font-size:12px;color:var(--jv2-muted);font-weight:750}
@media(max-width:900px){.jv2 .jv2-catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.jv2 .jv2-catalog-grid{grid-template-columns:1fr}.jv2 .jv2-catalog-tile-score{height:165px}.jv2 .jv2-exercise-preview-heading{align-items:start;flex-direction:column}.jv2 .jv2-exercise-preview-heading button{align-self:start}.jv2 .jv2-catalog-heading{flex-wrap:wrap}}
@media(max-width:420px){.jv2 .jv2-catalog-filters{grid-template-columns:1fr}.jv2 .jv2-catalog-tile-actions{flex-direction:column}}


/* Alignement et lisibilité des filtres du catalogue, Jibé 1.1.3. */
.jv2 .jv2-catalog-filters{align-items:end}
.jv2 .jv2-catalog-filters>label{display:flex;flex-direction:column;justify-content:flex-end;gap:7px;height:100%;min-width:0}
.jv2 .jv2-catalog-filters input,.jv2 .jv2-catalog-filters select{box-sizing:border-box;width:100%;min-width:0;height:44px;min-height:44px;max-width:none;margin:0}
.jv2 .jv2-custom-select{align-items:end}
.jv2 .jv2-custom-select label{min-width:0}
.jv2 .jv2-custom-select select,.jv2 .jv2-custom-select input{box-sizing:border-box;max-width:100%}
/* Thèmes gérés dans le back-office : couleurs contrastées, isolation dans l'assistant. */
.jv2.jv2-theme-managed .jv2-hero,.jv2.jv2-theme-managed .jv2-title-row h2{color:var(--jv2-on-primary,#fff)}
.jv2.jv2-theme-managed .jv2-title-row p,.jv2.jv2-theme-managed .jv2-eyebrow,.jv2.jv2-theme-managed .jv2-tabs button:not([aria-selected="true"]){color:var(--jv2-on-primary,#fff)!important}
.jv2.jv2-theme-managed .jv2-home-actions button:not(.jv2-secondary),.jv2.jv2-theme-managed .jv2-session-buttons button:not(.jv2-secondary),.jv2.jv2-theme-managed .jv2-modal-actions button:not(.jv2-secondary){color:var(--jv2-on-primary,#fff)}
.jv2.jv2-theme-managed [data-build],.jv2.jv2-theme-managed [data-begin],.jv2.jv2-theme-managed [data-add-exercise],.jv2.jv2-theme-managed .jv2-book-read,.jv2.jv2-theme-managed .jv2-catalog-tile-actions button:not(.jv2-secondary){color:var(--jv2-on-secondary,#fff)!important}

/* Assistant Jibé 1.2.1 — personalization of ranking cards per theme. */
.jv2.jv2-theme-managed .jv2-my-position{
  background:linear-gradient(120deg,var(--jv2-card-home,#0d344b),var(--jv2-card-home-end,#205f77));
  color:var(--jv2-card-home-ink,#fff);
}
.jv2.jv2-theme-managed .jv2-my-position span,
.jv2.jv2-theme-managed .jv2-my-position strong,
.jv2.jv2-theme-managed .jv2-my-position small{color:inherit}
.jv2.jv2-theme-managed .jv2-my-position span,
.jv2.jv2-theme-managed .jv2-my-position small{opacity:.86}
.jv2.jv2-theme-managed .jv2-rank-highlight:nth-child(1){background:linear-gradient(135deg,var(--jv2-card-position,#12314a),var(--jv2-card-position-end,#255b70));color:var(--jv2-card-position-ink,#fff)}
.jv2.jv2-theme-managed .jv2-rank-highlight:nth-child(2){background:linear-gradient(135deg,var(--jv2-card-members,#234a65),var(--jv2-card-members-end,#407c8e));color:var(--jv2-card-members-ink,#fff)}
.jv2.jv2-theme-managed .jv2-rank-highlight:nth-child(3){background:linear-gradient(135deg,var(--jv2-card-score,#1e4655),var(--jv2-card-score-end,#3d7789));color:var(--jv2-card-score-ink,#fff)}
.jv2.jv2-theme-managed .jv2-rank-highlight span,
.jv2.jv2-theme-managed .jv2-rank-highlight strong,
.jv2.jv2-theme-managed .jv2-rank-highlight small{color:inherit}
.jv2.jv2-theme-managed .jv2-rank-highlight span,
.jv2.jv2-theme-managed .jv2-rank-highlight small{opacity:.83}

/* Member theme settings: a simple, responsive native form. */
.jv2 .jv2-settings-card{max-width:780px;border:1px solid var(--jv2-border);border-radius:18px;background:#fff;padding:24px;display:grid;gap:18px;box-shadow:0 8px 26px rgba(15,43,60,.045)}
.jv2 .jv2-settings-heading h4{font-size:20px;line-height:1.3;color:var(--jv2-navy);margin:0 0 7px}
.jv2 .jv2-settings-heading p{color:var(--jv2-muted);font-size:13px;line-height:1.6}
.jv2 .jv2-theme-picker-label{font-size:13px;font-weight:750;color:var(--jv2-text);display:grid;gap:8px}
.jv2 .jv2-theme-picker-label select{width:100%;max-width:500px;min-height:46px}
.jv2 .jv2-member-theme-preview{display:flex;align-items:center;gap:12px;background:#f5f8fa;border:1px solid #e0e9ee;border-radius:12px;padding:15px;flex-wrap:wrap}
.jv2 .jv2-theme-swatch{display:block;width:62px;height:40px;flex:0 0 62px;border:2px solid #fff;box-shadow:0 0 0 1px #c6d3dd;border-radius:9px}
.jv2 .jv2-member-theme-preview span{font-size:13px;font-weight:750;color:#274257;margin-left:4px}
.jv2 [data-save-theme]{width:fit-content;min-width:210px;color:var(--jv2-on-primary,#fff)}
.jv2 .jv2-settings-feedback{font-size:13px;color:#27674b;min-height:1.4em}

/* Flexible page choice and a visible jump to the member's ranking row. */
.jv2 .jv2-rank-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 13px;flex-wrap:wrap}
.jv2 .jv2-rank-actions span{font-size:12px;color:var(--jv2-muted)}
.jv2 .jv2-rank-page-picker{display:flex;align-items:center;gap:7px;font-size:12px;color:#435b6f;font-weight:650;margin-left:12px}
.jv2 .jv2-rank-pagination .jv2-rank-page-picker input{box-sizing:border-box;width:72px;min-width:72px;max-width:72px;min-height:35px;padding:4px 5px;text-align:center;background:#fff;border:1px solid #cbdbe7;border-radius:8px;font-size:14px;color:#253f53}
.jv2 .jv2-rank-pagination [data-rank-goto]{font-size:12px;padding:8px 12px;min-height:35px}
.jv2 .jv2-home-rank-actions{display:flex;gap:9px;flex-wrap:wrap}
.jv2 .jv2-home-rank-actions button{flex:1;min-width:160px;min-height:43px}
.jv2 .jv2-rank-row.is-me.is-highlighted{background:#def5fc;border:2px solid var(--jv2-accent,#177c9e);outline:3px solid color-mix(in srgb,var(--jv2-accent,#177c9e) 22%,transparent);outline-offset:2px;box-shadow:0 4px 18px rgba(21,79,113,.16);scroll-margin-top:120px}
.jv2 .jv2-rank-row:focus{outline:3px solid var(--jv2-accent,#177c9e);outline-offset:2px}
@media(max-width:650px){.jv2 .jv2-settings-card{padding:17px}.jv2 .jv2-rank-page-picker{margin-left:0}.jv2 .jv2-rank-pagination{gap:5px}.jv2 .jv2-rank-page-picker{flex:1 1 130px;justify-content:flex-end}.jv2 .jv2-home-rank-actions button{min-width:100%}}
@media(prefers-reduced-motion:reduce){.jv2 .jv2-rank-row{scroll-behavior:auto}}

/* 1.2.2 — navigation publique sans défilement horizontal. */
.jv2 .jv2-tabs{flex-wrap:wrap;overflow-x:visible;scrollbar-width:none}
.jv2 .jv2-tabs button{flex:0 0 auto}
/* Décoration propre à chaque thème, derrière le titre et les commandes. */
.jv2 .jv2-hero.has-banner-decoration::after{content:none}
.jv2 .jv2-hero-decoration{position:absolute;right:7%;top:0;width:clamp(100px,15vw,210px);height:180px;object-fit:contain;object-position:center;opacity:var(--jv2-hero-decoration-opacity,.12);pointer-events:none;user-select:none;z-index:-1}
@media(max-width:680px){.jv2 .jv2-hero-decoration{width:125px;height:130px;right:1%;top:20px}}

/* 1.2.3 — Images mises en avant dans les dernières actualités. */
.jv2 .jv2-official-thumbnail {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -17px -17px 14px;
  min-height: 135px;
  max-height: 240px;
  overflow: hidden;
  background: #f3f6f8;
  border-radius: 11px 11px 0 0;
}
.jv2 .jv2-official-thumbnail .jv2-official-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 240px;
  object-fit: contain;
}
.jv2 .jv2-community-image img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 350px;
}
@media(max-width: 780px) {
  .jv2 .jv2-official-thumbnail { max-height: 225px; }
  .jv2 .jv2-official-thumbnail .jv2-official-image { max-height: 225px; }
}
