:root{--bg:#05080c;--panel:#0d1218;--panel2:#111820;--line:#27313c;--text:#f7f9fb;--muted:#8e9aa7;--green:#19c37d;--green2:#0a8f61;--blue:#1d9bf0;--yellow:#ffd60a;--red:#ff3b45;--orange:#ff7a18;--shadow:0 22px 55px #0008;--r:26px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;background:radial-gradient(circle at 85% 8%,#08213a 0,transparent 27%),radial-gradient(circle at 10% 28%,#162006 0,transparent 25%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}.bj-shell{width:min(820px,100%);margin:auto;padding:14px 14px 44px}.bj-top{height:84px;display:grid;grid-template-columns:54px 1fr 54px;align-items:center;gap:10px}.bj-logo{text-decoration:none;color:white;text-align:center;font-size:clamp(27px,7vw,44px);font-weight:950;letter-spacing:-2px;line-height:.8}.bj-logo em{font-style:normal;color:var(--green)}.bj-logo small{display:block;font-size:9px;letter-spacing:4px;color:#9aa7b4;margin-top:11px}.bj-icon-btn,.bj-sound-btn{width:50px;height:50px;border:1px solid #26313d;background:#0c1218;color:white;border-radius:18px;display:grid;place-items:center;text-decoration:none;font-size:24px;box-shadow:inset 0 1px #ffffff10}.bj-sound-btn{cursor:pointer}.bj-sound-btn.off{opacity:.5}.bj-game-head{display:flex;align-items:end;justify-content:space-between;padding:14px 4px 12px}.bj-game-head h1{margin:3px 0 0;font-size:30px;letter-spacing:-1px}.bj-kicker{color:var(--green);font-weight:900;font-size:12px;letter-spacing:2px}.bj-score-pill{min-width:96px;border:1px solid #254138;background:linear-gradient(145deg,#0e241c,#0b1514);padding:10px 16px;border-radius:18px;text-align:center}.bj-score-pill small{font-size:9px;color:#91a69f;letter-spacing:2px}.bj-score-pill b{display:block;font-size:26px;color:#75f2bd}.bj-game-card,.bj-card{background:linear-gradient(160deg,#111820,#090d12);border:1px solid #202a35;border-radius:var(--r);box-shadow:var(--shadow);padding:18px;position:relative;overflow:hidden}.bj-game-card:before,.bj-card.accent:before{content:"";position:absolute;inset:0 0 auto;height:4px;background:linear-gradient(90deg,var(--green),var(--blue))}.bj-progress{display:flex;justify-content:space-between;color:#9ca8b5;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px}.bj-progress b{color:white}.bj-grid{display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:7px;width:min(100%,560px);margin:auto}.bj-cell{aspect-ratio:1;border-radius:12px;background:linear-gradient(145deg,#171e26,#0c1117);border:1px solid #303a46;display:grid;place-items:center;font-weight:950;font-size:clamp(21px,6vw,37px);box-shadow:inset 0 1px #ffffff10,0 5px 10px #0005;transition:.15s}.bj-cell.typing{border-color:#3daef5;box-shadow:0 0 0 2px #1d9bf044,0 0 18px #1d9bf033}.bj-cell.correct{background:linear-gradient(145deg,#23c979,#0b8e57);border-color:#45e89a}.bj-cell.present{background:linear-gradient(145deg,#f3b719,#b87800);border-color:#ffd452}.bj-cell.absent{background:#303740;color:#a8b0ba}.bj-grid.shake{animation:shake .32s}.bj-hint{margin:17px auto 0;width:min(100%,560px);padding:14px 16px;border-radius:18px;border:1px solid #6d5b10;background:linear-gradient(135deg,#2a250b,#171508)}.bj-hint span{color:#ffd84a;font-weight:950;font-size:11px;letter-spacing:2px}.bj-hint p{margin:6px 0 0;color:#f7f1cc}.bj-double-row{display:flex;gap:12px;align-items:center;width:min(100%,600px);margin:17px auto 12px}.bj-double{border:1px solid #6e5a00;background:linear-gradient(145deg,#272008,#151204);color:white;border-radius:18px;min-width:150px;padding:8px 13px;display:grid;grid-template-columns:32px 1fr;grid-template-rows:22px 16px;text-align:left;cursor:pointer}.bj-double span{grid-row:1/3;font-size:27px}.bj-double b{font-size:20px;color:#ffe43b}.bj-double small{font-size:8px;letter-spacing:1px;color:#b9a94b}.bj-double.active{background:linear-gradient(145deg,#5e4c00,#2b2300);box-shadow:0 0 0 2px #ffd60a,0 0 22px #ffd60a44}.bj-double.is-used{opacity:.38}.bj-double-help{font-size:11px;color:#82909d;line-height:1.35}.bj-keyboard{width:min(100%,650px);margin:10px auto 0;user-select:none}.bj-key-row{display:flex;justify-content:center;gap:5px;margin:5px 0}.bj-key{height:54px;flex:1;min-width:0;max-width:58px;border:1px solid #394552;border-bottom-color:#1a2027;border-radius:10px;background:linear-gradient(#303943,#1d242c);color:white;font-size:16px;font-weight:900;box-shadow:0 3px 0 #0b0e11;cursor:pointer;padding:0}.bj-key.wide{max-width:76px;font-size:11px}.bj-key.correct{background:linear-gradient(#22bd77,#0d8b58)}.bj-key.present{background:linear-gradient(#dca815,#a87500)}.bj-key.absent{background:#151a20;color:#5d6873}.bj-key:active{transform:translateY(2px);box-shadow:0 1px #000}.bj-toast{padding:10px 14px;border-radius:12px;margin:0 auto 12px;width:min(100%,560px);font-weight:700}.bj-toast.error{background:#381317;border:1px solid #7d2930;color:#ffb7bd}.bj-final{text-align:center;padding:20px}.bj-final-icon{font-size:55px}.bj-final h2{font-size:32px;margin:5px}.bj-final strong{color:#7cf0bd;font-size:25px}.bj-final-score{font-size:35px;font-weight:950;margin:20px}.bj-final-score small{font-size:10px;letter-spacing:2px;color:#8f9ba7}.bj-primary{display:inline-flex;align-items:center;justify-content:center;min-height:54px;padding:0 24px;border:0;border-radius:17px;background:linear-gradient(135deg,#20cf83,#0a9a62);box-shadow:0 10px 25px #0b9a6144;color:#fff;font-weight:950;text-decoration:none;letter-spacing:.5px}.bj-values{margin-top:15px;padding:16px 4px}.bj-values h2{font-size:16px;margin:0 0 10px}.bj-values p{font-size:11px;color:#778491}.bj-value-strip{display:flex;gap:5px;overflow:auto;padding-bottom:5px}.bj-value-strip span{min-width:35px;height:43px;border-radius:9px;background:#131a21;border:1px solid #29343f;display:grid;place-items:center;grid-template-rows:25px 12px}.bj-value-strip b{font-size:15px}.bj-value-strip small{font-size:9px;color:#9ba8b4}.bj-value-strip .v8,.bj-value-strip .v6{border-color:#735d0a;background:#2b2408}.bj-value-strip .v4{border-color:#194d6e;background:#0c2230}
/* home */.bj-home-hero{padding:12px 4px 18px}.bj-home-hero h1{font-size:34px;margin:8px 0 3px;letter-spacing:-1.3px}.bj-home-hero p{margin:0;color:var(--muted)}.bj-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 16px}.bj-mode{min-height:118px;padding:18px;border-radius:24px;text-decoration:none;color:white;border:1px solid #24303b;display:flex;flex-direction:column;justify-content:end;position:relative;overflow:hidden}.bj-mode i{font-style:normal;font-size:30px;position:absolute;top:15px;right:16px}.bj-mode b{font-size:18px}.bj-mode small{color:#a6b0ba}.bj-mode.daily{background:linear-gradient(145deg,#082a42,#0a1119);border-color:#147db7;box-shadow:inset 0 0 0 1px #1d9bf044}.bj-mode.live{background:linear-gradient(145deg,#461a19,#161011);border-color:#9a3439}.bj-calendar-head{display:flex;justify-content:space-between;align-items:start}.bj-calendar-head h2{font-size:29px;margin:4px 0}.bj-date-badge{width:70px;border-radius:18px;overflow:hidden;background:#f5f5f3;color:#111;text-align:center;box-shadow:0 8px 20px #0005}.bj-date-badge b{display:block;background:#ff3742;color:#fff;padding:6px;font-size:11px}.bj-date-badge strong{font-size:29px;display:block;padding:5px}.bj-legend{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.bj-legend span{border:1px solid #2a343f;border-radius:99px;padding:8px 10px;font-size:11px;font-weight:800;color:#b7c0c8}.bj-dot{width:10px;height:10px;border-radius:50%;display:inline-block;margin-right:6px}.bj-dot.won{background:var(--green)}.bj-dot.lost{background:var(--red)}.bj-dot.idle{border:1px solid #71808e}.bj-month-nav{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;margin:10px 0}.bj-month-nav h3{text-align:center;font-size:22px;margin:0}.bj-nav{height:48px;border-radius:15px;border:1px solid #1b4764;background:#0a1d2a;color:white;display:grid;place-items:center;text-decoration:none}.bj-nav.disabled{opacity:.25;pointer-events:none}.bj-week,.bj-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:7px}.bj-week{padding:10px 0;color:#697581;font-size:11px;text-align:center}.bj-day{aspect-ratio:1;border-radius:14px;background:#10161c;border:1px solid #27313b;color:white;display:grid;place-items:center;text-decoration:none;font-weight:900}.bj-day.won{background:linear-gradient(145deg,#20c779,#0c995e);border-color:#3fe59a}.bj-day.lost{background:linear-gradient(145deg,#d8323d,#8e1c25)}.bj-day.today{outline:3px solid #1d9bf0;outline-offset:2px}.bj-day.future{opacity:.16;pointer-events:none}.bj-home-play{display:flex;margin-top:18px}.bj-home-play .bj-primary{width:100%}
/* admin */.bj-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.bj-admin-launch{min-height:145px;padding:18px;border-radius:22px;background:#10171e;border:1px solid #27323d;color:white;text-decoration:none;display:flex;flex-direction:column}.bj-admin-launch span{font-size:30px}.bj-admin-launch b{margin-top:auto;font-size:17px}.bj-admin-launch small{color:#83909c;margin-top:4px}.bj-admin-launch.games{border-color:#8d363d;background:linear-gradient(145deg,#301415,#101317)}.bj-admin-launch.words{border-color:#126b4a;background:linear-gradient(145deg,#0a281e,#101617)}.bj-admin-launch.sounds{border-color:#826d14;background:linear-gradient(145deg,#29230b,#111416)}.bj-admin-launch.settings{border-color:#1d6f9c;background:linear-gradient(145deg,#0c2535,#101417)}.bj-admin-head{display:flex;align-items:center;justify-content:space-between;margin:15px 0}.bj-admin-head h1{margin:0}.bj-form{display:grid;gap:12px}.bj-form input,.bj-form textarea,.bj-form select{width:100%;border:1px solid #303b47;background:#090d12;color:white;border-radius:14px;padding:14px;font:inherit}.bj-form label{font-weight:800;font-size:12px;color:#b4bec8}.bj-table{width:100%;border-collapse:collapse;font-size:12px}.bj-table th,.bj-table td{padding:10px 7px;border-bottom:1px solid #222c35;text-align:left}.bj-table th{color:#76838f}.bj-badge{display:inline-block;border-radius:99px;padding:4px 8px;background:#1a222a}.bj-audio-card{padding:16px;border:1px solid #2b3540;border-radius:18px;background:#0d1319;margin:10px 0}.bj-audio-card h3{margin:0 0 5px}.bj-audio-card p{font-size:12px;color:#83909c}.bj-danger{background:#5e1720;color:white;border:0;border-radius:12px;padding:10px}.bj-ok{background:#0b3b29;border:1px solid #17744f;color:#a8f3d0;padding:10px;border-radius:12px}.bj-login{max-width:460px;margin:15vh auto}.bj-login h1{text-align:center}
/* live */.bj-live-hero{text-align:center;padding:20px}.bj-live-hero .bolt{font-size:58px}.bj-code{font-size:36px;letter-spacing:8px;color:#ffd936;font-weight:950}.bj-players{display:grid;gap:8px}.bj-player{display:grid;grid-template-columns:46px 1fr auto;align-items:center;gap:10px;padding:10px;border-radius:16px;background:#121920;border:1px solid #28333e}.bj-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#193347;border:2px solid #298bc3;font-weight:950}.bj-online{color:#31d58b;font-size:10px}.bj-reactions{display:flex;justify-content:center;gap:12px;margin:15px}.bj-reactions button{font-size:29px;background:#111820;border:1px solid #2d3944;border-radius:15px;padding:8px}.bj-humiliation{border:1px solid #8c292f;background:#321316;border-radius:18px;padding:13px;color:#ffb6bb}.bj-humiliation b{color:#ff4650}.bj-muted{color:#82909d;font-size:12px}@keyframes shake{25%{transform:translateX(-7px)}50%{transform:translateX(7px)}75%{transform:translateX(-4px)}}@media(max-width:520px){.bj-shell{padding:8px 9px 34px}.bj-top{height:75px}.bj-game-card,.bj-card{padding:14px;border-radius:22px}.bj-cell{border-radius:9px}.bj-key{height:51px;border-radius:8px}.bj-key-row{gap:3px}.bj-double-help{display:none}.bj-admin-grid{grid-template-columns:1fr 1fr}.bj-admin-launch{min-height:128px;padding:14px}.bj-mode{min-height:108px;padding:14px}.bj-calendar-head h2{font-size:25px}}

.bj-dict-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0}.bj-dict-stats>div{background:#0c141b;border:1px solid #22313d;border-radius:18px;padding:18px}.bj-dict-stats b{display:block;font-size:28px}.bj-dict-stats small{color:#8c9aa6}.bj-dict-tabs{display:flex;gap:8px;overflow:auto;margin:14px 0 18px}.bj-dict-tabs a{white-space:nowrap;padding:11px 14px;border-radius:14px;background:#111b23;border:1px solid #273743;color:#dfe8ee;text-decoration:none;font-weight:800}.bj-dict-tabs a.active{background:#123b2b;border-color:#23c77b;color:#fff}.bj-help{color:#9cabb6;line-height:1.5}.bj-search{display:flex;gap:8px;margin:14px 0}.bj-search input{flex:1;min-width:0}.bj-table-wrap{overflow:auto;border:1px solid #22313d;border-radius:16px}.bj-table th a{color:#dfe8ee;text-decoration:none}.bj-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;color:#93a2ad}.bj-pagination a{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#17232c;color:#fff;text-decoration:none;margin-left:6px;font-size:22px}@media(max-width:600px){.bj-search{flex-direction:column}.bj-dict-stats b{font-size:23px}}

/* v1.3.1 — recherche dictionnaires + indices */
.bj-search-modern{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin:22px 0 8px;align-items:stretch}.bj-search-field{position:relative;min-width:0}.bj-search-field input{width:100%;height:60px;border-radius:18px!important;border:1px solid #314653!important;background:linear-gradient(180deg,#111d25,#0c151c)!important;padding:0 54px!important;font-size:18px!important;font-weight:750;color:#fff;box-shadow:0 12px 30px rgba(0,0,0,.2);outline:none}.bj-search-field input:focus{border-color:#31d987!important;box-shadow:0 0 0 4px rgba(49,217,135,.12)}.bj-search-icon{position:absolute;left:19px;top:50%;transform:translateY(-50%);font-size:28px;color:#48e397;z-index:2}.bj-search-clear{position:absolute;right:16px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#25343e;color:#fff;text-decoration:none;font-size:22px}.bj-search-submit{min-width:150px;border:0;border-radius:18px;padding:0 22px;background:linear-gradient(135deg,#26d47d,#16a866);color:#06130d;font-size:16px;font-weight:950;box-shadow:0 10px 24px rgba(30,205,119,.2)}.bj-search-meta{margin:0 2px 18px;color:#91a4b0;font-size:13px}.bj-hint-inline{display:flex;gap:7px;min-width:300px}.bj-hint-inline input{min-width:250px;width:100%;padding:10px 12px;border-radius:11px;border:1px solid #2c414e;background:#0b151c;color:#eaf5f0}.bj-hint-inline input:focus{outline:none;border-color:#31d987;box-shadow:0 0 0 3px rgba(49,217,135,.1)}.bj-hint-inline button{width:38px;border:0;border-radius:11px;background:#22ca76;color:#07150e;font-weight:1000;font-size:18px}@media(max-width:600px){.bj-search-modern{grid-template-columns:1fr}.bj-search-submit{height:52px}.bj-search-field input{height:58px;font-size:16px}.bj-hint-inline{min-width:260px}.bj-hint-inline input{min-width:210px}}


/* v1.3.2 — recherche dictionnaire mobile pleine largeur */
.bj-search-modern{display:block!important;width:100%!important;margin:26px 0 12px!important}
.bj-search-field{width:100%!important}
.bj-search-field input{display:block!important;width:100%!important;height:76px!important;border-radius:22px!important;padding:0 62px!important;font-size:21px!important;font-weight:800!important;letter-spacing:.1px!important;background:linear-gradient(180deg,#14232d,#0b151c)!important;border:1px solid #365463!important;box-shadow:0 14px 38px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.035)!important}
.bj-search-field input::placeholder{color:#8297a4!important;font-weight:700!important;opacity:1}
.bj-search-field input:focus{border-color:#35e492!important;box-shadow:0 0 0 4px rgba(53,228,146,.14),0 16px 42px rgba(0,0,0,.34)!important}
.bj-search-icon{left:22px!important;font-size:30px!important}
.bj-search-clear{right:19px!important;width:38px!important;height:38px!important;font-size:25px!important;background:#263b47!important}
.bj-search-submit{width:100%!important;height:58px!important;margin-top:10px!important;border-radius:18px!important;font-size:18px!important;letter-spacing:.2px!important}
.bj-search-meta{font-size:14px!important;margin:8px 3px 20px!important}
@media(max-width:600px){.bj-card:has(.bj-search-modern){padding-left:12px!important;padding-right:12px!important}.bj-search-modern{width:calc(100% + 0px)!important}.bj-search-field input{height:78px!important;font-size:20px!important;border-radius:20px!important}.bj-search-submit{height:60px!important;font-size:18px!important}.bj-table-wrap{margin-top:14px}}
/* v1.3.4 — indices synonymiques */

/* v1.3.7 — remise à zéro différée */
.bj-reset-card{margin-top:18px;border-color:#71313a}.bj-reset-card h2{margin:8px 0}.bj-reset-card p{color:#b6c2ca;line-height:1.55}.bj-reset-button{width:100%;min-height:54px;border:1px solid #f27982;border-radius:16px;background:#671e29;color:#fff;font:inherit;font-weight:850;cursor:pointer}.bj-reset-button:hover{background:#832631}

/* v1.3.8 — accès direct aux archives */
.bj-month-jump{display:flex;gap:9px;align-items:center;margin:10px 0 3px}.bj-month-jump label{font-size:12px;color:#a9bac6;font-weight:800}.bj-month-jump input{min-width:0;flex:1;color:#fff;color-scheme:dark;background:#111d25;border:1px solid #37515d;border-radius:11px;padding:10px}.bj-month-jump button{border:0;border-radius:11px;padding:12px;background:#198c5b;color:white;font-weight:850;cursor:pointer}@media(max-width:520px){.bj-month-jump{flex-wrap:wrap}.bj-month-jump label{width:100%}}

/* v1.3.9 — libellé du sélecteur réservé aux lecteurs d’écran */
.bj-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* v1.3.12 — cercles jaunes, carrés rouges et halo de saisie */
.bj-game-shell .bj-cell{position:relative;background:#151619;border-color:#36383e;color:#a0a1a6;box-shadow:inset 0 1px #ffffff08}
.bj-game-shell .bj-cell.typing{border:2px solid #ffd326;background:#1d1b12;color:#fff2ba;box-shadow:0 0 0 3px #ffcf3b55,0 0 19px 5px #ffbb1870,inset 0 0 18px #ffcf2529;transform:scale(1.035)}
.bj-game-shell .bj-cell.typing:after{content:none}
.bj-game-shell .bj-cell.just-typed{animation:bjTyped .22s ease-out}
.bj-game-shell .bj-cell.present{background:#151619;border-color:#3d3d40;color:#ffd12a;text-shadow:0 0 10px #ffcf3266}
.bj-game-shell .bj-cell.present:before{content:"";position:absolute;inset:12%;border:clamp(3px,.5vw,6px) solid #ffcf22;border-radius:50%;box-shadow:0 0 12px #ffb90055;pointer-events:none}
.bj-game-shell .bj-cell.correct{background:linear-gradient(145deg,#ff0924,#cf001e);border-color:#ff4056;color:#fff;box-shadow:0 8px 22px #ef001b38,inset 0 1px #ffffff45}
.bj-game-shell .bj-cell.correct:after{content:"✓";position:absolute;right:6px;bottom:3px;color:#ffd3d6;font-size:clamp(9px,1.5vw,14px);line-height:1}
.bj-game-shell .bj-cell.absent{background:#151619;border-color:#36383e;color:#999ba0}
.bj-game-shell .bj-key.present{position:relative;background:#1a1a1d;border-color:#5c501d;color:#ffd12a}
.bj-game-shell .bj-key.present:before{content:"";position:absolute;inset:6px;border:3px solid #ffcf22;border-radius:50%;pointer-events:none}
.bj-game-shell .bj-key.correct{background:linear-gradient(145deg,#ff0924,#cf001e);border-color:#ff4056;color:#fff}
.bj-game-shell .bj-cell.reveal{animation:bjReveal .38s ease both}
.bj-hint[hidden]{display:none}
@keyframes bjTyped{0%{box-shadow:0 0 0 6px #ffda4b99,0 0 25px #ffc400aa;transform:scale(1.11)}100%{transform:scale(1)}}
@keyframes bjReveal{0%{transform:rotateX(0);filter:brightness(1.4)}50%{transform:rotateX(86deg)}100%{transform:rotateX(0);filter:brightness(1)}}
@media(prefers-reduced-motion:reduce){.bj-game-shell .bj-cell.just-typed,.bj-game-shell .bj-cell.reveal{animation:none}}

/* v1.3.13 — clavier de jeu et première lettre donnée */
:is(.bj-game-shell,.bj-battle-shell) .bj-keyboard{width:min(100%,720px);margin:16px auto 0}
:is(.bj-game-shell,.bj-battle-shell) .bj-key-row{gap:clamp(3px,.8vw,8px);margin:7px 0}
:is(.bj-game-shell,.bj-battle-shell) .bj-key{position:relative;flex:1 1 0;max-width:none;min-width:0;height:clamp(53px,9vw,82px);border-radius:14px;border:1px solid #626a78;background:linear-gradient(145deg,#454b58,#2c303a);box-shadow:inset 0 1px #ffffff35,0 4px 0 #14171d;color:#f5f5f7;font-size:clamp(18px,2.7vw,27px);font-weight:650;text-shadow:0 2px 6px #0009}
:is(.bj-game-shell,.bj-battle-shell) .bj-key.wide{max-width:none}
:is(.bj-game-shell,.bj-battle-shell) .bj-key.placeholder-key{background:#2e2e32;border-color:#5a5a60;color:#f5f5f7;font-size:25px}
:is(.bj-game-shell,.bj-battle-shell) .bj-key.erase{flex:1.35;background:linear-gradient(145deg,#424852,#292d35);color:#ffe585;font-size:28px}
:is(.bj-game-shell,.bj-battle-shell) .bj-key.submit{flex:1.6;background:linear-gradient(145deg,#ff0e2d,#d6001e);border-color:#ff5267;color:#fff;font-size:34px;font-weight:950;box-shadow:inset 0 1px #ffffff50,0 4px 0 #720917}
:is(.bj-game-shell,.bj-battle-shell) .bj-key:active{transform:translateY(3px);box-shadow:inset 0 1px #ffffff20,0 1px 0 #14171d}
.bj-game-shell .bj-cell.given,.bj-battle-shell .bj-cell.given{background:linear-gradient(145deg,#ff0924,#cf001e);border-color:#ff4056;color:#fff;box-shadow:0 8px 22px #ef001b38,inset 0 1px #ffffff45}
.bj-game-shell .bj-cell.given:after,.bj-battle-shell .bj-cell.given:after{content:"✓";position:absolute;right:6px;bottom:3px;color:#ffd3d6;font-size:clamp(9px,1.5vw,14px);line-height:1}
.bj-game-shell .bj-cell.placeholder,.bj-game-shell .bj-cell.absent.wildcard,.bj-battle-shell .bj-cell.absent.wildcard{background:#151619;border-color:#444247;color:#c5b471}
.bj-battle-shell .bj-cell{position:relative;background:#151619;border-color:#36383e;color:#a0a1a6}
.bj-battle-shell .bj-cell.present{background:#151619;border-color:#3d3d40;color:#ffd12a}
.bj-battle-shell .bj-cell.present:before{content:"";position:absolute;inset:12%;border:clamp(3px,.5vw,6px) solid #ffcf22;border-radius:50%;pointer-events:none}
.bj-battle-shell .bj-cell.correct{background:linear-gradient(145deg,#ff0924,#cf001e);border-color:#ff4056;color:#fff}
.bj-battle-shell .bj-cell.correct:after{content:"✓";position:absolute;right:6px;bottom:3px;color:#ffd3d6;font-size:clamp(9px,1.5vw,14px);line-height:1}
.bj-battle-shell .bj-cell.absent{background:#151619;border-color:#36383e;color:#999ba0}
@media(max-width:520px){:is(.bj-game-shell,.bj-battle-shell) .bj-key{height:54px;border-radius:10px;font-size:17px}:is(.bj-game-shell,.bj-battle-shell) .bj-key.erase{font-size:23px}:is(.bj-game-shell,.bj-battle-shell) .bj-key.submit{font-size:28px}}

/* v1.3.14 — contour jaune sur les touches et joker centré */
.bj-game-shell .bj-key.present{background:linear-gradient(145deg,#454b58,#2c303a);border:3px solid #ffcf22;color:#ffe65a;box-shadow:inset 0 1px #ffffff35,0 0 12px #ffcf2255,0 4px 0 #14171d}
.bj-game-shell .bj-key.present:before{content:none}
.bj-game-shell .bj-double-row{flex-direction:column;justify-content:center;text-align:center;margin:18px auto 14px;gap:7px}
.bj-game-shell .bj-double{width:min(100%,300px);min-height:80px;grid-template-columns:48px 1fr;grid-template-rows:auto auto;align-items:center;column-gap:9px;padding:11px 18px;border:2px solid #e0b61a;background:linear-gradient(145deg,#604b04,#342903);box-shadow:inset 0 1px #ffe97750,0 0 16px #ffc40025;cursor:pointer}
.bj-game-shell .bj-double span{font-size:40px;line-height:1}
.bj-game-shell .bj-double b{font-size:clamp(22px,5vw,29px);letter-spacing:.2px;white-space:nowrap;color:#ffe238;line-height:1.15}
.bj-game-shell .bj-double small{font-size:10px;letter-spacing:1.3px;color:#f8d563}
.bj-game-shell .bj-double.active{background:linear-gradient(145deg,#aa8000,#554100);border-color:#ffe54c;box-shadow:0 0 0 2px #ffd60a,0 0 25px #ffd60a88}
.bj-game-shell .bj-double.is-used{background:linear-gradient(145deg,#604b04,#342903);border-color:#e0b61a;color:#ffe238;opacity:.45;cursor:not-allowed;filter:none;box-shadow:inset 0 1px #ffe97750}
.bj-game-shell .bj-double-help{max-width:310px}
.bj-game-shell .bj-double.flash{animation:bjDoublePulse .72s ease-in-out 3}
@keyframes bjDoublePulse{0%,100%{box-shadow:inset 0 1px #ffe97750,0 0 8px #ffc40025;filter:brightness(1)}50%{box-shadow:0 0 0 3px #ffe350,0 0 30px #ffd000ba;filter:brightness(1.45)}}
@media(prefers-reduced-motion:reduce){.bj-game-shell .bj-double.flash{animation:none}}

/* v1.3.15 — victoire du joker ×2 et grille sans coches */
:is(.bj-game-shell,.bj-battle-shell) .bj-cell.correct:after,:is(.bj-game-shell,.bj-battle-shell) .bj-cell.given:after{content:none}
.bj-double-victory{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at center,#513b0cbf 0,#080a0ce8 55%,#030405f5 100%);pointer-events:none;animation:bjVictoryIn .4s ease-out both}
.bj-victory-burst{position:absolute;inset:0;display:grid;place-items:center}
.bj-victory-star{position:absolute;left:50%;top:50%;margin:-.5em 0 0 -.5em;color:#ffe073;font-size:clamp(20px,5vw,43px);text-shadow:0 0 14px #ffcc2c,0 0 30px #ff9d00;opacity:0;animation:bjStarBurst 1.45s var(--delay) ease-out forwards}
.bj-victory-badge{position:relative;width:min(76vw,340px);min-height:250px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;text-align:center;border:3px solid #ffe568;border-radius:38px;background:linear-gradient(150deg,#aa7808,#382805 80%);box-shadow:0 0 0 12px #ffde1c25,0 0 90px 20px #ffcb00a8,inset 0 0 35px #ffe66e66;color:#fff2a5;animation:bjBadgePop 2.45s cubic-bezier(.2,1.6,.4,1) both}
.bj-victory-bolt{font-size:92px;line-height:1;filter:drop-shadow(0 0 14px #ffd526)}
.bj-victory-badge strong{font-size:clamp(31px,8vw,46px);line-height:1;white-space:nowrap;color:#fff1a2;text-shadow:0 0 20px #ffd500;font-weight:950}
.bj-victory-badge small{letter-spacing:3px;font-size:14px;font-weight:900;color:#fff}
.bj-score-pending{visibility:hidden}
@keyframes bjVictoryIn{from{opacity:0}to{opacity:1}}
@keyframes bjBadgePop{0%{opacity:0;transform:scale(.18) rotate(-24deg)}20%{opacity:1;transform:scale(1.18) rotate(7deg)}37%{transform:scale(.95) rotate(-3deg)}52%,84%{transform:scale(1) rotate(0)}100%{opacity:0;transform:scale(1.65)}}
@keyframes bjStarBurst{0%{opacity:0;transform:rotate(var(--angle)) translateX(20px) scale(.2)}22%{opacity:1}72%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(var(--distance)) scale(1.2)}}
@media(prefers-reduced-motion:reduce){.bj-double-victory,.bj-victory-star,.bj-victory-badge{animation:none}.bj-victory-star{display:none}}

/* v1.3.16 — clavier : gris non testé, noir absent */
:is(.bj-game-shell,.bj-battle-shell) .bj-key:not(.correct):not(.present):not(.absent):not(.submit):not(.erase):not(.placeholder-key){background:linear-gradient(145deg,#454b58,#2c303a);border-color:#626a78;color:#f5f5f7}
:is(.bj-game-shell,.bj-battle-shell) .bj-key.absent{background:#050608;border-color:#252a30;color:#6e737b;box-shadow:inset 0 1px #ffffff0a,0 4px 0 #020303}
.bj-battle-shell .bj-key.correct{background:linear-gradient(145deg,#ff0924,#cf001e);border-color:#ff4056;color:#fff}
.bj-battle-shell .bj-key.present{background:linear-gradient(145deg,#454b58,#2c303a);border:3px solid #ffcf22;color:#ffe65a;box-shadow:inset 0 1px #ffffff35,0 0 12px #ffcf2255,0 4px 0 #14171d}

/* v1.3.17 — lettre déplacée : texte et contour jaunes, sans anneau */
:is(.bj-game-shell,.bj-battle-shell) .bj-cell.present{background:#151619;border:3px solid #ffcf22;color:#ffd12a;text-shadow:0 0 8px #ffcf3266;box-shadow:0 0 13px #ffcf2244,inset 0 1px #ffffff0a}
:is(.bj-game-shell,.bj-battle-shell) .bj-cell.present:before{content:none}

/* v1.3.18 — gain par lettre et détail du barème */
:is(.bj-game-shell,.bj-battle-shell) .bj-letter-points{position:absolute;left:50%;top:-8px;z-index:8;white-space:nowrap;color:#ffe047;font-size:clamp(18px,3vw,25px);font-weight:950;line-height:1;text-shadow:0 2px 3px #000,0 0 12px #ffca00;pointer-events:none;animation:bjPointsRise .65s var(--pop-delay,0ms) ease-out forwards}
@keyframes bjPointsRise{0%{opacity:0;transform:translate(-50%,6px) scale(.6)}22%{opacity:1;transform:translate(-50%,-5px) scale(1.2)}65%{opacity:1;transform:translate(-50%,-15px) scale(1)}100%{opacity:0;transform:translate(-50%,-30px) scale(.9)}}
.bj-score-detail{width:min(100%,520px);margin:20px auto 24px;padding:18px;border:1px solid #66501a;border-radius:18px;background:#17160f;text-align:left}
.bj-score-detail h3{margin:0 0 8px;color:#ffe171;font-size:18px}
.bj-score-detail p{margin:8px 0;color:#c7c1a7;font-size:13px;line-height:1.5}
.bj-score-lines{display:grid;gap:2px;margin-top:14px}
.bj-score-lines>div{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid #514825;color:#f0e9cc;font-size:13px}
.bj-score-lines b{color:#ffe047;white-space:nowrap;font-size:15px}
.bj-score-detail .bj-score-subtotal{margin-top:14px;font-weight:900;color:#ffe171}
@media(max-width:420px){.bj-score-lines>div{align-items:flex-start;flex-direction:column;gap:3px}}
@media(prefers-reduced-motion:reduce){:is(.bj-game-shell,.bj-battle-shell) .bj-letter-points{animation:none;opacity:1}}

/* v1.3.19 — grille et clavier visibles ensemble après le défilement */
.bj-game-shell [data-grid]{scroll-margin-top:0}
@media(max-width:600px){
  .bj-game-shell .bj-grid{--bj-cell-size:clamp(34px,calc((100dvh - 370px)/6),64px);width:min(100%,calc(var(--cols) * (var(--bj-cell-size) + 6px) - 6px));gap:6px}
  .bj-game-shell .bj-cell{height:var(--bj-cell-size);aspect-ratio:auto;font-size:clamp(18px,calc(var(--bj-cell-size) * .57),34px)}
  .bj-game-shell .bj-key{height:clamp(44px,7.5dvh,54px)}
  .bj-game-shell .bj-key-row{margin:4px 0}
  .bj-game-shell .bj-double-row{margin:9px auto 8px;gap:4px}
  .bj-game-shell .bj-double{min-height:68px;padding:7px 18px}
  .bj-game-shell .bj-double span{font-size:33px}
  .bj-game-shell .bj-double b{font-size:23px}
  .bj-game-shell .bj-keyboard{margin-top:8px}
}
@media(max-width:600px) and (max-height:650px){.bj-game-shell .bj-double-help{display:none}.bj-game-shell .bj-hint{padding:8px 12px;margin-top:8px}.bj-game-shell .bj-hint p{margin-top:2px}}
@media(max-width:600px){
  .bj-battle-shell [data-battle-grid]{--bj-cell-size:clamp(34px,calc((100dvh - 430px)/6),64px);width:min(100%,calc(var(--cols) * (var(--bj-cell-size) + 6px) - 6px));gap:6px;scroll-margin-top:0}
  .bj-battle-shell .bj-cell{height:var(--bj-cell-size);aspect-ratio:auto;font-size:clamp(18px,calc(var(--bj-cell-size) * .57),34px)}
  .bj-battle-shell .bj-key{height:clamp(44px,7.5dvh,54px)}
  .bj-battle-shell .bj-key-row{margin:4px 0}
  .bj-battle-shell .bj-keyboard{margin-top:8px}
  .bj-battle-shell .bj-form{gap:7px}
  .bj-battle-shell #battle-guess{padding:8px}
}
@media(min-width:601px){
  :is(.bj-game-shell,.bj-battle-shell) .bj-grid{--bj-cell-size:clamp(34px,calc((100dvh - 390px)/6),76px);width:min(100%,calc(var(--cols) * (var(--bj-cell-size) + 6px) - 6px));gap:6px}
  :is(.bj-game-shell,.bj-battle-shell) .bj-cell{height:var(--bj-cell-size);aspect-ratio:auto;font-size:clamp(20px,calc(var(--bj-cell-size) * .57),38px)}
  :is(.bj-game-shell,.bj-battle-shell) .bj-key{height:clamp(44px,7.5dvh,82px)}
}

/* v1.3.20 — clavier ancré juste au-dessus du bas de l'écran */
:is(.bj-game-shell,.bj-battle-shell) .bj-keyboard{scroll-margin-bottom:18px}

/* v1.3.21 — erreurs temporaires au-dessus du jeu, sans déplacement de page */
body>.bj-toast.error:is([data-game-error],[data-battle-error]){position:fixed;z-index:9998;top:calc(env(safe-area-inset-top,0px) + 12px);left:50%;width:min(420px,calc(100vw - 32px));margin:0;padding:12px 16px;text-align:center;box-shadow:0 12px 36px #000b;border-color:#b7444f;background:#43171d;color:#fff;pointer-events:none;transform:translate(-50%,-140%)}
body>.bj-toast.error:is([data-game-error],[data-battle-error]).bj-toast-active{animation:bjGameToast 1.85s ease-out both}
@keyframes bjGameToast{0%{opacity:0;transform:translate(-50%,-145%)}12%,72%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-145%)}}
@media(prefers-reduced-motion:reduce){body>.bj-toast.error:is([data-game-error],[data-battle-error]).bj-toast-active{animation:bjGameToastReduced 1.85s linear both}}
@keyframes bjGameToastReduced{0%,70%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,0)}}

/* v1.3.22 — classement général sans critère de temps */
.bj-ranking{margin-top:16px;padding:20px}
.bj-ranking-head h2{margin:5px 0 3px;font-size:26px}
.bj-ranking-head p{margin:0 0 14px;color:#9eacb7;font-size:12px}
.bj-ranking-list{max-height:480px;overflow-y:auto;scrollbar-color:#405164 transparent}
.bj-ranking-row{display:grid;grid-template-columns:50px minmax(0,1fr) 95px 98px;align-items:center;gap:9px;padding:11px 10px;border-bottom:1px solid #26313b;font-size:14px}
.bj-ranking-labels{position:sticky;top:0;z-index:1;background:#101820;color:#8795a1;font-size:10px;text-transform:uppercase;font-weight:900;letter-spacing:.4px}
.bj-ranking-row>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bj-ranking-row>b{text-align:right;color:#ffe173;font-size:18px}
.bj-ranking-row>span:last-child{text-align:right}
.bj-ranking-place{font-weight:950;color:#a7b6c2}
.bj-ranking-row.mine{background:#152a24;border-radius:10px;border-color:#285a46}
.bj-ranking-row.mine .bj-ranking-place{color:#80f0b5}
.bj-one-shot{display:inline-flex;justify-content:flex-end;align-items:center;color:#ffd35a;font-weight:950}
@media(max-width:480px){.bj-ranking{padding:16px 10px}.bj-ranking-row{grid-template-columns:35px minmax(0,1fr) 64px 67px;gap:5px;padding:10px 5px;font-size:12px}.bj-ranking-labels{font-size:9px;letter-spacing:0}.bj-ranking-row>b{font-size:15px}}

/* v1.3.23 — profils persistants et avatars personnalisables */
.bj-avatar-art{display:block;width:100%;height:100%;border-radius:50%}
.bj-ranking-name{display:flex;align-items:center;gap:8px;min-width:0}
.bj-ranking-name .bj-avatar-art{width:32px;height:32px;flex:none}
.bj-player .bj-avatar{overflow:hidden;padding:0}
.bj-player .bj-avatar-art{width:100%;height:100%}
.bj-profile-modal[hidden]{display:none}
.bj-profile-modal{position:fixed;inset:0;z-index:10000;background:#01070ce8;display:grid;place-items:center;padding:12px;overflow-y:auto}
.bj-profile-panel{position:relative;width:min(660px,100%);max-height:calc(100dvh - 24px);overflow:auto;padding:22px;border:1px solid #405363;border-radius:22px;background:#101922;box-shadow:0 24px 80px #000d;color:#f6f8fa}
.bj-profile-panel h2{font-size:clamp(23px,5vw,31px);margin:6px 0}.bj-profile-panel p{color:#aebac5;font-size:14px;line-height:1.45}
.bj-profile-panel form{display:grid;gap:12px}.bj-profile-panel label{font-size:13px;color:#e5edf4;font-weight:800}
.bj-profile-panel input,.bj-profile-panel select{box-sizing:border-box;width:100%;padding:11px;border-radius:10px;background:#26333f;border:1px solid #5b6b7a;color:white;font-size:16px;margin-top:5px}
.bj-profile-caption{font-size:12px;color:#a8b6c2}.bj-profile-close{position:absolute;right:16px;top:12px;background:none;color:white;border:0;font-size:30px;cursor:pointer}
.bj-avatar-gallery{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}.bj-avatar-choice{padding:3px;border:2px solid #44525d;border-radius:50%;background:#263440;cursor:pointer;aspect-ratio:1}.bj-avatar-choice.selected,.bj-avatar-choice:focus-visible{border-color:#ffd646;box-shadow:0 0 10px #fdd23f88;outline:0}
.bj-avatar-editor{display:grid;grid-template-columns:125px 1fr;gap:18px;align-items:start}.bj-avatar-preview{position:sticky;top:10px;aspect-ratio:1;border:3px solid #f6cb40;border-radius:50%;box-shadow:0 0 18px #efcf3480}.bj-avatar-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:490px){.bj-avatar-editor{grid-template-columns:82px 1fr;gap:9px}.bj-avatar-fields{grid-template-columns:1fr}.bj-avatar-gallery{gap:4px}.bj-profile-panel{padding:16px}.bj-ranking-name .bj-avatar-art{width:25px;height:25px}}

/* v1.3.24 — studio avatar illustré, navigation par éléments */
.bj-avatar-studio{width:min(950px,100%);padding:0;max-height:min(92dvh,900px);overflow:auto;background:#101a25;border-color:#465b6b}
.bj-studio-head{display:flex;justify-content:space-between;align-items:center;padding:19px 24px 15px;background:#172532;border-bottom:1px solid #304656}
.bj-studio-head h2{margin:2px 0 0}.bj-studio-head .bj-profile-close{position:static;line-height:1;padding:2px 9px;border:1px solid #657888;border-radius:9px}
.bj-avatar-studio form{gap:0}.bj-studio-layout{display:grid;grid-template-columns:280px minmax(0,1fr);min-height:410px}
.bj-studio-preview{padding:24px;background:radial-gradient(circle at 50% 24%,#334a62,#1d2d3d 67%);border-right:1px solid #3c5264}
.bj-studio-preview-inner{position:sticky;top:10px;display:grid;justify-items:center;gap:14px;color:#dbe9f1;font-weight:900}
.bj-avatar-studio .bj-avatar-preview{width:min(100%,220px);border:5px solid #f2d76d;box-shadow:0 0 0 6px #ffffff18,0 16px 40px #0008}
.bj-random-btn{padding:9px 16px;background:#344a5c;border:1px solid #7890a1;border-radius:20px;color:#fff;font-size:13px;font-weight:800;cursor:pointer}
.bj-studio-controls{min-width:0}.bj-studio-tabs{display:flex;gap:3px;padding:10px 12px;overflow-x:auto;scrollbar-width:thin;background:#172532;border-bottom:1px solid #334657}
.bj-studio-tab{flex:none;white-space:nowrap;padding:11px 13px;border:0;border-radius:12px;background:transparent;color:#a9bdcb;font-size:13px;font-weight:900;cursor:pointer}
.bj-studio-tab.active{background:#ffd74f;color:#202b37}.bj-studio-tab:focus-visible,.bj-studio-choice:focus-visible,.bj-random-btn:focus-visible{outline:3px solid #ffe267;outline-offset:2px}
.bj-studio-options{padding:19px 20px 30px;max-height:520px;overflow-y:auto}.bj-studio-options h3{font-size:15px;color:#e7f0f6;margin:0 0 12px}
.bj-studio-part{margin-bottom:25px}.bj-studio-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.bj-studio-choice{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 4px;min-width:0;border:2px solid #405569;border-radius:14px;background:#223444;color:#eff6fb;cursor:pointer;font:inherit;font-size:11px;font-weight:800;transition:border-color .15s,transform .15s,background .15s}
.bj-studio-choice:hover{transform:translateY(-2px);background:#2d4659}.bj-studio-choice.selected{border-color:#ffd84d;background:#3c4035;box-shadow:0 0 0 2px #ffcf3533}
.bj-studio-choice .bj-avatar-art{width:75px;height:75px;max-width:100%;box-shadow:0 3px 9px #0005}.bj-studio-choice span{text-align:center;line-height:1.2}
.bj-studio-choice-grid.colors{grid-template-columns:repeat(6,minmax(0,1fr))}.bj-studio-choice-grid.colors .bj-studio-choice{background:none;border-color:transparent}.bj-studio-choice-grid.colors .bj-studio-choice.selected{border-color:#ffd84d;background:#364053}
.bj-studio-swatch{width:42px;height:42px;max-width:100%;border-radius:50%;border:3px solid #fff9;box-shadow:0 2px 9px #0009}
.bj-studio-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 15px;align-items:end;padding:16px 24px 22px;border-top:1px solid #364b5a;background:#142230}
.bj-studio-bottom label{grid-column:1;line-height:1.4}.bj-studio-bottom label small{display:block;color:#90a8ba;font-weight:500}.bj-studio-bottom input{grid-column:1;margin:0}.bj-studio-bottom .bj-primary{grid-column:2;grid-row:1/3;white-space:nowrap;padding-inline:19px}
@media(max-width:700px){.bj-profile-modal{padding:0}.bj-avatar-studio{height:100dvh;max-height:100dvh;width:100%;border:0;border-radius:0}.bj-studio-head{padding:11px 16px}.bj-studio-head h2{font-size:23px}.bj-studio-layout{display:block;min-height:0}.bj-studio-preview{position:sticky;top:0;z-index:3;padding:9px 12px;border-right:0;border-bottom:1px solid #4b6070}.bj-studio-preview-inner{display:flex;justify-content:center;align-items:center;gap:12px}.bj-avatar-studio .bj-avatar-preview{width:83px;border-width:3px}.bj-studio-preview-inner>span{font-size:13px}.bj-random-btn{padding:7px 9px;font-size:11px}.bj-studio-tabs{position:sticky;top:107px;z-index:2;padding:7px}.bj-studio-tab{padding:9px 10px;font-size:12px}.bj-studio-options{max-height:none;overflow:visible;padding:16px 14px 22px;min-height:285px}.bj-studio-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.bj-studio-choice-grid.colors{grid-template-columns:repeat(5,minmax(0,1fr))}.bj-studio-bottom{grid-template-columns:1fr;padding:15px}.bj-studio-bottom .bj-primary{grid-column:1;grid-row:auto;width:100%}}
@media(max-width:380px){.bj-studio-preview-inner>span{display:none}.bj-studio-choice .bj-avatar-art{width:68px;height:68px}}

/* v1.3.25 — première étape femme/homme, sans défilement horizontal */
.bj-avatar-studio{overflow-x:hidden}.bj-avatar-studio *{box-sizing:border-box;min-width:0}
.bj-gender-step{padding:28px 22px 34px;text-align:center}.bj-gender-step[hidden],.bj-avatar-editor-page[hidden]{display:none}
.bj-gender-step h3{font-size:clamp(22px,4vw,30px);margin:0 0 5px;color:#f6f8f8}.bj-gender-step p{margin:0 0 20px}
.bj-gender-options{display:grid;grid-template-columns:repeat(2,minmax(0,220px));justify-content:center;gap:18px}
.bj-gender-options button{border:3px solid #475e6a;border-radius:22px;background:#243847;color:#fff;padding:14px;display:grid;gap:12px;justify-items:center;cursor:pointer;font-size:20px}
.bj-gender-options button:hover,.bj-gender-options button:focus-visible{border-color:#ffd84f;outline:none;box-shadow:0 0 16px #ffe25b66}
.bj-gender-options .bj-avatar-art{width:min(100%,175px);height:auto;aspect-ratio:1;box-shadow:0 9px 22px #0007}
.bj-studio-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;gap:6px;position:static;background:#172532}
.bj-studio-tab{white-space:normal;min-height:43px;line-height:1.15;text-align:center;padding:8px 3px}
.bj-studio-options{overflow-x:hidden}.bj-studio-bottom{grid-template-columns:minmax(0,1fr) auto}
.bj-studio-bottom .bj-gender-back{grid-column:1/-1;justify-self:start;background:none;border:0;color:#ffdf79;font-weight:900;padding:2px 0 5px;cursor:pointer}
@media(max-width:700px){.bj-gender-step{padding:20px 16px 28px}.bj-gender-options{gap:9px}.bj-gender-options button{padding:8px;border-radius:16px;font-size:16px}.bj-avatar-studio{overflow-x:hidden}.bj-studio-layout{overflow-x:hidden}.bj-studio-tabs{position:static;top:auto;padding:8px;gap:5px}.bj-studio-tab{font-size:11px;padding:8px 2px;min-height:42px}.bj-studio-options{overflow-x:hidden;padding:13px 12px 20px}.bj-studio-choice-grid,.bj-studio-choice-grid.colors{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.bj-studio-choice{padding:5px 2px;font-size:10px;max-width:100%;overflow:hidden}.bj-studio-choice .bj-avatar-art{width:min(68px,100%);height:auto;aspect-ratio:1}.bj-studio-swatch{width:35px;height:35px}.bj-studio-bottom{grid-template-columns:minmax(0,1fr)}.bj-studio-bottom .bj-primary{grid-column:1}}
@media(max-width:340px){.bj-studio-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.bj-avatar-studio .bj-avatar-preview{width:70px}}

/* Header BONJOUUUR : titre et commandes, puis logo vérifié lettre par lettre. */
.bj-home-header{height:auto;min-height:115px;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:auto auto;align-items:center;column-gap:8px;row-gap:9px;padding:9px 6px 12px;margin-bottom:7px;border-radius:0 0 20px 20px;background:radial-gradient(ellipse at 50% 95%,#30201244,transparent 64%),linear-gradient(180deg,#050609,#090d14);border-bottom:1px solid #2b323e;box-shadow:0 12px 22px #0005}
.bj-home-header .bj-icon-btn,.bj-home-header .bj-sound-btn{width:39px;height:39px;justify-self:center;align-self:center;border-radius:13px;background:linear-gradient(145deg,#252a33,#0d1118);border:1px solid #3c4654;font-size:20px}
.bj-home-header .bj-header-title{grid-column:2;grid-row:1;text-align:center;color:#fff;font-size:clamp(16px,3.5vw,23px);font-weight:900;letter-spacing:.01em;line-height:1.1;white-space:nowrap}
.bj-home-header .bj-icon-btn{grid-column:1;grid-row:1}
.bj-home-header .bj-sound-btn{grid-column:3;grid-row:1;box-shadow:inset 0 1px #ffffff1b,0 0 0 2px #10251c;transition:box-shadow .2s,opacity .2s}
.bj-home-header .bj-sound-btn:not(.off){border-color:#269866;box-shadow:inset 0 1px #ffffff24,0 0 12px #23b97955}
.bj-home-header .bj-word-logo{--logo-cell:clamp(18px,calc((100vw - 48px)/9 - 2px),58px);grid-column:1/-1;grid-row:2;display:block;min-width:0;width:100%;line-height:1;letter-spacing:0;text-align:center;perspective:500px}
.bj-home-header .bj-word-row{display:flex;justify-content:center;align-items:center;gap:3px;white-space:nowrap}
.bj-home-header .bj-word-tile{width:var(--logo-cell);height:var(--logo-cell);flex:none;display:grid;place-items:center;position:relative;isolation:isolate;border:1px solid #353943;border-radius:8px;background:linear-gradient(145deg,#1c1e23,#0d0e12);color:#c5c5c9;font-size:calc(var(--logo-cell) * .55);font-weight:950;text-shadow:0 1px 2px #0009;box-shadow:inset 0 1px #ffffff18,0 3px 7px #0007;animation:bjHeaderCheck 5.2s ease-in-out infinite both;animation-delay:calc(var(--tile-order) * .13s);transform-origin:center center;backface-visibility:hidden}
.bj-home-header .bj-word-tile.correct{background:linear-gradient(145deg,#19edab,#00a97e 80%);border-color:#5afbd0;color:#fff;box-shadow:inset 0 1px #ffffff86,0 4px 11px #00ad7f70,0 0 15px #00e8a99c}
.bj-home-header .bj-word-tile.absent{background:linear-gradient(145deg,#111318,#08090c);border-color:#30343d;color:#a0a4ab;box-shadow:inset 0 1px #ffffff0c,0 3px 7px #0008}
.bj-home-header .bj-word-tile.present{border:2px solid #3fc9ff;color:#75d9ff;background:linear-gradient(145deg,#142c42,#0a1828);text-shadow:0 0 8px #52cfffab;box-shadow:inset 0 1px #ffffff25,0 0 12px #1dbafb91}
.bj-home-header .bj-letter-ring{width:76%;height:76%;border:2px solid #3fc9ff;border-radius:50%;display:grid;place-items:center;line-height:1;box-shadow:0 0 7px #1dbafba8,inset 0 0 5px #35ceff66}
@keyframes bjHeaderCheck{0%,4%{transform:rotateX(0);filter:grayscale(1) brightness(.46)}8%{transform:rotateX(-88deg);filter:grayscale(1) brightness(.48)}12%{transform:rotateX(0);filter:brightness(1.65)}17%,83%{transform:rotateX(0);filter:none}96%,100%{transform:rotateX(0);filter:grayscale(1) brightness(.46)}}
@media(min-width:521px){.bj-home-header .bj-word-logo{--logo-cell:clamp(38px,6vw,58px)}.bj-home-header .bj-word-row{gap:5px}}
@media(max-width:520px){.bj-home-header{min-height:98px;grid-template-columns:36px minmax(0,1fr) 36px;column-gap:3px;row-gap:7px;padding:6px 2px 10px}.bj-home-header .bj-icon-btn,.bj-home-header .bj-sound-btn{width:35px;height:35px;font-size:18px}.bj-home-header .bj-word-logo{--logo-cell:clamp(18px,calc((100vw - 48px)/9 - 2px),43px)}.bj-home-header .bj-word-row{gap:2px}.bj-home-header .bj-word-tile{border-radius:6px}}
@media(prefers-reduced-motion:reduce){.bj-home-header .bj-word-tile{animation:none;transform:none;filter:none}}

/* Accueil : lumière cyan, magenta et émeraude, inspirée de la maquette. */
.bj-homepage{background:radial-gradient(ellipse 72% 24% at 50% 0%,#063756 0%,transparent 75%),radial-gradient(ellipse 60% 28% at 0% 37%,#003744 0%,transparent 75%),radial-gradient(ellipse 60% 32% at 100% 72%,#082c57 0%,transparent 75%),#030910;background-attachment:fixed}
.bj-homepage .bj-shell{width:min(900px,100%);padding-top:0}
.bj-site-header{position:relative;margin:0 -9px 16px;padding-top:17px;padding-bottom:16px;border:1px solid #0c4662;border-top:0;border-radius:0 0 31px 31px;background:radial-gradient(ellipse at 10% 80%,#650b453d,transparent 30%),radial-gradient(ellipse at 92% 70%,#02396666,transparent 36%),linear-gradient(160deg,#030812,#051623 55%,#080b17);box-shadow:0 16px 33px #000b,0 3px 23px #007bd136;overflow:hidden}
.bj-site-header:before{content:"";position:absolute;inset:0 8% auto;height:1px;background:linear-gradient(90deg,transparent,#00bdf5,transparent);box-shadow:0 0 12px #00d4ff;pointer-events:none}
.bj-site-header .bj-header-title{position:relative;font-size:clamp(18px,4vw,28px);letter-spacing:-.03em;text-shadow:0 2px 8px #0009}
.bj-site-header .bj-header-title:before,.bj-site-header .bj-header-title:after{content:"";display:inline-block;width:clamp(18px,6vw,60px);height:1px;vertical-align:middle;margin:0 clamp(7px,2vw,18px);background:linear-gradient(90deg,transparent,#08cde9);box-shadow:0 0 7px #00d9ff}
.bj-site-header .bj-header-title:after{transform:rotate(180deg)}
.bj-site-header .bj-header-title em{font-style:normal;color:#03e6f4;text-shadow:0 0 14px #00dfff66}
.bj-site-header .bj-icon-btn,.bj-site-header .bj-sound-btn{position:relative;z-index:1;border-color:#527791;background:linear-gradient(140deg,#1a3547,#091423 75%);box-shadow:inset 0 1px #ffffff55,0 5px 10px #000a,0 0 12px #0579ba45;border-radius:16px}
.bj-site-header .bj-sound-btn:not(.off){box-shadow:inset 0 1px #ffffff55,0 5px 10px #000a,0 0 12px #0ef4ce76}
.bj-site-header .bj-word-logo{position:relative;z-index:1}
.bj-site-header .bj-word-tile{border-radius:10px;box-shadow:inset 0 1px #ffffff40,0 4px 9px #000b,0 0 12px #13699b5c}
.bj-site-header .bj-word-tile.correct{background:linear-gradient(150deg,#26f5b6,#00b382 74%);border-color:#77ffda;box-shadow:inset 0 1px #ffffffad,0 5px 12px #00aa816e,0 0 17px #00e5ad99}
.bj-site-header .bj-word-tile.present{border-color:#65daff;color:#83e0ff;background:linear-gradient(145deg,#172d42,#0a1828);box-shadow:inset 0 1px #ffffff30,0 4px 8px #0008,0 0 15px #22bfff9e}
.bj-site-header .bj-word-tile.absent{background:linear-gradient(150deg,#1c2734,#080c16);border-color:#455566;color:#aab9ca;box-shadow:inset 0 1px #ffffff23,0 4px 9px #000b}
:is(.bj-homepage,.bj-livepage) .bj-mode-grid{gap:12px;margin:14px 0 19px}
:is(.bj-homepage,.bj-livepage) .bj-mode{min-height:155px;padding:19px 17px;border-radius:28px;isolation:isolate;transition:transform .18s,box-shadow .18s;box-shadow:inset 0 1px #ffffff75,0 10px 22px #000a}
:is(.bj-homepage,.bj-livepage) .bj-mode:hover{transform:translateY(-2px)}
:is(.bj-homepage,.bj-livepage) .bj-mode:before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:radial-gradient(ellipse at 90% 5%,#ffffff28,transparent 40%),repeating-radial-gradient(ellipse at 0% 105%,transparent 0 27px,#ffffff0a 28px 29px,transparent 30px 57px);pointer-events:none}
:is(.bj-homepage,.bj-livepage) .bj-mode.daily{border:2px solid #06bdec;background:radial-gradient(ellipse at 0% 0%,#0476b4 0%,transparent 65%),linear-gradient(135deg,#09283c,#06121f 75%);box-shadow:inset 0 1px #ffffff8a,0 0 12px #00cafa7d,0 11px 23px #0009}
:is(.bj-homepage,.bj-livepage) .bj-mode.live{border:2px solid #e348aa;background:radial-gradient(ellipse at 0% 0%,#7f145e 0%,transparent 65%),linear-gradient(135deg,#34102a,#14091c 75%);box-shadow:inset 0 1px #ffffff82,0 0 12px #e83aab73,0 11px 23px #0009}
:is(.bj-homepage,.bj-livepage) .bj-mode i{top:12px;right:16px;font-size:36px;filter:drop-shadow(0 0 9px #08e9fa)}
:is(.bj-homepage,.bj-livepage) .bj-mode.live i{filter:drop-shadow(0 0 12px #ffbf31)}
:is(.bj-homepage,.bj-livepage) .bj-mode b{font-size:clamp(17px,3.8vw,27px);line-height:1.12;text-shadow:0 2px 5px #0008}
:is(.bj-homepage,.bj-livepage) .bj-mode small{font-size:clamp(11px,2.4vw,16px);color:#c3d5e9;margin-top:4px;margin-right:30px}
:is(.bj-homepage,.bj-livepage) .bj-mode-arrow{position:absolute;right:17px;bottom:17px;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;font-size:35px;line-height:1;background:linear-gradient(145deg,#024e69,#00a8aa);border:1px solid #1bece0;box-shadow:0 0 13px #00d9dd8a}
:is(.bj-homepage,.bj-livepage) .bj-mode.live .bj-mode-arrow{background:linear-gradient(145deg,#650d41,#d31a71);border-color:#ff5b98;box-shadow:0 0 14px #ed188f8a}
.bj-homepage .bj-card.accent{padding:clamp(17px,4vw,36px);border:2px solid #22daee;border-radius:31px;background:radial-gradient(ellipse at 4% 3%,#087e7566,transparent 31%),radial-gradient(ellipse at 93% 95%,#03699988,transparent 33%),linear-gradient(155deg,#051525,#071322 55%,#071b29);box-shadow:inset 0 1px #ffffff81,inset 0 0 24px #04eade27,0 0 14px #00d8e999,0 16px 34px #000b;isolation:isolate}
.bj-homepage .bj-card.accent:before{height:100%;background:repeating-radial-gradient(ellipse at 0% 95%,transparent 0 60px,#13d5eb0b 61px 62px,transparent 63px 120px);z-index:-1;pointer-events:none}
.bj-homepage .bj-calendar-head{gap:10px}
.bj-homepage .bj-calendar-head .bj-kicker{color:#17eddb;font-size:clamp(11px,2.5vw,18px);letter-spacing:.24em;text-shadow:0 0 10px #03dbc07d}
.bj-homepage .bj-calendar-head h2{font-size:clamp(24px,5.5vw,45px);letter-spacing:-.045em;line-height:1.07;margin:13px 0 0;text-shadow:0 3px 8px #000b}
.bj-homepage .bj-date-badge{flex:none;width:clamp(61px,15vw,105px);border:1px solid #d9f5ff;border-radius:19px;background:linear-gradient(#fff,#c9e0ef);box-shadow:0 0 18px #10b9edaa,0 10px 18px #0009;transform:rotate(3deg)}
.bj-homepage .bj-date-badge b{background:linear-gradient(130deg,#ff5678,#e4004f);font-size:clamp(10px,2.2vw,17px);padding:7px}
.bj-homepage .bj-date-badge strong{font-size:clamp(27px,7vw,48px);padding:4px;color:#0b1826}
.bj-homepage .bj-legend{gap:8px;margin:17px 0 20px}
.bj-homepage .bj-legend span{display:inline-flex;align-items:center;padding:7px 10px;border:1px solid #42647a;background:#091827a8;border-radius:99px;color:#dce9f5;font-size:clamp(10px,2.1vw,14px);box-shadow:inset 0 1px #ffffff16}
.bj-homepage .bj-dot{flex:none;width:13px;height:13px;margin-right:7px}
.bj-homepage .bj-dot.won{background:#00e19c;box-shadow:0 0 9px #00e19c}
.bj-homepage .bj-dot.lost{background:#f42d69;box-shadow:0 0 9px #f42d69}
.bj-homepage .bj-dot.idle{border:1px solid #8eaac0}
.bj-homepage .bj-month-nav{grid-template-columns:clamp(42px,11vw,75px) minmax(0,1fr) clamp(42px,11vw,75px);gap:6px;margin:12px 0}
.bj-homepage .bj-month-nav h3{font-size:clamp(19px,4.5vw,33px);letter-spacing:-.035em;text-shadow:0 2px 7px #000a}
.bj-homepage .bj-nav{height:clamp(42px,10vw,63px);border-radius:18px;border-color:#3b769a;background:linear-gradient(145deg,#17374e,#07192a);box-shadow:inset 0 1px #ffffff4d,0 5px 10px #0007;font-size:24px}
.bj-homepage .bj-month-jump{gap:9px;margin:15px 0 13px;flex-wrap:nowrap}
.bj-homepage .bj-month-jump input{min-height:45px;background:linear-gradient(145deg,#102a40,#071726);border:1px solid #318fba;border-radius:13px;font-size:14px;box-shadow:inset 0 1px #ffffff25}
.bj-homepage .bj-month-jump button{min-height:45px;padding:0 clamp(11px,3vw,30px);border:1px solid #19f8c3;border-radius:13px;background:linear-gradient(135deg,#06ca95,#058f7d);box-shadow:0 0 12px #02e4ae99,inset 0 1px #ffffff69;font-size:14px}
.bj-homepage .bj-week,.bj-homepage .bj-dates{gap:clamp(4px,1vw,9px)}
.bj-homepage .bj-week{color:#8ea8bd;font-size:clamp(11px,2.5vw,16px);padding:7px 0 10px}
.bj-homepage .bj-day{border:1px solid #426177;border-radius:clamp(10px,2.7vw,18px);background:linear-gradient(145deg,#172c3b,#0a1522);box-shadow:inset 0 1px #ffffff18,0 4px 8px #0006;font-size:clamp(14px,3.4vw,23px);transition:transform .15s,box-shadow .15s}
.bj-homepage .bj-day:not(.future):hover{transform:translateY(-2px)}
.bj-homepage .bj-day.won{border-color:#35f2bd;background:linear-gradient(145deg,#05eaa7,#00a97d);box-shadow:inset 0 1px #ffffff69,0 0 11px #02e6a88a,0 4px 8px #0007}
.bj-homepage .bj-day.lost{border-color:#ff5c85;background:linear-gradient(145deg,#ff456c,#be0053);box-shadow:inset 0 1px #ffffff72,0 0 11px #ff257d88,0 4px 8px #0007}
.bj-homepage .bj-day.today{outline:2px solid #26d6ff;outline-offset:2px;box-shadow:0 0 14px #0bcaffbc}
.bj-homepage .bj-home-play .bj-primary{background:linear-gradient(135deg,#31cfff,#078bdf 75%);border:1px solid #83eaff;box-shadow:inset 0 1px #ffffff8c,0 0 18px #12bfffad,0 9px 20px #004d8980;color:#fff;font-size:18px;text-shadow:0 1px 5px #034878aa}
.bj-homepage .bj-ranking{border-color:#236578;background:linear-gradient(160deg,#0a2230,#090f1a);box-shadow:0 0 13px #00bdda4a,0 15px 25px #0008}
.bj-homepage .bj-ranking-head .bj-kicker{color:#11e6d4}
@media(max-width:520px){.bj-site-header{margin-left:-9px;margin-right:-9px}.bj-site-header .bj-header-title:before,.bj-site-header .bj-header-title:after{width:clamp(8px,4vw,20px);margin:0 5px}:is(.bj-homepage,.bj-livepage) .bj-mode{min-height:120px;padding:13px 11px;border-radius:23px}:is(.bj-homepage,.bj-livepage) .bj-mode i{font-size:29px;right:10px;top:10px}:is(.bj-homepage,.bj-livepage) .bj-mode-arrow{right:10px;bottom:10px;width:30px;height:30px;font-size:28px}.bj-homepage .bj-card.accent{border-radius:26px}.bj-homepage .bj-legend{gap:5px}.bj-homepage .bj-legend span{padding:6px 7px}.bj-homepage .bj-month-jump input{font-size:12px}.bj-homepage .bj-month-jump button{font-size:12px}}
@media(max-width:350px){.bj-homepage .bj-legend span{font-size:9px}.bj-homepage .bj-dot{width:10px;height:10px;margin-right:4px}:is(.bj-homepage,.bj-livepage) .bj-mode small{font-size:10px}:is(.bj-homepage,.bj-livepage) .bj-mode b{font-size:16px}}

/* Finitions de la maquette : logo arqué et illustrations des deux modes. */
.bj-site-header .bj-word-logo{--arc:clamp(4px,1vw,9px)}
.bj-site-header .bj-word-row{padding:0 1px var(--arc)}
.bj-site-header .bj-word-tile{--arc-y:0px;--arc-r:0deg;animation-name:bjHeaderArcCheck}
.bj-site-header .bj-word-tile:nth-child(1){--arc-y:var(--arc);--arc-r:-4deg}
.bj-site-header .bj-word-tile:nth-child(2){--arc-y:calc(var(--arc) * .55);--arc-r:-3deg}
.bj-site-header .bj-word-tile:nth-child(3){--arc-y:calc(var(--arc) * .22);--arc-r:-2deg}
.bj-site-header .bj-word-tile:nth-child(4){--arc-r:-1deg}
.bj-site-header .bj-word-tile:nth-child(6){--arc-r:1deg}
.bj-site-header .bj-word-tile:nth-child(7){--arc-y:calc(var(--arc) * .22);--arc-r:2deg}
.bj-site-header .bj-word-tile:nth-child(8){--arc-y:calc(var(--arc) * .55);--arc-r:3deg}
.bj-site-header .bj-word-tile:nth-child(9){--arc-y:var(--arc);--arc-r:4deg}
@keyframes bjHeaderArcCheck{0%,4%{transform:translateY(var(--arc-y)) rotate(var(--arc-r)) rotateX(0);filter:grayscale(1) brightness(.46)}8%{transform:translateY(var(--arc-y)) rotate(var(--arc-r)) rotateX(-88deg);filter:grayscale(1) brightness(.48)}12%{transform:translateY(var(--arc-y)) rotate(var(--arc-r)) rotateX(0);filter:brightness(1.65)}17%,83%{transform:translateY(var(--arc-y)) rotate(var(--arc-r)) rotateX(0);filter:none}96%,100%{transform:translateY(var(--arc-y)) rotate(var(--arc-r)) rotateX(0);filter:grayscale(1) brightness(.46)}}
:is(.bj-homepage,.bj-livepage) .bj-mode:before{background-position:center;background-size:cover;background-repeat:no-repeat;opacity:1}
:is(.bj-homepage,.bj-livepage) .bj-mode.daily:before{background-image:url('home-daily-waves.svg')}
:is(.bj-homepage,.bj-livepage) .bj-mode.live:before{background-image:url('home-live-waves.svg')}
:is(.bj-homepage,.bj-livepage) .bj-mode:after{content:"";position:absolute;z-index:-1;inset:1px;border-radius:inherit;background:radial-gradient(ellipse at 15% 0%,#ffffff20,transparent 55%);pointer-events:none}
:is(.bj-homepage,.bj-livepage) .bj-mode .bj-mode-calendar{right:clamp(13px,5vw,34px);top:13px;width:clamp(43px,10vw,75px);height:clamp(48px,11vw,83px);transform:rotate(5deg);filter:drop-shadow(0 0 8px #19ccf5a5);display:block;text-align:center;border:1px solid #c9efff;border-radius:10px;background:linear-gradient(#fff,#d8ebf6);box-shadow:0 7px 9px #0008,0 0 10px #07c7ee6b;overflow:visible}
:is(.bj-homepage,.bj-livepage) .bj-mode-calendar:before,:is(.bj-homepage,.bj-livepage) .bj-mode-calendar:after{content:"";position:absolute;z-index:2;top:-7px;width:5px;height:12px;border-radius:5px;background:linear-gradient(90deg,#6597c4,#e4faff,#507da7);box-shadow:0 0 3px #062b4a}
:is(.bj-homepage,.bj-livepage) .bj-mode-calendar:before{left:23%}:is(.bj-homepage,.bj-livepage) .bj-mode-calendar:after{right:23%}
:is(.bj-homepage,.bj-livepage) .bj-mode-calendar span{display:block;border-radius:9px 9px 0 0;padding:3px 0;background:linear-gradient(130deg,#ff5c80,#ed0c57);color:#fff;font-size:clamp(8px,1.7vw,12px);font-weight:900;line-height:1.15}
:is(.bj-homepage,.bj-livepage) .bj-mode-calendar strong{display:block;color:#101e32;font-size:clamp(22px,5vw,44px);font-weight:950;line-height:1.23}
:is(.bj-homepage,.bj-livepage) .bj-mode .bj-mode-bolt{top:8px;right:clamp(13px,5vw,30px);width:clamp(45px,11vw,86px);height:clamp(57px,14vw,108px);background:url('home-bolt.svg') center/contain no-repeat;filter:drop-shadow(0 0 8px #ff8600b9)}
:is(.bj-homepage,.bj-livepage) .bj-mode-arrow{font-family:Arial,sans-serif;font-weight:300;padding-bottom:4px}
.bj-homepage .bj-card.accent{background:radial-gradient(ellipse at 3% 4%,#037c7770,transparent 31%),radial-gradient(ellipse at 88% 92%,#017ca06b,transparent 35%),radial-gradient(ellipse at 100% 0%,#142f6b66,transparent 42%),linear-gradient(155deg,#051525,#071322 55%,#071b29)}
.bj-homepage .bj-card.accent:after{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:linear-gradient(135deg,#ffffff1d 0%,transparent 11%,transparent 87%,#05deea21);pointer-events:none}
@media(max-width:520px){:is(.bj-homepage,.bj-livepage) .bj-mode .bj-mode-calendar{top:10px}:is(.bj-homepage,.bj-livepage) .bj-mode .bj-mode-bolt{top:7px}}
@media(prefers-reduced-motion:reduce){.bj-site-header .bj-word-tile{animation:none;transform:translateY(var(--arc-y)) rotate(var(--arc-r));filter:none}}

/* Modes : seul le mode affiché reçoit l'éclat maximal. */
:is(.bj-homepage,.bj-livepage) .bj-mode-grid .bj-mode:not(.is-active){opacity:.72;filter:saturate(.75) brightness(.82);box-shadow:inset 0 1px #ffffff38,0 5px 15px #0008;transition:opacity .25s,filter .25s,box-shadow .25s,transform .25s}
:is(.bj-homepage,.bj-livepage) .bj-mode-grid .bj-mode.is-active{opacity:1;filter:none}
:is(.bj-homepage,.bj-livepage) .bj-mode-grid .bj-mode:not(.is-active):hover,:is(.bj-homepage,.bj-livepage) .bj-mode-grid .bj-mode:not(.is-active):focus-visible{opacity:.92;filter:saturate(.95) brightness(.98)}
:is(.bj-homepage,.bj-livepage) .bj-mode-grid .bj-mode-arrow{animation:bjModeInvite 2.5s ease-in-out infinite}
:is(.bj-homepage,.bj-livepage) .bj-mode-grid .bj-mode:hover .bj-mode-arrow,:is(.bj-homepage,.bj-livepage) .bj-mode-grid .bj-mode:focus-visible .bj-mode-arrow{animation:bjModeInvite .65s ease-in-out infinite}
@keyframes bjModeInvite{0%,65%,100%{transform:translateX(0)}74%{transform:translateX(4px)}84%{transform:translateX(-1px)}91%{transform:translateX(2px)}}
.bj-homepage .bj-calendar-head{margin-bottom:22px}
.bj-homepage .bj-nav svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.bj-homepage .bj-nav{font-size:0;color:#f4fcff;box-shadow:inset 0 1px #ffffff55,0 5px 12px #0008,0 0 10px #0898d045}
.bj-homepage .bj-nav:not(.disabled):hover{border-color:#25c9f3;box-shadow:inset 0 1px #ffffff75,0 0 15px #02c9f18c}

/* Le même langage lumineux sur le Live Battle, le jeu et l'administration. */
.bj-themed{background:radial-gradient(ellipse 78% 24% at 50% 0%,#063756 0%,transparent 76%),radial-gradient(ellipse 65% 30% at 0% 45%,#003d45 0%,transparent 75%),radial-gradient(ellipse 62% 30% at 100% 80%,#102655 0%,transparent 76%),#030910;background-attachment:fixed}
.bj-themed:not(.bj-homepage) .bj-shell{width:min(900px,100%)}
.bj-themed:not(.bj-homepage) .bj-top{height:auto;min-height:79px;margin-bottom:17px;padding:10px 9px;border:1px solid #174d67;border-radius:0 0 24px 24px;background:radial-gradient(ellipse at 80% 100%,#122a574d,transparent 65%),linear-gradient(150deg,#061623,#060a14);box-shadow:0 10px 26px #0009,0 0 15px #008cd13b}
.bj-themed:not(.bj-homepage) .bj-logo{letter-spacing:-1.6px;text-shadow:0 3px 10px #0009}
.bj-themed:not(.bj-homepage) .bj-logo em{color:#21e6ef;text-shadow:0 0 13px #03daee8c}
.bj-themed:not(.bj-homepage) .bj-logo small{color:#8bd4e4}
.bj-themed:not(.bj-homepage) .bj-icon-btn,.bj-themed:not(.bj-homepage) .bj-sound-btn{border-color:#4c8099;background:linear-gradient(140deg,#183447,#081421);box-shadow:inset 0 1px #ffffff57,0 4px 10px #0009,0 0 9px #08a4d856}
.bj-themed .bj-kicker{color:#14e4d3;text-shadow:0 0 9px #00dabe70}
.bj-themed .bj-card,.bj-themed .bj-game-card{border:1px solid #277f93;border-radius:26px;background:radial-gradient(ellipse at 0% 0%,#0466694f,transparent 32%),radial-gradient(ellipse at 100% 100%,#07558061,transparent 38%),linear-gradient(160deg,#091b2b,#07111e 66%,#0a1625);box-shadow:inset 0 1px #ffffff35,0 0 14px #02d4dd4d,0 15px 30px #000a}
.bj-themed .bj-game-card:before{height:2px;background:linear-gradient(90deg,#08e4ce,#1293ff,#d62593)}
.bj-themed .bj-primary{border:1px solid #29f5d0;background:linear-gradient(135deg,#06d0a6,#078d82);box-shadow:inset 0 1px #ffffff6b,0 0 13px #00e9b77a,0 8px 15px #0008}
.bj-themed .bj-primary:hover,.bj-themed .bj-primary:focus-visible{filter:brightness(1.13);box-shadow:inset 0 1px #ffffff78,0 0 19px #00e9b7a3}
.bj-themed .bj-form input:not([type=checkbox]),.bj-themed .bj-form select,.bj-themed .bj-form textarea{background:linear-gradient(145deg,#112c40,#081522);border-color:#3c819e;color:#f7fcff;box-shadow:inset 0 1px #ffffff19}
.bj-themed .bj-form input:focus-visible,.bj-themed .bj-form select:focus-visible,.bj-themed .bj-form textarea:focus-visible{outline:2px solid #13dbed;outline-offset:2px}
.bj-themed .bj-muted{color:#a5bacc}
.bj-themed .bj-score-pill{border-color:#12a994;background:linear-gradient(145deg,#0b423e,#06191c);box-shadow:0 0 14px #02d5b05b,inset 0 1px #ffffff36}
.bj-themed .bj-score-pill b{color:#72ffda;text-shadow:0 0 8px #0af0ba76}
.bj-themed .bj-game-head h1,.bj-themed .bj-admin-head h1{color:#fff;text-shadow:0 3px 12px #000a}
:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-cell{border-color:#415a6e;background:linear-gradient(145deg,#162939,#0a1420);box-shadow:inset 0 1px #ffffff20,0 4px 8px #0009}
:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-cell.correct,:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-cell.given{background:linear-gradient(145deg,#ff4469,#d3003c);border-color:#ff6e8c;box-shadow:inset 0 1px #ffffff7a,0 0 14px #f61e5c8c}
:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-cell.present{background:#161a21;border:3px solid #ffda46;color:#ffda46;box-shadow:0 0 12px #ffca3580,inset 0 1px #ffffff26}
:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-cell.absent{background:linear-gradient(145deg,#151e29,#090f19);border-color:#324354;color:#a2b3c2}
:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-cell.typing{border:2px solid #ffda46;background:#292314;box-shadow:0 0 0 3px #ffd33955,0 0 18px #ffc32d90}
:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-key:not(.correct):not(.present):not(.absent):not(.submit):not(.erase):not(.placeholder-key){background:linear-gradient(145deg,#435667,#253340);border-color:#718da1;box-shadow:inset 0 1px #ffffff52,0 4px 0 #0a121b}
:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-key.correct,:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-key.submit{background:linear-gradient(145deg,#ff3a63,#d60039);border-color:#ff6987;box-shadow:inset 0 1px #ffffff79,0 4px 0 #680724,0 0 12px #fc155a75}
:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-key.present{background:linear-gradient(145deg,#353d46,#1c2530);border:3px solid #ffcf33;color:#ffe67a;box-shadow:0 0 11px #ffcd3280,0 4px 0 #0b1018}
:is(.bj-themed .bj-game-shell,.bj-themed .bj-battle-shell) .bj-key.absent{background:#05070b;border-color:#253443;color:#677c8c}
.bj-themed .bj-hint{border-color:#d1a834;background:linear-gradient(135deg,#30240d,#171620);box-shadow:0 0 11px #ffc9364d}
.bj-themed .bj-score-detail{border-color:#a2802f;background:linear-gradient(145deg,#29220f,#101723);box-shadow:0 0 12px #f5ba3740}
.bj-themed .bj-values{color:#dbeef6}
.bj-themed .bj-value-strip span{background:#112333;border-color:#416477}
.bj-themed .bj-player{border-color:#426b84;background:linear-gradient(145deg,#15344a,#0b1726);box-shadow:inset 0 1px #ffffff2a}
.bj-themed .bj-avatar{border-color:#1bd1f1;background:#0f3853;box-shadow:0 0 9px #05cbf173}
.bj-themed .bj-code{color:#fddf73;text-shadow:0 0 13px #f3b1308c}
.bj-themed .bj-reactions button{background:linear-gradient(#18384a,#0d1c2b);border-color:#4f7c95;box-shadow:0 0 8px #139cc254}
.bj-adminpage .bj-admin-launch{border:1px solid #3198b3;background:linear-gradient(145deg,#103850,#0a1623);box-shadow:inset 0 1px #ffffff48,0 0 12px #06bdda65,0 8px 17px #0008;transition:transform .18s,filter .18s}
.bj-adminpage .bj-admin-launch:hover{transform:translateY(-2px);filter:brightness(1.12)}
.bj-adminpage .bj-admin-launch.games{border-color:#df4e93;background:linear-gradient(145deg,#511b46,#111625);box-shadow:0 0 12px #ef2e9870}
.bj-adminpage .bj-admin-launch.words{border-color:#23cbac;background:linear-gradient(145deg,#104e49,#0c1d25);box-shadow:0 0 12px #13d6af61}
.bj-adminpage .bj-admin-launch.sounds{border-color:#efbf4c;background:linear-gradient(145deg,#49320d,#171825);box-shadow:0 0 12px #ffd23e55}
.bj-adminpage .bj-admin-launch.settings{border-color:#4aa8e3;background:linear-gradient(145deg,#143d65,#101929);box-shadow:0 0 12px #0aaeff63}
.bj-adminpage .bj-admin-launch small{color:#c3d7e5}
.bj-adminpage .bj-audio-card,.bj-adminpage .bj-dict-stats>div{border-color:#3c7791;background:linear-gradient(145deg,#133044,#0b1725);box-shadow:inset 0 1px #ffffff23}
.bj-adminpage .bj-table th{color:#8dd9e8}
.bj-adminpage .bj-table td{border-color:#284253}
.bj-adminpage .bj-table-wrap{border-color:#416e84}
.bj-adminpage .bj-badge{background:#16475a;color:#c5f4f5}
.bj-adminpage .bj-login{border-color:#26cadd}
@media(max-width:520px){.bj-themed:not(.bj-homepage) .bj-top{min-height:69px}.bj-livepage .bj-mode-switch{margin-top:5px}.bj-themed .bj-card,.bj-themed .bj-game-card{border-radius:23px}}
@media(prefers-reduced-motion:reduce){:is(.bj-homepage,.bj-livepage) .bj-mode-grid .bj-mode-arrow{animation:none}}

/* Profil et studio d'avatar dans la palette commune. */
.bj-profile-modal{background:#020913ed}
.bj-profile-panel{border-color:#348ca2;background:radial-gradient(ellipse at 0% 0%,#0b526066,transparent 45%),linear-gradient(155deg,#0a2030,#081322);box-shadow:0 0 22px #02bddb6b,0 24px 80px #000e}
.bj-profile-panel input,.bj-profile-panel select{border-color:#477f9b;background:#102c40}
.bj-avatar-studio{background:#0a1d2c;border-color:#358ca5}
.bj-studio-head,.bj-studio-tabs,.bj-studio-bottom{background:linear-gradient(145deg,#12354a,#0a1b2b);border-color:#346780}
.bj-studio-preview{background:radial-gradient(circle at 50% 25%,#165d74,#102638 70%);border-color:#3c8197}
.bj-studio-choice{border-color:#477891;background:linear-gradient(145deg,#1b4359,#10283b)}
.bj-studio-choice:hover{background:#23607a}
.bj-studio-tab.active{background:#13e2c2;color:#042527;box-shadow:0 0 10px #02e1c28b}
.bj-studio-choice.selected{border-color:#16e2cb;background:#144d51;box-shadow:0 0 10px #04e3c184}
.bj-random-btn{border-color:#4ca4c0;background:#19506a}

/* Navigation du calendrier : titre inchangé, mois sélectionnable sans rechargement. */
.bj-homepage .bj-month-center{position:relative;min-width:0;text-align:center}
.bj-homepage .bj-month-center h3{margin:0}
.bj-homepage .bj-month-trigger{display:inline-block;max-width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;text-align:center;text-shadow:inherit;cursor:pointer}
.bj-homepage .bj-month-trigger:focus-visible{outline:2px solid #19d8ec;outline-offset:5px;border-radius:4px}
.bj-homepage .bj-month-picker[hidden],.bj-homepage .bj-calendar-error[hidden]{display:none}
.bj-homepage .bj-month-picker{position:absolute;z-index:25;top:calc(100% + 12px);left:50%;width:min(292px,calc(100vw - 45px));transform:translateX(-50%);padding:12px;border:1px solid #22d6e9;border-radius:17px;background:linear-gradient(155deg,#102b40,#071523);box-shadow:0 0 18px #00d3e68a,0 14px 30px #000c}
.bj-homepage .bj-month-picker-head{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;gap:7px;margin-bottom:10px;color:#fff;font-size:20px}
.bj-homepage .bj-month-year-arrow,.bj-homepage .bj-month-option{border:1px solid #417c96;background:linear-gradient(145deg,#183d52,#0b1c2c);color:#e6f8fb;border-radius:9px;cursor:pointer}
.bj-homepage .bj-month-year-arrow{height:34px;font-size:26px;line-height:1}
.bj-homepage .bj-month-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.bj-homepage .bj-month-option{min-height:37px;font-size:13px;font-weight:800}
.bj-homepage .bj-month-option.selected{border-color:#1af1d1;background:linear-gradient(145deg,#0bc89e,#087f7c);box-shadow:0 0 10px #03e1ba8c;color:#fff}
.bj-homepage .bj-month-option:not(:disabled):hover,.bj-homepage .bj-month-year-arrow:not(:disabled):hover{border-color:#21d8ee;filter:brightness(1.25)}
.bj-homepage .bj-month-option:disabled,.bj-homepage .bj-month-year-arrow:disabled{opacity:.3;cursor:default}
.bj-homepage .bj-month-nav.is-loading{opacity:.75}
.bj-homepage .bj-calendar-error{margin:0 0 8px;color:#ff9fb9;font-size:12px;font-weight:800;text-align:center}

/* Header commun sur toutes les rubriques. */
.bj-themed:not(.bj-homepage) .bj-site-header{height:auto;min-height:112px;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;grid-template-rows:auto auto;column-gap:8px;row-gap:9px;margin-bottom:16px;padding:11px 6px 15px;border:1px solid #0c4662;border-top:0;border-radius:0 0 31px 31px;background:radial-gradient(ellipse at 10% 80%,#650b453d,transparent 30%),radial-gradient(ellipse at 92% 70%,#02396666,transparent 36%),linear-gradient(160deg,#030812,#051623 55%,#080b17);box-shadow:0 16px 33px #000b,0 3px 23px #007bd136;overflow:hidden}
.bj-themed .bj-site-header .bj-icon-btn,.bj-themed .bj-site-header .bj-sound-btn,.bj-themed .bj-site-header .bj-header-spacer{width:39px;height:39px;justify-self:center;align-self:center}
.bj-themed .bj-site-header .bj-header-spacer{display:block}
.bj-themed .bj-site-header .bj-header-title{font-size:clamp(17px,4vw,27px);letter-spacing:-.03em;white-space:nowrap}
.bj-themed .bj-site-header .bj-word-logo{grid-column:1/-1;grid-row:2;display:block;width:100%;line-height:1;letter-spacing:0;min-width:0;perspective:500px}
.bj-themed .bj-site-header .bj-word-row{display:flex;justify-content:center;gap:3px;white-space:nowrap}
.bj-themed .bj-site-header .bj-word-tile{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:0}
.bj-adminpage .bj-login{margin:7vh auto}

/* Codes de la partie, identiques pour le mot du jour et le Live Battle. */
.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-cell{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:950;letter-spacing:-.035em}
.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-key{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:850;letter-spacing:-.025em}
.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-cell.correct,.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-cell.given{background:linear-gradient(145deg,#19edab,#00a97e 80%);border-color:#5afbd0;color:#fff;box-shadow:inset 0 1px #ffffff86,0 0 14px #00e8a9a3,0 5px 11px #0008;text-shadow:0 2px 5px #07503e99}
.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-cell.present{background:linear-gradient(145deg,#17689c,#09345f 85%);border:3px solid #3fc9ff;color:#d8f6ff;box-shadow:inset 0 1px #ffffff42,0 0 14px #17bdfbb2,0 5px 10px #0008;text-shadow:0 0 8px #72dcffba}
.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-cell.present:before{content:none}
.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-key.correct{background:linear-gradient(145deg,#18e6a8,#00a77d);border-color:#59fbd1;color:#fff;box-shadow:inset 0 1px #ffffff87,0 4px 0 #075640,0 0 13px #00e3a498;text-shadow:0 2px 5px #08493e99}
.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-key.present{background:linear-gradient(145deg,#14577f,#0b3155);border:3px solid #3cc6ff;color:#e8faff;box-shadow:inset 0 1px #ffffff45,0 4px 0 #092948,0 0 12px #1dbafb9b}
.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-key.present:before{content:none}
.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-cell.correct:after,.bj-themed :is(.bj-game-shell,.bj-battle-shell) .bj-cell.given:after{content:none}
@media(max-width:520px){.bj-themed:not(.bj-homepage) .bj-site-header{min-height:99px;grid-template-columns:36px minmax(0,1fr) 36px;column-gap:3px;row-gap:7px;padding:7px 2px 10px}.bj-themed .bj-site-header .bj-icon-btn,.bj-themed .bj-site-header .bj-sound-btn,.bj-themed .bj-site-header .bj-header-spacer{width:35px;height:35px}.bj-themed .bj-site-header .bj-header-title{font-size:clamp(15px,4.5vw,21px)}.bj-themed .bj-site-header .bj-word-row{gap:2px}}
.bj-site-header>.bj-icon-btn:nth-child(3),.bj-site-header>.bj-header-spacer:nth-child(3){grid-column:3;grid-row:1}

/* Sélecteur de mode compact : titre et pictogramme sur la même ligne. */
:is(.bj-homepage,.bj-livepage) .bj-mode-grid{gap:10px;margin:12px 0 17px}
:is(.bj-homepage,.bj-livepage) .bj-mode{min-height:100px;display:flex;align-items:center;justify-content:flex-start;padding:14px 18px;line-height:1.12}
:is(.bj-homepage,.bj-livepage) .bj-mode b{display:block;position:relative;z-index:1;max-width:calc(100% - 83px);margin:0;font-size:clamp(17px,3.8vw,25px)}
:is(.bj-homepage,.bj-livepage) .bj-mode .bj-mode-calendar{top:50%;right:clamp(15px,4vw,27px);transform:translateY(-50%) rotate(5deg)}
:is(.bj-homepage,.bj-livepage) .bj-mode .bj-mode-bolt{top:50%;right:clamp(14px,4vw,26px);transform:translateY(-50%)}
@media(max-width:520px){:is(.bj-homepage,.bj-livepage) .bj-mode{min-height:84px;padding:11px 12px}:is(.bj-homepage,.bj-livepage) .bj-mode b{max-width:calc(100% - 49px);font-size:clamp(15px,3.9vw,18px)}:is(.bj-homepage,.bj-livepage) .bj-mode .bj-mode-calendar{top:50%;right:8px;width:43px;height:48px}:is(.bj-homepage,.bj-livepage) .bj-mode .bj-mode-bolt{top:50%;right:7px;width:45px;height:56px}}

/* Titres des modes plus présents, alignés à gauche sur deux lignes. */
:is(.bj-homepage,.bj-livepage) .bj-mode b{max-width:calc(100% - 83px);font-size:clamp(22px,4.5vw,29px);line-height:1.02;letter-spacing:-.035em;text-align:left}
@media(max-width:520px){:is(.bj-homepage,.bj-livepage) .bj-mode b{max-width:calc(100% - 49px);font-size:clamp(19px,5vw,22px)}}

/* Deux colonnes visuelles : texte réellement à gauche, icône à droite. */
:is(.bj-homepage,.bj-livepage) .bj-mode{flex-direction:row;justify-content:flex-start;align-items:center;min-height:100px}
:is(.bj-homepage,.bj-livepage) .bj-mode b{flex:0 1 auto;width:calc(100% - 85px);max-width:none;margin:0;text-align:left;font-size:clamp(24px,4.8vw,31px);line-height:1.02}
@media(max-width:520px){:is(.bj-homepage,.bj-livepage) .bj-mode{min-height:84px}:is(.bj-homepage,.bj-livepage) .bj-mode b{width:calc(100% - 49px);font-size:clamp(16px,6vw,26px);white-space:nowrap}}

/* Navigation entre les modes : header conservé et accent rose pour le Live Battle. */
.bj-themed.bj-livepage .bj-site-header{min-height:115px;margin:0 -9px 16px;padding:17px 6px 16px}
.bj-livepage .bj-site-header .bj-header-title em{color:#ff59b6;text-shadow:0 0 14px #ff3aab8c}
.bj-livepage .bj-site-header .bj-header-title:before,.bj-livepage .bj-site-header .bj-header-title:after{background:linear-gradient(90deg,transparent,#ff4cad);box-shadow:0 0 9px #ff40ad}
.bj-livepage .bj-site-header:before{background:linear-gradient(90deg,transparent,#ec339d,transparent);box-shadow:0 0 12px #eb299b}
.bj-mode-grid.is-loading{pointer-events:none}
.bj-mode-error{margin:0 0 12px;padding:8px 12px;border:1px solid #d44c87;border-radius:10px;background:#3b102a;color:#ffd9e9;font-size:13px;font-weight:800;text-align:center}
@media(max-width:520px){.bj-themed.bj-livepage .bj-site-header{min-height:65px;grid-template-columns:36px minmax(0,1fr) 36px;padding:17px 2px 16px}}

/* Même ancrage vertical dans les deux modes ; rose réservé au Live Battles. */
.bj-livepage .bj-shell{padding-top:0}
.bj-livepage .bj-site-header .bj-word-tile.present{border:2px solid #ff72c3;color:#ff8aca;background:linear-gradient(145deg,#322035,#180e20);text-shadow:0 0 8px #ff6cc8bd;box-shadow:inset 0 1px #ffffff30,0 4px 8px #0008,0 0 15px #ff42ad9e}

/* Classement du Mot du jour : podium et recherche, cartes compactes. */
.bj-homepage .bj-ranking{padding:clamp(17px,4vw,30px);border:1px solid #1fdad6;border-top:4px solid #29e6d5;border-radius:30px;background:radial-gradient(ellipse at 3% 4%,#086e7355,transparent 38%),linear-gradient(160deg,#071b27,#090f1a 85%);box-shadow:inset 0 1px #ffffff69,0 0 18px #00dacf6e,0 18px 35px #000a}
.bj-ranking-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.bj-ranking-head .bj-kicker{color:#22e9cb;letter-spacing:.18em;font-size:clamp(11px,2.7vw,15px)}
.bj-ranking-head h2{margin:8px 0 0;font-size:clamp(24px,6vw,38px);line-height:1.1;letter-spacing:-.045em}
.bj-ranking-crown{color:#ffe368;font-size:38px;text-shadow:0 0 20px #ffcc5e8c}
.bj-ranking-cards{display:grid;gap:10px}
.bj-ranking-cards[hidden]{display:none}
.bj-rank-card{padding:12px;border:1px solid #345f70;border-radius:20px;background:linear-gradient(135deg,#123044,#0b1723 72%);box-shadow:inset 0 1px #ffffff28,0 8px 18px #0005;min-width:0}
.bj-rank-card.rank-1{border-color:#b8ab54;background:radial-gradient(ellipse at 8% 20%,#75621f66,transparent 73%),linear-gradient(145deg,#242618,#111a1f)}
.bj-rank-card.rank-2{border-color:#7999ac}
.bj-rank-card.rank-3{border-color:#a67b6d}
.bj-rank-card.mine{box-shadow:inset 0 1px #ffffff43,0 0 0 1px #32e5d899,0 0 18px #00d9cf5b}
.bj-rank-primary{display:flex;align-items:center;gap:9px;min-width:0}
.bj-rank-medal{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:10px;background:#082d3a;color:#b4ecf4;font-size:19px;font-weight:900}
.bj-rank-card.rank-1 .bj-rank-medal{background:#44431d}
.bj-rank-avatar{display:grid;place-items:center;flex:none;width:35px;height:35px;overflow:hidden;border:2px solid #96e9df;border-radius:50%}
.bj-rank-avatar .bj-avatar-art{width:100%;height:100%}
.bj-rank-identity{min-width:0;flex:1}
.bj-rank-identity strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(16px,4vw,21px);letter-spacing:-.02em}
.bj-rank-identity small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#98b8c5;font-size:11px;margin-top:2px}
.bj-rank-score{text-align:right;flex:none;line-height:1.03}
.bj-rank-score b{display:block;color:#6bffe0;font-size:clamp(20px,5vw,28px);letter-spacing:-.04em}
.bj-rank-card.rank-1 .bj-rank-score b{color:#ffe279}
.bj-rank-score span{color:#a0b7c1;font-size:9px;letter-spacing:.12em;font-weight:800}
.bj-rank-stats{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:10px;padding:7px 10px;border-radius:11px;background:#030d16a8;color:#c9dbe1;font-size:12px}
.bj-rank-stats strong{color:#fff;font-size:14px}.bj-rank-stats small{color:#9db5c0}.bj-rank-stats>b{color:#42ebd0;font-size:15px;white-space:nowrap}
.bj-rank-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;font-size:11px;color:#b8cbd3}
.bj-rank-chips span{padding:5px 9px;border-radius:999px;background:#061420;border:1px solid #264757}.bj-rank-chips span:first-child{color:#ffe494;border-color:#99783669;background:#302b1580}.bj-rank-chips b{color:#fff}
.bj-ranking-separator{text-align:center;color:#6ccfc8;letter-spacing:.4em;font-size:17px;line-height:12px}
.bj-ranking-search{margin-top:16px}.bj-ranking-search label{display:block;margin-bottom:7px;color:#c7e1e6;font-size:12px;font-weight:800}
.bj-ranking-input{display:flex;align-items:center;gap:8px;padding:0 12px;border:1px solid #347889;border-radius:13px;background:#071b29}.bj-ranking-input:focus-within{border-color:#25e9d6;box-shadow:0 0 0 2px #15d9bd33}
.bj-ranking-input span{font-size:26px;color:#4de7d4}.bj-ranking-input input{width:100%;height:42px;border:0;outline:0;color:#fff;background:transparent;font:inherit;font-size:14px}
.bj-ranking-input input::placeholder{color:#819ba9}.bj-ranking-search p{min-height:13px;margin:5px 0;color:#9db9c2;font-size:11px}
.bj-city-field{position:relative}.bj-city-options{position:absolute;z-index:50;top:100%;left:0;right:0;max-height:220px;overflow:auto;padding:5px;border:1px solid #45b8c3;border-radius:10px;background:#0b2330;box-shadow:0 15px 24px #000b}.bj-city-options[hidden]{display:none}
.bj-city-options button{display:block;width:100%;padding:9px 12px;border:0;border-radius:7px;text-align:left;background:transparent;color:#eafcff;font:inherit;cursor:pointer}.bj-city-options button:hover,.bj-city-options button.active{background:#0c655f}
@media(max-width:480px){.bj-homepage .bj-ranking{padding:15px 12px}.bj-rank-card{padding:10px}.bj-rank-primary{gap:6px}.bj-rank-medal{width:29px;height:29px;font-size:17px}.bj-rank-avatar{width:30px;height:30px}.bj-rank-score b{font-size:19px}.bj-rank-stats{font-size:11px;padding:6px 8px}}
.bj-studio-bottom .bj-city-field{grid-column:1;min-width:0}.bj-studio-bottom .bj-city-field input[name="city_name"]{width:100%}.bj-studio-bottom .bj-primary{grid-column:1/-1;grid-row:auto}

/* Le menu ouvre le compte avant l'éditeur d'avatar. */
.bj-profile-panel [data-profile-form][hidden],.bj-profile-summary[hidden],.bj-profile-confirm[hidden]{display:none!important}
.bj-profile-summary{display:grid;justify-items:center;gap:8px;padding:20px 18px 28px;text-align:center}
.bj-profile-avatar-action{display:grid;justify-items:center;gap:8px;border:0;background:transparent;color:#5cead7;font-weight:800;font-size:12px;cursor:pointer}
.bj-profile-avatar-action .bj-avatar-art{width:105px;height:105px;border:3px solid #5be8d5;border-radius:50%;box-shadow:0 0 18px #11dbc175}
.bj-profile-summary>strong{font-size:clamp(22px,6vw,30px);line-height:1.1}
.bj-profile-summary>p{margin:0 0 15px;color:#b6d4dc}
.bj-profile-edit,.bj-profile-delete{width:min(100%,350px);min-height:46px;border-radius:13px;font:inherit;font-size:15px;font-weight:850;cursor:pointer}
.bj-profile-edit{border:1px solid #54e9d5;background:linear-gradient(135deg,#11c59c,#0887a4);color:#fff;box-shadow:0 0 12px #14dcc163}
.bj-profile-delete{margin-top:15px;border:1px solid #b86173;background:#251621;color:#ffb3c5}
.bj-profile-confirm{padding:24px 18px 28px;text-align:center}.bj-profile-confirm h3{margin:0;font-size:23px}.bj-profile-confirm p{max-width:470px;margin:12px auto 22px}
.bj-profile-confirm-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.bj-profile-confirm-actions button{min-height:45px;padding:9px 17px;border-radius:12px;font:inherit;font-weight:800;cursor:pointer}
.bj-profile-confirm-actions>button{border:1px solid #689eab;background:#193c4c;color:#fff}
.bj-profile-confirm-actions form{display:block;margin:0}.bj-profile-delete-final{border:1px solid #ff7990;background:#b91d49;color:#fff}
.bj-studio-bottom .bj-city-field input#bj-city{width:100%}
@media(max-width:700px){.bj-profile-summary{padding:32px 16px}.bj-profile-confirm{padding:28px 16px}}
.bj-account-deleted{max-width:560px;margin:12vh auto;padding:30px;text-align:center;border-color:#2dd9cf}.bj-account-deleted h1{font-size:clamp(26px,6vw,36px)}.bj-account-deleted p{color:#adcad1;margin-bottom:25px}.bj-account-deleted .bj-primary{display:inline-block;text-decoration:none}

/* Retour au calendrier : même flèche épaisse et centrée que la navigation mensuelle. */
.bj-game-shell .bj-site-header .bj-game-back{border:2.5px solid #4c8099;border-radius:50%;display:grid;place-items:center;padding:0}
.bj-game-shell .bj-site-header .bj-game-back svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* v1.3.34 — plateau de jeu sans carte autour de la grille ni du clavier. */
.bj-themed .bj-game-playing .bj-game-card-open,
.bj-themed .bj-battle-playing .bj-battle-game-card{border:0;border-radius:0;padding:0;background:transparent;box-shadow:none;overflow:visible}
.bj-themed .bj-game-playing .bj-game-card-open:before,
.bj-themed .bj-battle-playing .bj-battle-game-card:before{content:none}
@media(max-width:600px){
  .bj-themed .bj-game-playing,.bj-themed .bj-battle-playing{padding-inline:6px}
  .bj-game-playing .bj-game-head{padding-inline:4px}
  .bj-game-playing .bj-progress,.bj-battle-playing .bj-progress{padding-inline:4px}
  .bj-game-playing .bj-grid,.bj-battle-playing .bj-grid{max-width:100%}
  .bj-game-playing .bj-keyboard,.bj-battle-playing .bj-keyboard{max-width:100%}
}

/* Les cases verrouillées restent vertes ; le curseur passe sur la prochaine case libre. */
.bj-battle-playing .bj-cell.typing{border:2px solid #ffd326;background:#1d1b12;color:#fff2ba;box-shadow:0 0 0 3px #ffcf3b55,0 0 19px 5px #ffbb1870,inset 0 0 18px #ffcf2529;transform:scale(1.035)}

/* Administration : commandes visibles et centrées dans la ligne du titre. */
.bj-adminpage .bj-site-header .bj-admin-back,
.bj-adminpage .bj-site-header .bj-admin-logout{width:39px;height:39px;border:2.5px solid #4c8099;border-radius:50%;display:grid;place-items:center;padding:0;color:#f4fcff;visibility:visible;opacity:1}
.bj-adminpage .bj-site-header .bj-admin-back{grid-column:1;grid-row:1}
.bj-adminpage .bj-site-header .bj-admin-logout{grid-column:3;grid-row:1;z-index:3}
.bj-adminpage .bj-site-header .bj-admin-back svg,
.bj-adminpage .bj-site-header .bj-admin-logout svg{display:block;width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}
.bj-adminpage .bj-site-header .bj-admin-logout svg{width:22px;height:22px}
.bj-adminpage .bj-audio-filename{color:#cde8f4;overflow-wrap:anywhere;font-weight:700}
.bj-adminpage .bj-audio-delete-form{margin-top:12px}
.bj-adminpage .bj-audio-delete{border:1px solid #e87988;border-radius:12px;padding:10px 14px;background:#481b2b;color:#ffe7ea;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:520px){.bj-adminpage .bj-site-header .bj-admin-back,.bj-adminpage .bj-site-header .bj-admin-logout{width:35px;height:35px}}

/* v1.3.37 — édition du profil sans ouvrir le studio avatar */
.bj-profile-modal.bj-profile-details-only .bj-studio-layout,.bj-profile-modal.bj-profile-details-only .bj-gender-back{display:none!important}
.bj-profile-modal.bj-profile-details-only .bj-avatar-editor-page{display:block!important}

.bj-win-bonus{display:grid;gap:4px;justify-items:center;margin:-8px auto 20px}.bj-win-bonus b{font-size:16px;color:#f5f7fa}.bj-win-bonus strong{font-size:25px;color:#ffe171}.bj-score-lines h4{margin:14px 0 2px;color:#fff;font-size:14px;letter-spacing:.2px}.bj-score-lines h4:first-child{margin-top:4px}.bj-score-subtotal strong{display:block;margin-top:7px;color:#fff;font-size:15px}

/* v1.3.39 - lisibilite du resultat */
.bj-final .bj-final-score{font-size:clamp(52px,14vw,78px);line-height:1;font-weight:950;margin:22px 0 16px}.bj-final .bj-final-score small{font-size:clamp(11px,2.8vw,15px);vertical-align:middle}.bj-final .bj-final-back{display:flex;width:min(100%,360px);margin:0 auto 22px}.bj-values h2,.bj-values>p{text-align:center}.bj-values>p{margin-left:auto;margin-right:auto}

/* v1.3.40 — joker ×2 sur score total, indisponible au dernier essai */
.bj-double-total{display:block;margin-top:9px;color:#ffe171!important;font-size:17px!important;line-height:1.45}.bj-double-disabled{opacity:.48;cursor:not-allowed}

/* v1.3.41 — résultat du joker : score initial, multiplicateur, puis total mis en avant. */
.bj-final .bj-final-score.bj-final-score-double,.bj-live-hero .bj-final-score.bj-final-score-double{display:grid;justify-items:center;gap:8px;margin:20px auto 18px;font-size:inherit;line-height:1.08}
.bj-double-before{display:flex;align-items:center;justify-content:center;gap:12px;color:#f6f8fa;font-size:clamp(28px,7vw,42px);font-weight:900}
.bj-double-joker{display:inline-flex;align-items:center;padding:6px 11px;border:1px solid #f6cc47;border-radius:12px;background:linear-gradient(135deg,#4f3b06,#251d08);color:#ffe879;font-size:clamp(19px,5vw,27px);box-shadow:0 0 16px #ffce4a55;white-space:nowrap}
.bj-final .bj-double-result,.bj-live-hero .bj-double-result{display:block;color:#fff;font-size:clamp(58px,16vw,86px);font-weight:950;line-height:1;text-shadow:0 0 18px #17d9cd65}
.bj-final .bj-double-result small,.bj-live-hero .bj-double-result small{font-size:clamp(12px,3vw,17px);vertical-align:middle;letter-spacing:2px;color:#b8d8de;text-shadow:none}

/* Live Battles : accueil rose et vert, cartes compactes et classement cohérent avec le quotidien. */
.bj-livepage .bj-live-home,.bj-livepage .bj-live-section,.bj-livepage .bj-live-room,.bj-livepage .bj-battle-ranking{position:relative;border:1px solid #b8418d;border-top:3px solid #fa5abc;border-radius:28px;background:radial-gradient(ellipse at 8% 0%,#60204462,transparent 60%),linear-gradient(155deg,#101728,#090f1c 85%);box-shadow:inset 0 1px #ffffff42,0 0 18px #f0319c4f,0 16px 28px #000a;margin-bottom:18px;padding:clamp(16px,4vw,28px)}
.bj-livepage .bj-live-home .bj-kicker,.bj-livepage .bj-live-section .bj-kicker,.bj-livepage .bj-battle-ranking .bj-kicker,.bj-livepage .bj-live-room .bj-kicker{color:#ff76c2;letter-spacing:.17em;font-weight:900}
.bj-livepage .bj-live-home h1{font-size:clamp(28px,7vw,44px);margin:7px 0 20px;letter-spacing:-.045em}
.bj-live-create-toggle{width:100%;min-height:70px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 18px;border:2px solid #47f5c0;border-radius:19px;background:linear-gradient(120deg,#10c996,#087966);box-shadow:inset 0 1px #ffffff8c,0 0 20px #12deaa81,0 7px 0 #064438;color:white;text-align:left;font-family:inherit;font-size:clamp(17px,4vw,23px);font-weight:900;line-height:1.1;cursor:pointer}
.bj-live-create-toggle span{font-size:32px;font-weight:400;line-height:1}.bj-live-create-toggle:hover{filter:brightness(1.1)}
.bj-live-create-form{display:grid;gap:10px;margin-top:20px;padding:16px;border:1px solid #f662bc69;border-radius:17px;background:#151324b8}.bj-live-create-form[hidden]{display:none}
.bj-live-create-form label{font-weight:800;color:#f8d3eb}.bj-live-create-form select{height:50px;padding:0 13px;border:1px solid #ff78bf;border-radius:12px;background:#191c2e;color:white;font:inherit;font-weight:800}
.bj-livepage .bj-live-create-form .bj-primary,.bj-livepage .bj-live-start{background:linear-gradient(135deg,#f15aa9,#ba1676);border:2px solid #ff8ac9;color:#fff;box-shadow:0 0 18px #ff39a473,inset 0 1px #ffffff91;font-weight:900}
.bj-livepage .bj-live-start:disabled{filter:grayscale(.65);opacity:.52;cursor:default}
.bj-live-section-head h2{margin:7px 0 16px;font-size:clamp(21px,5.5vw,29px);letter-spacing:-.03em}
.bj-live-list-row,.bj-live-history-row{display:flex;align-items:center;gap:11px;min-height:66px;padding:10px 12px;margin:8px 0;border:1px solid #634063;border-radius:16px;background:linear-gradient(120deg,#271827,#0e1827);color:white;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.bj-live-list-row:hover,.bj-live-history-row:hover{transform:translateY(-2px);border-color:#fb74c4;box-shadow:0 0 13px #f64ca465}
.bj-live-list-row>span:nth-child(2),.bj-live-history-row>span:nth-child(2){flex:1;min-width:0}.bj-live-list-row strong,.bj-live-history-row strong{display:block;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bj-live-list-row small,.bj-live-history-row small{display:block;color:#bcaec2;font-size:11px;margin-top:3px}
.bj-live-list-row>b{color:#54f3c3;white-space:nowrap;font-size:12px}.bj-live-history-row>b{font-size:11px;color:#ed8ec5}.bj-live-list-symbol,.bj-live-history-icon{display:grid;place-items:center;flex:none;width:39px;height:39px;border-radius:11px;background:#361c39;font-size:24px}
.bj-live-search-label{display:block;font-size:12px;font-weight:800;color:#d9c1d0;margin:8px 0 7px}.bj-live-search{width:100%;height:45px;padding:0 13px;border:1px solid #87527a;border-radius:12px;background:#0b1523;color:white;font:inherit;outline:none}.bj-live-search:focus{border-color:#ff7cc6;box-shadow:0 0 0 2px #f94bac33}
.bj-live-empty{color:#bac4d4;padding:14px 5px;margin:0}.bj-live-pages{display:flex;align-items:center;justify-content:center;gap:18px;margin:16px 0 0;color:#f4cde4;font-weight:850}.bj-live-pages button{width:40px;height:38px;display:grid;place-items:center;border:1px solid #fd79c7;border-radius:12px;background:#301e35;color:#fff;font-size:27px;cursor:pointer}.bj-live-pages button:disabled{opacity:.28;cursor:default}
.bj-livepage .bj-battle-ranking{border-top-color:#37ebbb;border-color:#b74290;background:radial-gradient(ellipse at 0 0,#85265c66,transparent 55%),linear-gradient(145deg,#1e1529,#090e1a)}
.bj-livepage .bj-battle-ranking .bj-ranking-head .bj-kicker{color:#ff86ca}.bj-livepage .bj-battle-ranking .bj-rank-card{border-color:#a3477f;background:linear-gradient(115deg,#351b37,#111b28)}.bj-livepage .bj-battle-ranking .bj-rank-card.rank-1{box-shadow:0 0 15px #ffb74e67}.bj-livepage .bj-battle-ranking .bj-rank-score b{color:#70f9c5}.bj-livepage .bj-battle-ranking .bj-ranking-input:focus-within{border-color:#ff7ac3;box-shadow:0 0 0 2px #ff59ae36}
.bj-live-room-head{text-align:center}.bj-live-room-head .bj-code{display:block;margin:8px auto 2px;color:#fff;font-size:clamp(30px,8vw,48px);letter-spacing:.12em;text-shadow:0 0 16px #ff59b4}.bj-live-room-head p{margin:0 0 18px;color:#bfc8d5}
.bj-whatsapp{display:flex;align-items:center;justify-content:center;gap:11px;min-height:54px;margin:18px 0 8px;padding:10px 16px;border:2px solid #86ffd6;border-radius:16px;background:linear-gradient(145deg,#29d76d,#0eaa58);color:white;text-decoration:none;box-shadow:inset 0 1px #ffffff9d,0 0 15px #29d96d75;font-size:16px;font-weight:900}.bj-whatsapp svg{width:26px;height:26px;flex:none}.bj-copy-link{display:block;margin:5px auto 16px;padding:7px 12px;border:0;background:none;color:#b4e5d2;text-decoration:underline;cursor:pointer;font:inherit}
.bj-live-room .bj-players{margin:15px 0}.bj-live-avatar-initial{display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,#ed50ae,#a42a82);font-weight:950}.bj-live-result{text-align:center}.bj-live-result h2{font-size:clamp(26px,7vw,40px)}.bj-live-winner{font-size:clamp(17px,4vw,24px);font-weight:900;color:#7efbd0;text-shadow:0 0 13px #1be9a18f}
.bj-livepage .bj-battle-shell .bj-cell.present{border:3px solid #fa75c8;color:#ffd6f0;background:linear-gradient(145deg,#743164,#341d40);box-shadow:inset 0 1px #ffffff55,0 0 13px #fa4bacaa;text-shadow:0 0 8px #ff9ad4}
.bj-livepage .bj-battle-shell .bj-key.present{border:3px solid #fb72c0;color:#ffe2f1;background:linear-gradient(145deg,#7d315c,#351d3e);box-shadow:inset 0 1px #ffffff66,0 4px 0 #32142b,0 0 13px #f64caf9b}
.bj-live-overlay{position:fixed;z-index:20000;inset:0;display:grid;place-items:center;padding:18px;background:radial-gradient(circle at 50% 43%,#8a1e6580,#090812ec 68%);backdrop-filter:blur(15px);color:#fff;text-align:center;overflow:hidden}
.bj-live-overlay-inner{position:relative;display:grid;justify-items:center;align-content:center;gap:15px;width:min(100%,560px);min-height:330px;padding:25px 14px}.bj-live-overlay-bolt{font-size:86px;filter:drop-shadow(0 0 22px #ffd000);animation:bjLivePulse .6s ease-in-out infinite alternate}.bj-live-overlay.countdown p{font-size:clamp(20px,6vw,35px);font-weight:950;letter-spacing:.1em;color:#ff83c7;text-shadow:0 0 16px #f934a2}.bj-live-count{font-size:clamp(110px,30vw,200px);line-height:.9;color:#7efbd5;text-shadow:0 0 22px #35ebbd,0 0 55px #12cba7;animation:bjLivePulse .42s ease-in-out infinite alternate}.bj-live-overlay-sound{position:relative;z-index:2;min-height:42px;padding:8px 15px;border:1px solid #baffed;border-radius:99px;background:#0d2330;color:white;font:inherit;font-size:14px;font-weight:800;cursor:pointer}
.bj-live-faces{font-size:clamp(55px,17vw,110px);white-space:nowrap;animation:bjLaugh .48s ease-in-out infinite alternate}.bj-live-humiliation-title{position:relative;z-index:1;font-size:clamp(34px,9vw,72px);letter-spacing:-.045em;color:#fff;text-shadow:0 0 12px #ff64c9,0 0 30px #ff2eac,0 0 50px #f92483;animation:bjLivePulse .7s ease-in-out infinite alternate}.bj-live-overlay.humiliation p{font-weight:900;font-size:20px;color:#99fbd7}
.bj-live-confetti{position:absolute;inset:-70px -35px;pointer-events:none}.bj-live-confetti i{position:absolute;left:calc((var(--i) * 37% + 9%) / 1.8);top:-20px;width:8px;height:16px;border-radius:3px;background:hsl(calc(var(--i)*37) 95% 63%);animation:bjConfetti calc(1.9s + var(--i)*.037s) linear infinite;animation-delay:calc(var(--i)*-.13s)}
@keyframes bjLivePulse{from{transform:scale(.96)}to{transform:scale(1.055)}}@keyframes bjLaugh{from{transform:rotate(-5deg) translateY(-8px)}to{transform:rotate(5deg) translateY(7px)}}@keyframes bjConfetti{to{transform:translate(calc((var(--i) - 16)*5px),560px) rotate(780deg);opacity:0}}
@media(max-width:520px){.bj-livepage .bj-live-home,.bj-livepage .bj-live-section,.bj-livepage .bj-live-room,.bj-livepage .bj-battle-ranking{padding:16px 12px;border-radius:23px}.bj-live-list-row,.bj-live-history-row{gap:8px;padding:9px}.bj-live-history-row>b{max-width:56px;overflow:hidden;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){.bj-live-overlay-bolt,.bj-live-count,.bj-live-faces,.bj-live-humiliation-title,.bj-live-confetti i{animation:none}}

.bj-live-audio-unlock{min-height:42px;padding:8px 14px;border:2px solid #70ffd0;border-radius:99px;background:#13835d;color:#fff;font:inherit;font-weight:900;cursor:pointer}.bj-live-audio-unlock[hidden]{display:none}
.bj-live-join-form{display:flex;gap:8px;margin-top:15px}.bj-live-join-form input{flex:1;min-width:0;height:44px;padding:0 12px;border:1px solid #a55b92;border-radius:12px;background:#0c1723;color:#fff;font:inherit;text-transform:uppercase;letter-spacing:.07em}.bj-live-join-form button{padding:0 12px;border:1px solid #7ff6d1;border-radius:12px;background:#116d58;color:#fff;font:inherit;font-weight:900;cursor:pointer}

/* La salle d’attente garde une identité verte sans modifier l’accueil Live. */
.bj-livepage .bj-live-room{border-color:#168e79;border-top-color:#4af2c4;background:radial-gradient(ellipse at 8% 0%,#116e5c52,transparent 60%),linear-gradient(155deg,#101728,#090f1c 85%);box-shadow:inset 0 1px #ffffff42,0 0 18px #13dbad4f,0 16px 28px #000a}
.bj-livepage .bj-live-room .bj-kicker{color:#4cf1c5}.bj-livepage .bj-live-room .bj-live-start{background:linear-gradient(135deg,#16ce9a,#087e69);border-color:#72f6d0;box-shadow:0 0 18px #13d5a075,inset 0 1px #ffffff91}.bj-livepage .bj-live-room .bj-code{text-shadow:0 0 16px #31e6b5}
.bj-test-bot-option{display:flex;align-items:center;gap:10px;font-size:13px;line-height:1.35;color:#d6f4e9!important}.bj-test-bot-option input{width:20px;height:20px;accent-color:#13c997;flex:none}.bj-battle-progress{width:min(100%,560px);margin:15px auto 10px}
.bj-reaction-overlay{position:fixed;inset:0;z-index:21000;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px;padding:24px;background:radial-gradient(circle at center,#174c46ed,#070d18f7 70%);backdrop-filter:blur(12px);text-align:center;animation:bjReactionIn .28s ease-out}.bj-reaction-overlay>strong{color:#fff;font-size:clamp(24px,6vw,38px);text-shadow:0 0 18px #33e5bc}.bj-reaction-cards{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;width:min(100%,600px)}.bj-reaction-card{display:grid;justify-items:center;gap:10px;min-width:130px;flex:1;padding:20px 12px;border:2px solid #48eec4;border-radius:24px;background:linear-gradient(155deg,#163938,#101927);box-shadow:0 0 20px #22d6a360}.bj-reaction-face{font-size:clamp(60px,17vw,112px);line-height:1;animation:bjReactionBounce .8s ease-in-out infinite alternate}.bj-reaction-card b{max-width:100%;overflow-wrap:anywhere;font-size:clamp(14px,3.6vw,21px)}.bj-reaction-close{position:absolute;top:22px;right:22px;width:44px;height:44px;border:1px solid #82f8db;border-radius:50%;background:#133b3b;color:#fff;font-size:29px;cursor:pointer}@keyframes bjReactionIn{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes bjReactionBounce{to{transform:translateY(-9px) rotate(5deg)}}@media(prefers-reduced-motion:reduce){.bj-reaction-overlay,.bj-reaction-face{animation:none}}
.bj-opponent-progress{grid-column:1/-1;display:grid;gap:5px;padding:5px 2px 1px}.bj-opponent-progress>small{color:#9ee9d2;font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.bj-opponent-row{display:flex;gap:4px;min-height:13px}.bj-opponent-cell{width:clamp(11px,2.6vw,17px);aspect-ratio:1;border:1px solid #344557;border-radius:4px;background:#101722;box-shadow:inset 0 1px #ffffff15}.bj-opponent-cell.correct{border-color:#70fbd1;background:linear-gradient(145deg,#19d89c,#07916f);box-shadow:0 0 7px #18dd9b88}.bj-opponent-cell.present{border:2px solid #fc8bd0;background:#3e2040;box-shadow:0 0 6px #f06bb288}.bj-opponent-cell.absent{background:#090e16;border-color:#263039}
/* Les réactions flottent sur le résultat encore visible. */
.bj-reaction-overlay{gap:15px;background:#03131d66;backdrop-filter:blur(3px);pointer-events:none}.bj-reaction-overlay>strong{padding:9px 19px;border-radius:16px;background:#09232cdd;box-shadow:0 0 18px #24d9ae66}.bj-reaction-cards{width:min(100%,570px)}.bj-reaction-card{min-width:110px;background:linear-gradient(155deg,#173d3cea,#101927f0);box-shadow:0 0 18px #21d4a483;pointer-events:auto}.bj-reaction-close{pointer-events:auto}.bj-reaction-error{position:fixed;z-index:22000;top:max(14px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);width:min(90vw,480px);padding:12px 16px;border:1px solid #ff8f9c;border-radius:14px;background:#431a29ef;color:#fff;text-align:center;font-weight:800;box-shadow:0 8px 22px #000a}
/* Résultat Live et écran d’humiliation. */
.bj-live-home-back{display:flex;align-items:center;justify-content:center;width:100%;min-height:64px;margin:26px auto 4px;padding:12px 18px;border:2px solid #80ffdc;border-radius:18px;background:linear-gradient(130deg,#16d3ac,#087f6d);color:#fff;text-decoration:none;text-align:center;font-size:clamp(15px,4.2vw,21px);font-weight:950;letter-spacing:.02em;box-shadow:inset 0 1px #ffffff9c,0 0 22px #0edca881}.bj-live-home-back:focus-visible{outline:3px solid #fff;outline-offset:4px}
.bj-live-final-score{margin:20px auto}.bj-live-overlay.humiliation{z-index:23000;cursor:pointer}.bj-live-humiliation-close{position:absolute;z-index:5;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));display:grid;place-items:center;width:48px;height:48px;padding:0;border:2px solid #ffb2e1;border-radius:50%;background:#3d183ae8;color:#fff;font:inherit;font-size:34px;line-height:1;box-shadow:0 0 16px #fa4eaa88;cursor:pointer}.bj-live-humiliation-close:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* Toutes les zones du panneau des réactions ferment la surimpression. */
.bj-reaction-overlay{pointer-events:auto;cursor:pointer}
/* Liste Live réunie, salle annulée et actions d'administration. */
.bj-live-list-row.is-full{opacity:.67;cursor:default}.bj-live-list-row.is-full:hover{transform:none;border-color:#634063;box-shadow:none}.bj-live-list-row.is-full>b{color:#bcc4d0}
.bj-live-cancelled{text-align:center;padding:clamp(22px,6vw,44px)!important;border-color:#39d8b2!important}.bj-live-cancelled h1{font-size:clamp(26px,7vw,43px);line-height:1.08;margin:15px 0}.bj-live-cancelled p{color:#c2d5d3;line-height:1.5;margin:0 0 24px}
.bj-admin-battle-actions{display:flex;align-items:center;gap:8px}.bj-admin-battle-actions form{margin:0}.bj-admin-battle-stop{padding:8px 10px;border:1px solid #62e8bf;border-radius:10px;background:#0e6955;color:#fff;font:inherit;font-weight:800;cursor:pointer}.bj-admin-battle-stop:hover{filter:brightness(1.15)}

/* Mode avion : commandes du header, indication persistante et dialogue compact. */
.bj-site-header .bj-header-actions{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:5px;z-index:2}
.bj-site-header .bj-header-actions .bj-sound-btn{grid-column:auto;grid-row:auto;width:36px;height:36px;margin:0;flex:none}
.bj-airplane-btn{width:36px;height:36px;display:grid;place-items:center;flex:none;border:2px solid #62b6d4;border-radius:50%;background:linear-gradient(145deg,#19394b,#0a1622);color:#d9faff;font-size:21px;line-height:1;box-shadow:inset 0 1px #ffffff45,0 0 10px #00d1f85a;cursor:pointer}
.bj-airplane-btn.is-active{color:#041419;border-color:#59ffcf;background:linear-gradient(135deg,#7dffe0,#02b887);box-shadow:0 0 20px #17e9babc,0 0 0 3px #15e3ab30}
.bj-offline-banner,.bj-offline-game-status{margin:8px 4px 14px;padding:9px 13px;border:1px solid #20ddb9;border-radius:13px;background:linear-gradient(100deg,#063d3f,#062833);color:#d6fff6;text-align:center;font-weight:750;box-shadow:0 0 15px #06cdb34b}
.bj-offline-pending{border-color:#ffe473;color:#fff2bf}
.bj-airplane-modal[hidden]{display:none}
.bj-airplane-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:16px;background:#020914d9;backdrop-filter:blur(7px)}
.bj-airplane-dialog{position:relative;width:min(100%,440px);padding:28px 23px 24px;border:1px solid #46cbf1;border-radius:25px;background:radial-gradient(circle at top,#0d3a4a,#081b2a 65%,#080f20);color:#eefcff;box-shadow:0 0 35px #00aadd5c,0 20px 60px #000c;text-align:center}
.bj-airplane-symbol{display:block;color:#52e9ff;font-size:42px;line-height:1.2}
.bj-airplane-dialog h2{margin:4px 0 13px;font-size:28px}
.bj-airplane-dialog p{line-height:1.45;color:#d8e9ee}
.bj-airplane-dialog .bj-airplane-note{font-size:13px;color:#a9cad5}
.bj-airplane-message{min-height:1.5em;color:#9dffdd!important;font-weight:750}
.bj-airplane-close{position:absolute;right:11px;top:9px;width:36px;height:36px;border:1px solid #6995a4;border-radius:50%;background:#102536;color:white;font-size:27px;cursor:pointer}
.bj-airplane-actions{display:grid;gap:9px}
.bj-airplane-actions .bj-primary{width:100%;padding:12px;font-size:15px;border:0;cursor:pointer}
.bj-airplane-actions [hidden]{display:none}
.bj-airplane-secondary{width:100%;padding:10px;border:1px solid #69bed4;border-radius:13px;background:#0d2231;color:white;font-weight:750;cursor:pointer}
.bj-airplane-dialog button:disabled{opacity:.5;cursor:wait}
.bj-offline-game-status{margin-bottom:18px}
@media(max-width:520px){.bj-homepage .bj-site-header{grid-template-columns:36px minmax(0,1fr) 78px;column-gap:2px}.bj-site-header .bj-header-actions{gap:3px}.bj-site-header .bj-header-actions .bj-sound-btn,.bj-airplane-btn{width:34px;height:34px}.bj-homepage .bj-site-header .bj-header-title{font-size:clamp(15px,4.1vw,20px)}.bj-homepage .bj-site-header .bj-header-title:before,.bj-homepage .bj-site-header .bj-header-title:after{width:clamp(4px,2vw,10px);margin:0 3px}}
.bj-livepage .bj-airplane-btn,.bj-livepage .bj-offline-banner{display:none}
/* L’avion au repos reste repérable sans signaler un mode actif. */
.bj-airplane-btn:not(.is-active){opacity:.46;filter:saturate(.3);box-shadow:inset 0 1px #ffffff28,0 3px 8px #0008;transition:opacity .2s,filter .2s,box-shadow .2s}
.bj-airplane-btn:not(.is-active):hover,.bj-airplane-btn:not(.is-active):focus-visible{opacity:.85;filter:none}
.bj-airplane-btn.is-active{opacity:1;filter:none;box-shadow:0 0 22px #17e9bade,0 0 0 4px #15e3ab46}
.bj-offline-banner{display:block;width:calc(100% - 8px);font:inherit;cursor:default}
.bj-offline-banner[hidden]{display:none}
.bj-offline-banner.bj-offline-action{cursor:pointer;animation:bjOfflineNotice 2.3s ease-in-out infinite}
.bj-offline-banner.bj-offline-action:focus-visible{outline:3px solid #fff;outline-offset:3px}
@keyframes bjOfflineNotice{50%{box-shadow:0 0 22px #ffe4739c}}
/* Deux étapes nettes : réglage du téléphone, puis synchronisation volontaire. */
.bj-airplane-actions .bj-phone-mode{display:flex;align-items:center;justify-content:center;width:100%;min-height:54px;padding:12px 15px;border:2px solid #54ceea;border-radius:15px;background:linear-gradient(135deg,#174c63,#0b2a3b);color:#f3ffff;text-decoration:none;text-align:center;font:inherit;font-weight:850;box-shadow:inset 0 1px #ffffff55,0 0 15px #1bb6d95e;cursor:pointer}
.bj-airplane-actions .bj-phone-mode[hidden]{display:none}
.bj-airplane-actions .bj-phone-mode:focus-visible{outline:3px solid #fff;outline-offset:3px}
.bj-airplane-dialog .bj-airplane-instructions{padding:11px 13px;border:1px solid #48bad3;border-radius:13px;background:#0b3041;color:#ddf9ff;font-size:14px;text-align:left}
.bj-airplane-dialog .bj-airplane-instructions[hidden]{display:none}
.bj-airplane-actions .bj-airplane-secondary{border:0;background:transparent;color:#a9c7ce;text-decoration:underline;font-size:13px;font-weight:650;box-shadow:none;opacity:.72}

/* Rappel du joker oublié en fin de partie. */
.bj-missed-joker{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:9px;width:min(100%,530px);margin:0 auto 21px;padding:11px 14px;border:1px solid #dcb84b8a;border-radius:17px;background:linear-gradient(135deg,#3b2b0cba,#17170fcf);box-shadow:inset 0 1px #ffef9b28,0 0 17px #f6cd3b26;color:#fff2c6;font-size:clamp(14px,3.8vw,18px);font-weight:800;line-height:1.35}.bj-missed-joker .bj-double-joker{font-size:21px;padding:4px 9px}


/* v1.3.68 — Live Battles à dominante verte */
:is(.bj-homepage,.bj-livepage) .bj-mode.live{border:2px solid #38efc7;background:radial-gradient(ellipse at 0% 0%,#11886b 0%,transparent 65%),linear-gradient(135deg,#0f2f2b,#09111d 75%);box-shadow:inset 0 1px #ffffff82,0 0 12px #27e2bb7d,0 11px 23px #0009}
:is(.bj-homepage,.bj-livepage) .bj-mode.live .bj-mode-arrow{background:linear-gradient(145deg,#0f735d,#23d4a7);border-color:#76ffd6;box-shadow:0 0 14px #22dfb98a}
.bj-livepage .bj-site-header .bj-header-title em{color:#62ffd3;text-shadow:0 0 14px #27dfae8c}
.bj-livepage .bj-site-header .bj-header-title:before,.bj-livepage .bj-site-header .bj-header-title:after{background:linear-gradient(90deg,transparent,#46f2c4);box-shadow:0 0 9px #30dfb2}
.bj-livepage .bj-site-header:before{background:linear-gradient(90deg,transparent,#29d8a6,transparent);box-shadow:0 0 12px #22ca98}
.bj-livepage .bj-live-home,.bj-livepage .bj-live-section,.bj-livepage .bj-battle-ranking{border:1px solid #1a8b73;border-top:3px solid #4df2c5;border-radius:28px;background:radial-gradient(ellipse at 8% 0%,#146f5a59,transparent 60%),linear-gradient(155deg,#101728,#090f1c 85%);box-shadow:inset 0 1px #ffffff42,0 0 18px #12d7a74f,0 16px 28px #000a}
.bj-livepage .bj-live-home .bj-kicker,.bj-livepage .bj-live-section .bj-kicker,.bj-livepage .bj-battle-ranking .bj-kicker,.bj-livepage .bj-live-room .bj-kicker{color:#72ffd6}
.bj-live-create-form{border:1px solid #3ac9a47a;background:#10211dbd}
.bj-live-create-form label{color:#d6fff1}
.bj-live-create-form select{border:1px solid #63edca;background:#121d29}
.bj-livepage .bj-live-create-form .bj-primary,.bj-livepage .bj-live-start{background:linear-gradient(135deg,#18cf9c,#0b7f69);border:2px solid #7effda;color:#fff;box-shadow:0 0 18px #19d8a873,inset 0 1px #ffffff91;font-weight:900}
.bj-live-list-row,.bj-live-history-row{border:1px solid #24524d;background:linear-gradient(120deg,#172a27,#0e1827)}
.bj-live-list-row:hover,.bj-live-history-row:hover{border-color:#53f2c9;box-shadow:0 0 13px #28d6a565}
.bj-live-list-row small,.bj-live-history-row small{color:#bad0ca}
.bj-live-list-row>b{color:#6cffd8}
.bj-live-history-row>b{color:#ff9fd2}
.bj-live-list-symbol,.bj-live-history-icon{background:#173c39}
.bj-live-search-label{color:#c8ebe0}
.bj-live-search{border:1px solid #3d8676;background:#0b1523}
.bj-live-search:focus{border-color:#58f1c9;box-shadow:0 0 0 2px #3ae1b133}
.bj-live-pages{color:#cffff0}
.bj-live-pages button{border:1px solid #57efc6;background:#143934}
.bj-livepage .bj-battle-ranking{border-top-color:#4bf0c4;border-color:#23886f;background:radial-gradient(ellipse at 0 0,#116c5754,transparent 55%),linear-gradient(145deg,#15242a,#090e1a)}
.bj-livepage .bj-battle-ranking .bj-ranking-head .bj-kicker{color:#78ffd9}
.bj-livepage .bj-battle-ranking .bj-rank-card{border-color:#2d7768;background:linear-gradient(115deg,#18302d,#111b28)}
.bj-livepage .bj-battle-ranking .bj-rank-score b{color:#78ffd5}
.bj-livepage .bj-battle-ranking .bj-ranking-input:focus-within{border-color:#56f0c8;box-shadow:0 0 0 2px #38e1b636}
.bj-live-room-head .bj-code{color:#eafff8;text-shadow:0 0 16px #2be0b0}
.bj-live-overlay{background:radial-gradient(circle at 50% 43%,#0f70598a,#090812ec 68%)}
.bj-live-overlay.countdown p{color:#7effd9;text-shadow:0 0 16px #2dd6aa}
.bj-live-overlay-sound{border:1px solid #9effe0;background:#0e2828}
.bj-live-join-form input{border:1px solid #4c917f;background:#0c1723}
.bj-live-join-form button{border:1px solid #7ff6d1;background:#116d58}
.bj-live-list-row.is-full:hover{border-color:#24524d;box-shadow:none}
