:root{
  --wanadoo-blue:#1352a2;--wanadoo-deep:#07356f;--wanadoo-sky:#d8ecff;--wanadoo-orange:#ff7a00;
  --ink:#17314f;--muted:#66758a;--line:#c8d9ea;--paper:#eef5fb;--white:#fff;
  --danger:#c62828;--success:#087f5b;--warning:#b86b00;--safe:env(safe-area-inset-bottom)
}
*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:Verdana,Arial,sans-serif;color:var(--ink);background:linear-gradient(135deg,#cbe6ff,#eff7ff 44%,#d8efff);overflow:hidden}
button,a,textarea,input{font:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid rgba(255,122,0,.42);outline-offset:2px}[hidden]{display:none!important}
.chat-app{height:100%;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}
.chat-topbar{min-height:78px;display:grid;grid-template-columns:auto minmax(180px,1fr) auto auto;align-items:center;gap:18px;padding:10px 18px;background:linear-gradient(180deg,#fff,#e9f4ff);border-bottom:3px solid var(--wanadoo-blue);box-shadow:0 3px 14px rgba(7,53,111,.18);z-index:30}
.chat-brand{display:block}.chat-brand img{display:block;width:190px;max-height:56px;object-fit:contain}.chat-title{display:flex;flex-direction:column;min-width:0}.chat-title-kicker{font-size:.66rem;color:var(--wanadoo-orange);font-weight:800;text-transform:uppercase;letter-spacing:.1em}.chat-title strong{font-size:1.22rem;color:var(--wanadoo-deep)}.chat-title small{margin-top:2px;color:var(--muted);font-size:.7rem}
.chat-status{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#fff;border:1px solid var(--line);border-radius:8px;font-size:.72rem;font-weight:700;white-space:nowrap}.status-dot{width:9px;height:9px;border-radius:50%;background:#9ca8b5;box-shadow:0 0 0 4px #edf0f3}.chat-status.connected .status-dot{background:#19a974;box-shadow:0 0 0 4px #dcf8ed}.chat-status.demo .status-dot{background:var(--wanadoo-orange);box-shadow:0 0 0 4px #fff1df}.chat-status.error .status-dot{background:#d83b3b;box-shadow:0 0 0 4px #ffe3e3}
.return-site{padding:10px 13px;border-radius:8px;color:#fff;background:linear-gradient(#2867b8,#0d4389);border:1px solid #07356f;text-decoration:none;font-size:.75rem;font-weight:700;box-shadow:inset 0 1px rgba(255,255,255,.35)}
.chat-shell{flex:1;min-height:0;display:grid;grid-template-columns:250px minmax(0,1fr) 255px;gap:8px;padding:8px}.rooms-panel,.users-panel,.conversation-panel{min-height:0;background:rgba(255,255,255,.97);border:1px solid #a7c2dd;border-radius:9px;box-shadow:0 5px 18px rgba(7,53,111,.12)}.rooms-panel,.users-panel{display:flex;flex-direction:column;overflow:hidden}.conversation-panel{display:flex;flex-direction:column;overflow:hidden}
.panel-heading{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:11px 13px;color:#fff;background:linear-gradient(180deg,#2468b8,#0d478e);border-bottom:1px solid #06366f}.panel-heading span,.panel-heading strong{display:block}.panel-heading span{font-size:.61rem;text-transform:uppercase;letter-spacing:.08em;opacity:.78}.panel-heading strong{margin-top:2px;font-size:.84rem}.panel-heading b{font-size:inherit}
.room-list{display:block;padding:8px;overflow:auto}.room-group-title{display:block;margin:9px 8px 5px;color:#7a8999;font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.room-group-title:first-child{margin-top:2px}.room-button{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;margin-bottom:4px;padding:9px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.room-button:hover{background:#edf6ff;border-color:#c5def4}.room-button.active{color:#fff;background:linear-gradient(180deg,#2b70bf,#115199);border-color:#0a3c77;box-shadow:inset 0 1px rgba(255,255,255,.25)}.room-hash{width:34px;height:34px;display:grid;place-items:center;border-radius:6px;background:#dcecff;color:var(--wanadoo-deep);font-weight:900}.room-button.active .room-hash{background:#fff;color:var(--wanadoo-blue)}.room-button strong,.room-button small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.room-button strong{font-size:.75rem}.room-button small{margin-top:2px;color:var(--muted);font-size:.59rem}.room-button.active small{color:#dbeaff}.room-dot{width:7px;height:7px;border-radius:50%;background:#18a676}.room-button[data-game="true"] .room-dot{background:var(--wanadoo-orange)}
.retro-card,.rules-mini{margin:0 10px 10px;padding:12px;border:1px solid #bfd5e9;border-radius:7px;background:linear-gradient(135deg,#fff,#eef7ff)}.retro-card{margin-top:auto}.retro-badge{display:inline-flex;padding:4px 6px;color:#fff;background:var(--wanadoo-orange);border-radius:4px;font-size:.58rem;font-weight:900}.retro-card strong,.rules-mini strong{display:block;margin-top:7px;font-size:.73rem}.retro-card p,.rules-mini p{margin:5px 0 0;color:var(--muted);font-size:.62rem;line-height:1.45}.rules-mini button{margin-top:8px;padding:0;border:0;color:var(--wanadoo-blue);background:none;font-size:.64rem;font-weight:800;text-decoration:underline;cursor:pointer}
.conversation-head{min-height:66px;display:flex;align-items:center;gap:11px;padding:9px 12px;background:linear-gradient(180deg,#fff,#e7f2fd);border-bottom:1px solid #b9d0e5}.room-symbol{width:40px;height:40px;display:grid;place-items:center;border-radius:7px;color:#fff;background:linear-gradient(145deg,var(--wanadoo-orange),#dc5900);font-size:1.25rem;font-weight:900;box-shadow:inset 0 1px rgba(255,255,255,.35)}.active-room-copy{min-width:0;flex:1}.active-room-copy strong,.active-room-copy span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-room-copy strong{font-size:.9rem;color:var(--wanadoo-deep)}.active-room-copy span{margin-top:3px;color:var(--muted);font-size:.64rem}.head-actions{display:flex;align-items:center;gap:7px}.sound-toggle,.online-toggle{padding:8px 10px;border:1px solid #b5cce1;border-radius:6px;background:#fff;color:var(--wanadoo-deep);font-size:.67rem;font-weight:700;cursor:pointer}
.notice-bar{display:flex;align-items:flex-start;gap:8px;padding:7px 12px;color:#654400;background:#fff7d6;border-bottom:1px solid #e8d388}.notice-bar p{margin:0;font-size:.62rem;line-height:1.45}.notice-bar b{color:#174b91}
.messages{flex:1;min-height:110px;overflow:auto;padding:14px 15px;background:#f9fcff;background-image:linear-gradient(rgba(20,82,160,.025) 1px,transparent 1px);background-size:100% 30px;scroll-behavior:smooth}.loading-messages,.empty-messages{margin:25px auto;padding:15px;width:min(430px,90%);text-align:center;color:var(--muted);background:#fff;border:1px dashed #b5cde3;border-radius:8px;font-size:.72rem}.message{margin-bottom:12px}.message-bubble{min-width:0}.message-meta{display:flex;align-items:center;gap:7px;margin-bottom:3px;flex-wrap:wrap}.message-meta strong{font-size:.71rem;color:var(--wanadoo-deep)}.message-meta time{font-size:.59rem;color:#8290a0}.message-rank{font-size:.82rem;font-weight:900}.message-rank.operator{color:#c93131}.message-rank.voice{color:#13794d}.message-role{padding:2px 5px;border-radius:4px;background:#e6eef8;color:#5a6d82;font-size:.52rem;font-weight:800;text-transform:uppercase}.message-body{display:inline-block;max-width:100%;padding:8px 10px;border:1px solid #c3d7ea;border-radius:4px 9px 9px 9px;background:#fff;box-shadow:0 2px 5px rgba(7,53,111,.05);font-size:.73rem;line-height:1.48;overflow-wrap:anywhere;white-space:pre-wrap}.message.mine .message-body{border-color:#f2bc7d;background:#fff9f0}.message-actions{margin-top:3px}.message-actions button{padding:0;border:0;color:#8290a0;background:none;font-size:.55rem;text-decoration:underline;cursor:pointer}.system-message{margin:8px auto 12px;padding:7px 10px;width:max-content;max-width:88%;border:1px solid #c9dceb;border-radius:999px;color:#587086;background:#edf6ff;font-size:.61rem;text-align:center}
.composer{padding:9px 11px calc(9px + var(--safe));background:linear-gradient(180deg,#eaf4fd,#d6e9f9);border-top:1px solid #aec9df}.composer-tools{display:flex;align-items:center;gap:5px;margin-bottom:6px}.composer-tools button{width:29px;height:26px;border:1px solid #b6ccdf;border-radius:5px;background:#fff;cursor:pointer}.composer-tools span{margin-left:auto;color:var(--muted);font-size:.58rem}.composer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.composer textarea{min-height:44px;max-height:120px;resize:none;padding:11px 12px;border:1px solid #8eb2d2;border-radius:7px;background:#fff;color:var(--ink);font-family:Verdana,Arial,sans-serif;font-size:.74rem;line-height:1.4;outline:none}.composer textarea:focus{border-color:var(--wanadoo-orange);box-shadow:0 0 0 3px rgba(255,122,0,.14)}.send-button{min-width:96px;border:1px solid #0a3c77;border-radius:7px;color:#fff;background:linear-gradient(180deg,#2d77c6,#0d4b92);font-weight:800;font-size:.74rem;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.35)}.send-button:disabled{opacity:.55;cursor:wait}.composer-feedback{min-height:0;margin:5px 0 0;color:var(--danger);font-size:.61rem}.composer-feedback:empty{display:none}
/* Zone de jeux */
.game-zone{margin:9px 11px 0;border:1px solid #9fc0df;border-radius:10px;background:linear-gradient(145deg,#f4faff,#fff);box-shadow:0 5px 15px rgba(7,53,111,.1);overflow:hidden}.game-topline{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;background:linear-gradient(180deg,#f8fcff,#e8f3fd);border-bottom:1px solid #c6dbed}.game-heading{display:flex;align-items:center;gap:10px;min-width:0}.game-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:8px;color:#fff;background:linear-gradient(145deg,#ff9827,#df6400);font-size:1.25rem}.game-kicker{display:block;color:#d65c00;font-size:.55rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.game-heading strong{display:block;margin-top:2px;color:var(--wanadoo-deep);font-size:.82rem}.game-heading small{display:block;margin-top:2px;color:var(--muted);font-size:.59rem}.game-stats{display:flex;gap:6px}.game-stats>div{min-width:54px;padding:5px 7px;text-align:center;border:1px solid #c5d8e9;border-radius:6px;background:#fff}.game-stats span,.game-stats strong{display:block}.game-stats span{font-size:.48rem;color:var(--muted);text-transform:uppercase}.game-stats strong{margin-top:2px;color:var(--wanadoo-deep);font-size:.78rem}
.game-lobby{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px}.game-lobby-copy strong{display:block;font-size:.74rem;color:var(--wanadoo-deep)}.game-lobby-copy p{margin:4px 0 0;color:var(--muted);font-size:.61rem;line-height:1.45}.game-start,.game-primary{padding:9px 13px;border:1px solid #bb5200;border-radius:7px;color:#fff;background:linear-gradient(180deg,#ff9428,#df6300);font-size:.68rem;font-weight:900;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.35)}.game-start:disabled,.game-primary:disabled{opacity:.55;cursor:not-allowed}.game-open-note{grid-column:1/-1;color:#718196;font-size:.54rem;text-align:right}.game-play{padding:11px 12px}.game-session-line{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:#5a6d82;font-size:.57rem}.game-session-line>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-timer{flex:1;height:7px;overflow:hidden;border-radius:99px;background:#dbe8f4}.game-timer span{display:block;height:100%;transform-origin:left;background:linear-gradient(90deg,#24a272,#ffb020,#e74747)}.game-content{min-height:72px}.game-question{margin:0 0 9px;color:#173f70;font-size:.76rem;font-weight:800;line-height:1.4}.game-category{display:inline-flex;margin-bottom:6px;padding:4px 7px;border-radius:99px;color:#fff;background:#5c6bc0;font-size:.52rem;font-weight:900;text-transform:uppercase}.game-answers{display:grid;grid-template-columns:1fr 1fr;gap:7px}.game-answer{padding:8px 9px;border:1px solid #b6cee3;border-radius:7px;background:#fff;color:var(--ink);font-size:.64rem;font-weight:700;text-align:left;cursor:pointer}.game-answer:hover{border-color:#ff9d3d;background:#fff8ee}.game-answer.correct{border-color:#1c9a6c;background:#e5f8f0;color:#08734f}.game-answer.wrong{border-color:#d84d4d;background:#fff0f0;color:#aa2525}.game-answer:disabled{cursor:default}.game-feedback{min-height:17px;margin:8px 0 0;color:#5b6f82;font-size:.62rem;font-weight:700}.game-feedback.success{color:var(--success)}.game-feedback.error{color:var(--danger)}.game-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:7px}.game-secondary{padding:8px 11px;border:1px solid #b6cce0;border-radius:6px;background:#fff;color:var(--wanadoo-deep);font-size:.63rem;font-weight:800;cursor:pointer}
.game-text-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}.game-text-form input{min-width:0;padding:9px 10px;border:1px solid #9fbed9;border-radius:7px;text-transform:uppercase}.letter-rack{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 10px}.letter-rack span{width:30px;height:34px;display:grid;place-items:center;border:1px solid #a8bfd4;border-radius:5px;background:#fff;color:#174b91;font-size:.78rem;font-weight:900;box-shadow:0 2px 3px rgba(7,53,111,.08)}.trivial-badges{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:8px}.trivial-badge{padding:4px 7px;border-radius:99px;background:#e8edf4;color:#789;font-size:.52rem;font-weight:900}.trivial-badge.won{color:#fff;background:#1877b8}
.game-leaderboard{border-top:1px solid #d4e3ef;padding:9px 12px;background:#fbfdff}.leaderboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.leaderboard-head strong{font-size:.64rem}.leaderboard-head span{font-size:.51rem;color:#18875e;font-weight:900;text-transform:uppercase}.leaderboard-row{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 0;border-top:1px dotted #d5e1eb;font-size:.59rem}.leaderboard-row:first-child{border-top:0}.leaderboard-rank{font-weight:900;color:#df6900}.leaderboard-score{font-weight:900;color:#0e4b91}
/* Mots croisés */
.crossword-wrap{display:grid;grid-template-columns:auto minmax(150px,1fr);gap:14px;align-items:start}.crossword-grid{display:grid;gap:1px;padding:2px;background:#2d4f73;border:2px solid #2d4f73;width:max-content}.crossword-cell{position:relative;width:29px;height:29px;background:#fff}.crossword-cell.block{background:#244664}.crossword-cell input{width:100%;height:100%;padding:0;border:0;background:transparent;text-align:center;text-transform:uppercase;font-weight:900;color:#174b91}.crossword-cell input.incorrect{background:#ffe3e3;color:#b3261e}.crossword-cell input.correct{background:#e2f7ed}.crossword-number{position:absolute;top:1px;left:2px;font-size:.38rem;color:#5a6c80;z-index:2;pointer-events:none}.crossword-clues h4{margin:0 0 5px;color:#174b91;font-size:.62rem}.crossword-clues ol{margin:0 0 8px;padding-left:18px}.crossword-clues li{margin:3px 0;color:#566b80;font-size:.56rem;line-height:1.35}
/* Participants sans avatar */
.current-user{display:grid;grid-template-columns:12px minmax(0,1fr);align-items:center;gap:8px;margin:10px;padding:10px;border:1px solid #bcd2e6;border-radius:7px;background:#f4f9fe}.current-user strong,.current-user span{display:block}.current-user strong{font-size:.7rem;color:#174b91}.current-user span{margin-top:2px;color:#68798a;font-size:.57rem}.presence-dot{width:9px;height:9px;border-radius:50%;background:#8f9baa}.presence-dot.online{background:#18a676;box-shadow:0 0 0 3px #dff7ee}.presence-dot.away{background:#f0a020;box-shadow:0 0 0 3px #fff2d9}.rank-legend{margin:0 10px 8px;padding:8px;border:1px solid #d0deeb;border-radius:7px;background:#fff}.rank-legend>div{display:grid;grid-template-columns:19px 1fr;gap:6px;align-items:start}.rank-legend>div+div{margin-top:6px}.rank{font-size:.82rem;font-weight:900;text-align:center}.rank.operator{color:#c93131}.rank.voice{color:#13794d}.rank-legend strong,.rank-legend small{display:block}.rank-legend strong{font-size:.58rem}.rank-legend small{margin-top:1px;color:#7a8998;font-size:.51rem}.user-list{overflow:auto;padding:0 10px 10px}.user-row{display:grid;grid-template-columns:10px 18px minmax(0,1fr);align-items:center;gap:6px;padding:7px 4px;border-bottom:1px solid #e0e9f2}.user-row strong,.user-row span{display:block}.user-row strong{font-size:.65rem;color:#174b91;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-row span{margin-top:2px;color:#758595;font-size:.53rem}.user-rank{font-size:.75rem;font-weight:900;text-align:center}.user-rank.operator{color:#c93131}.user-rank.voice{color:#13794d}.user-rank.empty{color:transparent}.moderation-card{display:flex;gap:8px;margin:auto 10px 10px;padding:10px;border:1px solid #cfdeeb;border-radius:7px;background:#f8fbfe}.moderation-card strong,.moderation-card p{display:block;margin:0}.moderation-card strong{font-size:.62rem}.moderation-card p{margin-top:3px;color:#728292;font-size:.53rem;line-height:1.4}
/* Accès et modales */
.access-gate{flex:1;display:grid;place-items:center;padding:24px}.gate-card{width:min(520px,100%);padding:34px;text-align:center;border:1px solid #aac4dc;border-radius:16px;background:rgba(255,255,255,.97);box-shadow:0 18px 45px rgba(7,53,111,.2)}.gate-icon{font-size:2.3rem}.gate-kicker{margin:9px 0 0;color:#df6500;font-size:.62rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.gate-card h1{margin:8px 0;color:#0a3e78;font-size:1.35rem}.gate-card>p:not(.gate-kicker){color:#64768a;font-size:.78rem;line-height:1.55}.gate-actions{display:flex;justify-content:center;gap:9px;margin-top:18px}.gate-primary,.gate-secondary{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:7px;font-size:.72rem;font-weight:900;text-decoration:none;cursor:pointer}.gate-primary{border:1px solid #093b75;color:#fff;background:linear-gradient(#2c72c1,#0e4a91)}.gate-secondary{border:1px solid #b8cce0;color:#174b91;background:#fff}.modal-backdrop{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:20px;background:rgba(5,29,56,.6)}.rules-modal{position:relative;width:min(580px,100%);max-height:90vh;overflow:auto;padding:28px;border-radius:13px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.3)}.rules-modal h2{margin:5px 0 14px;color:#0c447e}.rules-modal ol{padding-left:22px;color:#53687d;font-size:.75rem;line-height:1.55}.modal-close,.icon-button{border:0;background:transparent;cursor:pointer}.modal-close{position:absolute;top:9px;right:11px;font-size:1.5rem;color:#6b7b8b}.mobile-only{display:none}
@media(max-width:1080px){.chat-shell{grid-template-columns:220px minmax(0,1fr) 220px}.chat-brand img{width:165px}.chat-title small{display:none}.crossword-cell{width:26px;height:26px}}
@media(max-width:820px){body{overflow:hidden}.chat-topbar{min-height:61px;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;padding:7px 10px}.chat-brand img{width:118px;max-height:42px}.chat-title strong{font-size:.9rem}.chat-title-kicker{font-size:.52rem}.return-site{display:none}.chat-status{padding:7px 8px;font-size:.58rem}.chat-shell{display:block;padding:5px}.conversation-panel{height:100%}.rooms-panel,.users-panel{position:fixed;top:calc(61px + env(safe-area-inset-top));bottom:0;z-index:60;width:min(310px,88vw);border-radius:0;transition:transform .22s ease}.rooms-panel{left:0;transform:translateX(-105%)}.users-panel{right:0;transform:translateX(105%)}.rooms-panel.open,.users-panel.open{transform:translateX(0)}.panel-open:after{content:"";position:fixed;inset:61px 0 0;z-index:50;background:rgba(4,30,59,.48)}.mobile-only{display:inline-flex}.conversation-head{min-height:58px}.messages{padding:11px}.game-zone{margin:6px 7px 0}.game-heading small{display:none}.crossword-wrap{grid-template-columns:1fr}.crossword-grid{margin:auto}.crossword-clues{display:grid;grid-template-columns:1fr 1fr;gap:10px}.game-stats>div{min-width:47px}.game-lobby{grid-template-columns:1fr}.game-start{width:100%}.game-open-note{text-align:center}.game-answers{grid-template-columns:1fr}}
@media(max-width:520px){.chat-title{display:none}.chat-topbar{grid-template-columns:1fr auto}.chat-brand img{width:142px}.chat-status{justify-self:end}.conversation-head{gap:7px;padding:7px}.room-symbol{width:34px;height:34px}.active-room-copy span{max-width:155px}.sound-toggle{padding:7px}.notice-bar{padding:6px 8px}.game-topline{padding:8px}.game-icon{width:34px;height:34px}.game-stats{gap:3px}.game-stats>div{min-width:43px;padding:4px}.game-play{padding:9px}.composer{padding:7px 8px calc(7px + var(--safe))}.composer-row{grid-template-columns:minmax(0,1fr) 78px}.send-button{min-width:0}.gate-actions{flex-direction:column}.gate-card{padding:24px 18px}.crossword-cell{width:min(8.8vw,31px);height:min(8.8vw,31px)}.crossword-clues{grid-template-columns:1fr}.game-text-form{grid-template-columns:1fr}.game-text-form .game-primary{width:100%}}
@media(max-width:390px){.active-room-copy span{max-width:120px}.online-toggle{padding:7px 8px}.composer-tools button{width:27px}.game-heading strong{font-size:.72rem}.game-stats span{font-size:.43rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V33 — retour au site, messages privés et modération transparente */
.return-short{display:none}.private-moderation-entry{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;margin:0 10px 10px;padding:10px;border:1px solid #e5b1b1;border-radius:7px;background:#fff7f7;color:#7d2222;text-align:left;cursor:pointer}.private-moderation-entry strong,.private-moderation-entry small{display:block}.private-moderation-entry strong{font-size:.64rem}.private-moderation-entry small{margin-top:2px;color:#9a5c5c;font-size:.52rem}.user-row{grid-template-columns:10px 18px minmax(0,1fr) auto}.private-message-button{padding:5px 7px;border:1px solid #9dbbdd;border-radius:5px;background:#fff;color:#174b91;font-size:.52rem;font-weight:900;cursor:pointer}.private-message-button:hover{background:#eaf4ff}
.private-modal{width:min(720px,100%);height:min(760px,92vh);display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.32)}.private-head{position:relative;padding:18px 22px 12px;border-bottom:1px solid #c6daec;background:linear-gradient(180deg,#fff,#eaf4ff)}.private-head h2{margin:3px 0;color:#0c447e;font-size:1.05rem}.private-head p:last-child{margin:0;color:#687a8e;font-size:.68rem}.private-close{top:12px}.private-safety-note{padding:9px 14px;border-bottom:1px solid #ecd68a;background:#fff8da;color:#684800;font-size:.62rem;line-height:1.45}.private-messages{flex:1;overflow:auto;padding:14px;background:#f8fbff}.private-message{margin-bottom:12px}.private-message.mine{text-align:right}.private-message-meta{margin-bottom:3px;color:#75879a;font-size:.55rem}.private-message-meta strong{color:#174b91}.private-message-body{display:inline-block;max-width:85%;padding:9px 11px;border:1px solid #bfd3e6;border-radius:5px 10px 10px 10px;background:#fff;text-align:left;font-size:.7rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}.private-message.mine .private-message-body{border-color:#f0bd82;background:#fff8ee;border-radius:10px 5px 10px 10px}.private-report-button{display:block;margin-top:3px;padding:0;border:0;background:none;color:#7d8d9e;font-size:.52rem;cursor:pointer}.private-message.mine .private-report-button{margin-left:auto}.private-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:10px 12px calc(10px + var(--safe));border-top:1px solid #bfd3e6;background:#edf6ff}.private-composer textarea{resize:none;min-height:54px;padding:10px;border:1px solid #9fbed9;border-radius:8px}.private-composer .send-button{align-self:stretch}.private-modal>.composer-feedback{margin:0;padding:0 12px 8px;background:#edf6ff}
.private-moderation-modal{position:relative;width:min(900px,100%);max-height:92vh;overflow:auto;padding:25px;border-radius:14px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.32)}.private-moderation-modal h2{margin:5px 0 8px;color:#7d2222}.moderation-explainer{margin:0 0 15px;padding:10px;border-left:4px solid #d14d4d;background:#fff4f4;color:#744b4b;font-size:.68rem;line-height:1.5}.private-report-card{margin-bottom:9px;padding:11px;border:1px solid #d5e1ec;border-radius:8px;background:#fbfdff}.private-report-card header{display:flex;justify-content:space-between;gap:10px}.private-report-card strong{font-size:.7rem;color:#174b91}.private-report-card time{font-size:.55rem;color:#7b8b9b}.private-report-card p{margin:6px 0;color:#53687c;font-size:.65rem;line-height:1.45}.private-report-card blockquote{margin:7px 0;padding:8px;border-left:3px solid #e07b38;background:#fff8ee;font-size:.65rem}.private-report-card button{padding:6px 9px;border:1px solid #9dbbdd;border-radius:5px;background:#fff;color:#174b91;font-size:.57rem;font-weight:800;cursor:pointer}.private-report-context{margin-top:14px;padding:12px;border:1px solid #b9cee1;border-radius:8px;background:#f6faff}.private-report-context h3{margin:0 0 9px;color:#174b91;font-size:.76rem}.context-message{padding:7px 0;border-top:1px dotted #c8d8e7;font-size:.62rem}.context-message:first-of-type{border-top:0}.context-message strong{color:#174b91}.context-message.reported{margin:4px -5px;padding:8px 5px;background:#fff1e7;border-left:3px solid #e87525}.report-status{display:inline-flex;padding:2px 6px;border-radius:99px;background:#e8eef5;color:#627487;font-size:.5rem;font-weight:900;text-transform:uppercase}
@media(max-width:820px){.return-site{display:inline-flex;padding:7px 9px}.return-long{display:none}.return-short{display:inline}.chat-topbar{grid-template-columns:auto minmax(0,1fr) auto auto}.chat-status{justify-self:end}.private-modal{height:100%;max-height:100%;border-radius:0}.private-moderation-modal{height:100%;max-height:100%;border-radius:0}.private-message-body{max-width:92%}}
@media(max-width:520px){.chat-topbar{grid-template-columns:auto minmax(0,1fr) auto}.chat-status{display:none}.return-site{justify-self:end}.private-composer{grid-template-columns:1fr}.private-composer .send-button{min-height:44px}.user-row{grid-template-columns:10px 18px minmax(0,1fr) auto}}

/* V34 — administration IRC, sourdine, verrouillage et journal */
.room-info-bar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:6px 11px;border-bottom:1px solid #c6d9e9;background:#f3f8fd;color:#536b82;font-size:.56rem}.room-info-bar span{display:inline-flex;align-items:center;gap:3px;padding:4px 7px;border:1px solid #d4e1ed;border-radius:999px;background:#fff}.room-info-bar b{color:#174b91}.room-info-bar .operator{color:#c93131}.room-info-bar .voice{color:#13794d}.room-info-bar .locked{color:#b23b33}
.moderation-state-notice{padding:8px 12px;border-bottom:1px solid #e5b09f;background:#fff0eb;color:#8a2f24;font-size:.64rem;font-weight:800;line-height:1.4}.room-lock-toggle{border-color:#d5a7a7;color:#8a2727}.room-lock-toggle:not([hidden]){display:inline-flex}
.user-profile-button{min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.user-profile-button strong,.user-profile-button span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-profile-button strong{color:#173f70;font-size:.68rem}.user-profile-button span{margin-top:2px;color:#718296;font-size:.55rem}.user-profile-button:hover strong{text-decoration:underline}.user-profile-button:disabled{cursor:default}.user-profile-button:disabled strong{text-decoration:none}.user-row.locally-muted-user{opacity:.55}.user-row.locally-muted-user .user-profile-button strong::after{content:' · masqué';color:#9a5c5c;font-size:.5rem;font-weight:700}.locally-hidden{display:none!important}
.user-actions-modal,.moderation-journal-modal,.chat-help-modal{position:relative;width:min(760px,calc(100% - 24px));max-height:92vh;overflow:auto;padding:24px;border-radius:14px;background:#fff;box-shadow:0 20px 60px rgba(0,0,0,.32)}.user-actions-modal h2,.moderation-journal-modal h2,.chat-help-modal h2{margin:4px 0 5px;color:#0c447e}.user-actions-subtitle{margin:0 0 15px;color:#697b8e;font-size:.68rem}.user-actions-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.user-actions-grid button,.grade-choice button,.moderation-buttons button{min-height:42px;padding:9px;border:1px solid #9fbed9;border-radius:7px;background:#f8fbff;color:#174b91;font-size:.65rem;font-weight:800;cursor:pointer}.user-actions-grid button:hover,.grade-choice button:hover,.moderation-buttons button:hover{background:#eaf4ff}.user-action-section{margin-top:15px;padding:14px;border:1px solid #c8d9e8;border-radius:9px;background:#f9fcff}.user-action-section h3{margin:0 0 5px;color:#174b91;font-size:.78rem}.user-action-section p{margin:0 0 10px;color:#687a8d;font-size:.61rem;line-height:1.5}.grade-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.grade-choice button.active{border-color:#e18a3a;background:#fff2e5;box-shadow:0 0 0 2px rgba(225,138,58,.14)}.moderation-fields{display:grid;grid-template-columns:150px 150px minmax(180px,1fr);gap:8px}.moderation-fields label{display:flex;flex-direction:column;gap:5px;color:#5f7388;font-size:.57rem;font-weight:800}.moderation-fields select,.moderation-fields input{min-height:39px;padding:8px;border:1px solid #a9c2d9;border-radius:6px;background:#fff;color:#17314f;font-size:.65rem}.moderation-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.moderation-buttons #user-kick{border-color:#e4a8a8;color:#8c2828;background:#fff8f8}.user-actions-feedback{min-height:18px;margin:12px 0 0;font-size:.64rem;font-weight:800}.user-actions-feedback.success{color:#087f5b}.user-actions-feedback.error{color:#b42828}
.journal-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.journal-columns>section{min-width:0}.journal-columns h3{margin:8px 0;padding-bottom:7px;border-bottom:2px solid #d9e7f4;color:#174b91;font-size:.75rem}.moderation-log-row,.moderation-report-row{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:5px 8px;margin-bottom:7px;padding:9px;border:1px solid #d4e1ec;border-radius:7px;background:#fbfdff;font-size:.59rem}.moderation-log-row time{color:#7a8998}.moderation-log-row strong{color:#174b91}.moderation-log-row span{color:#405a72}.moderation-log-row small{grid-column:1/-1;color:#718295;line-height:1.4}.moderation-report-row{display:block}.moderation-report-row header{display:flex;justify-content:space-between;gap:8px}.moderation-report-row header strong{color:#8d2c2c}.moderation-report-row time,.moderation-report-row p{color:#758697;font-size:.55rem}.moderation-report-row p{margin:5px 0}.moderation-report-row blockquote{margin:7px 0;padding:8px;border-left:3px solid #df7431;background:#fff7ee;color:#5f4a3c}.moderation-report-row button{padding:6px 8px;border:1px solid #9fbed9;border-radius:5px;background:#fff;color:#174b91;font-size:.55rem;font-weight:800}.chat-help-modal dl{display:grid;grid-template-columns:120px 1fr;gap:8px;margin:15px 0;padding:12px;border:1px solid #c8dbea;border-radius:8px;background:#f8fbff}.chat-help-modal dt{font-family:monospace;font-weight:900;color:#174b91}.chat-help-modal dd{margin:0;color:#5e7185;font-size:.68rem;line-height:1.45}.chat-help-modal>p:last-child{color:#5e7185;font-size:.67rem;line-height:1.5}
.moderation-journal-entry{border-color:#b5cae0;background:#f6faff;color:#174b91}
@media(max-width:1100px){.head-actions{flex-wrap:wrap;justify-content:flex-end}.head-actions .sound-toggle{font-size:.58rem;padding:7px}.room-info-bar{gap:4px}.room-info-bar span{padding:3px 5px}}
@media(max-width:820px){.room-info-bar{overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}.user-actions-modal,.moderation-journal-modal,.chat-help-modal{width:100%;height:100%;max-height:100%;border-radius:0}.journal-columns{grid-template-columns:1fr}.moderation-fields{grid-template-columns:1fr 1fr}.reason-field{grid-column:1/-1}}
@media(max-width:600px){.conversation-head{align-items:flex-start}.head-actions{max-width:145px}.head-actions .sound-toggle{padding:6px;font-size:.52rem}.user-actions-grid,.grade-choice,.moderation-buttons{grid-template-columns:1fr}.moderation-fields{grid-template-columns:1fr}.reason-field{grid-column:auto}.chat-help-modal dl{grid-template-columns:1fr}.chat-help-modal dd{margin-bottom:8px}}


/* V34.1 — correctif mobile tchat et jeux */
@media (max-width:820px){
  html,body,.chat-app{width:100%;max-width:100%;overflow-x:hidden}
  .chat-shell,.conversation-panel,.conversation-head,.game-zone,.game-topline,.game-play,.messages,.composer{min-width:0;max-width:100%}
  .conversation-head{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:7px}
  .head-actions{grid-column:1/-1;width:100%;max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .head-actions .sound-toggle,.head-actions .online-toggle{width:100%;min-width:0;min-height:38px;padding:7px 6px;white-space:normal;text-align:center;line-height:1.2}
  .head-actions .room-lock-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center}
  .room-info-bar{overflow:visible;flex-wrap:wrap;white-space:normal;gap:5px;padding:7px 8px}
  .room-info-bar span{flex:1 1 118px;justify-content:center;min-width:0;padding:5px 6px;text-align:center;white-space:normal}
  .notice-bar{padding:7px 9px}.notice-bar p{font-size:.66rem}
  .game-topline{align-items:flex-start;gap:8px}.game-heading{flex:1;min-width:0}.game-heading>div{min-width:0}
  .game-heading strong,.game-heading small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .game-stats{flex:0 0 auto}.game-stats>div{min-width:49px}
  .game-session-line{flex-wrap:wrap}.game-session-line>span{max-width:100%;white-space:normal;overflow:visible}
  .game-timer{flex:1 1 100%;min-width:100%}
  .game-text-form{grid-template-columns:1fr}.game-text-form input{font-size:16px;min-height:48px}.game-text-form .game-primary{width:100%;min-height:44px}
  .game-actions{justify-content:stretch}.game-actions>*{width:100%;min-height:42px}
  .composer-row{grid-template-columns:1fr}.composer textarea{font-size:16px;min-height:52px}.send-button{width:100%;min-height:44px}
}
@media (max-width:520px){
  .conversation-head{padding:7px 8px}.head-actions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .head-actions #room-lock-toggle{grid-column:1/-1}
  .room-info-bar span{flex-basis:calc(50% - 5px);font-size:.58rem}
  .game-zone{margin:5px 4px 0}.game-topline{padding:9px}.game-play{padding:10px}
  .letter-rack span{width:34px;height:38px;font-size:.86rem}
}
@media (max-width:390px){
  .room-info-bar span{flex-basis:100%}
  .head-actions{grid-template-columns:1fr 1fr}
  .game-topline{display:grid;grid-template-columns:minmax(0,1fr) auto}
}


/* V34.2 — interface mobile compacte et lisible */
@media (max-width:820px){
  html,body{height:100%;height:100dvh;overflow:hidden}
  .chat-app{height:100%;height:100dvh;min-height:0}
  .chat-topbar{min-height:58px;padding:6px 9px}
  .chat-shell{min-height:0;padding:4px}
  .conversation-panel{height:100%;min-height:0;border-radius:8px}

  .conversation-head{
    position:relative;
    display:grid;
    grid-template-columns:32px 38px minmax(0,1fr) 42px 42px;
    align-items:center;
    gap:6px;
    min-height:56px;
    padding:7px 8px;
  }
  .conversation-head .icon-button{width:32px;height:32px;display:grid;place-items:center;color:#1765bc;font-size:1rem}
  .room-symbol{width:36px;height:36px;font-size:1rem}
  .active-room-copy strong{font-size:.82rem;line-height:1.2}
  .active-room-copy span{max-width:none;margin-top:2px;font-size:.56rem;line-height:1.25}
  .compact-head-button{width:40px;height:36px;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:2px;padding:0;border:1px solid #b8cee2;border-radius:8px;background:#fff;color:#174b91;font-size:.62rem;font-weight:900}
  .compact-head-button b{font-size:.58rem}

  .head-actions{
    display:none;
    grid-column:1/-1;
    width:100%;
    max-width:none;
    gap:5px;
    margin-top:1px;
    padding:6px;
    border:1px solid #c8dbea;
    border-radius:8px;
    background:#f6faff;
    box-shadow:0 5px 14px rgba(7,53,111,.08);
  }
  .head-actions.open{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .head-actions .sound-toggle{
    min-width:0;
    min-height:34px;
    padding:5px 4px;
    border-radius:7px;
    white-space:normal;
    text-align:center;
    font-size:.54rem;
    line-height:1.15;
  }
  .head-actions .room-lock-toggle:not([hidden]){display:inline-flex;align-items:center;justify-content:center}

  .room-info-bar{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px;
    padding:5px 7px;
    overflow:visible;
    white-space:normal;
  }
  .room-info-bar span{
    min-width:0;
    min-height:29px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:4px 3px;
    border-radius:7px;
    font-size:.53rem;
    line-height:1.15;
    text-align:center;
    white-space:normal;
  }
  .room-info-bar span:nth-child(4){grid-column:1/3}
  .room-info-bar span:nth-child(5){grid-column:3/4}

  .notice-bar{align-items:center;gap:6px;padding:5px 8px}
  .notice-bar p{font-size:.56rem;line-height:1.25}

  .game-zone{margin:5px 6px 0;border-radius:8px}
  .game-topline{padding:7px 8px}
  .game-icon{width:32px;height:32px;font-size:1rem}
  .game-kicker{font-size:.47rem}
  .game-heading strong{font-size:.7rem}
  .game-stats>div{min-width:44px;padding:3px 5px}
  .game-stats span{font-size:.42rem}
  .game-stats strong{font-size:.67rem}
  .game-play{padding:8px}
  .game-question{font-size:.69rem}
  .letter-rack{margin:4px 0 7px}
  .letter-rack span{width:31px;height:34px;font-size:.76rem}
  .game-text-form{grid-template-columns:minmax(0,1fr) 88px;gap:6px}
  .game-text-form input{min-height:42px;font-size:16px}
  .game-text-form .game-primary{width:auto;min-height:42px;padding:7px 8px}
  .game-actions{justify-content:flex-end}
  .game-actions>*{width:auto;min-height:38px}

  .messages{min-height:90px;padding:9px 10px}
  .loading-messages,.empty-messages{margin:18px auto;padding:12px;font-size:.65rem}
  .message{margin-bottom:9px}
  .message-body{padding:7px 9px;font-size:.68rem}

  .composer{position:relative;padding:6px 7px calc(6px + var(--safe))}
  .composer-tools{margin-bottom:5px}
  .composer-tools button{width:28px;height:25px}
  .composer-row{grid-template-columns:minmax(0,1fr) 88px;gap:6px}
  .composer textarea{min-height:46px;max-height:92px;padding:9px 10px;font-size:16px}
  .send-button{width:auto;min-width:0;min-height:46px;font-size:.67rem}
}

@media (max-width:520px){
  .chat-brand img{width:126px}
  .return-site{padding:7px 9px;font-size:.66rem}
  .conversation-head{grid-template-columns:30px 36px minmax(0,1fr) 40px 40px;padding:6px}
  .room-symbol{width:34px;height:34px}
  .active-room-copy strong{font-size:.78rem}
  .active-room-copy span{font-size:.53rem}
  .head-actions.open{grid-template-columns:repeat(3,minmax(0,1fr))}
  .room-info-bar span{font-size:.5rem}
}

@media (max-width:370px){
  .active-room-copy span{display:none}
  .head-actions.open{grid-template-columns:1fr 1fr}
  .head-actions #room-lock-toggle{grid-column:1/-1}
  .room-info-bar{grid-template-columns:1fr 1fr}
  .room-info-bar span:nth-child(4),.room-info-bar span:nth-child(5){grid-column:auto}
  .room-info-bar span:last-child{grid-column:1/-1}
  .composer-row{grid-template-columns:minmax(0,1fr) 78px}
}

/* V34.3 — priorité au jeu sur mobile : suppression de la barre d’état redondante */
@media (max-width:820px){
  /* Les informations essentielles restent disponibles ailleurs :
     participants dans l’en-tête, options via ⚙️, état du jeu dans la carte. */
  .room-info-bar{display:none!important}
  .notice-bar{padding:4px 8px}
  .notice-bar p{font-size:.54rem;line-height:1.2}
  .game-zone{margin-top:4px}
}

/* V35 — jeux synchronisés, choix du jeu et nouveaux modes */
.v35-game-picker{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:10px;padding:9px;border:1px solid #c7dceb;border-radius:8px;background:#f7fbff}.v35-game-picker label{display:grid;gap:4px;min-width:0;flex:1}.v35-game-picker label>span{color:#5b7087;font-size:.52rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.v35-game-picker select{width:100%;min-height:38px;padding:7px 34px 7px 9px;border:1px solid #a9c5dd;border-radius:7px;background:#fff;color:#173f70;font-size:.66rem;font-weight:800}.v35-game-picker select:disabled{opacity:.7;background:#edf3f8}.v35-sync-pill{flex:0 0 auto;padding:6px 8px;border:1px solid #a9c5dd;border-radius:99px;background:#fff;color:#315e89;font-size:.5rem;font-weight:900;white-space:nowrap}.v35-sync-pill.live{border-color:#9dd7be;background:#eaf8f2;color:#08734f}.v35-sync-pill.error{border-color:#efb4b4;background:#fff1f1;color:#aa2525}.v35-sync-line{grid-column:1/-1;display:block;color:#718196;font-size:.55rem;text-align:center}.v35-sync-line.live{color:#08734f}.v35-sync-line.error{color:#aa2525;font-weight:800}.v35-timer-label{flex:0 0 auto!important;max-width:none!important;color:#174b91;font-weight:900;overflow:visible!important}.v35-weekly-leaderboard{margin-top:10px;padding-top:9px;border-top:1px solid #d4e3ef}.v35-empty-ranking{margin:5px 0;color:#718196;font-size:.56rem}.v35-clues{display:grid;gap:6px;margin-bottom:10px}.v35-clues>strong{color:#174b91;font-size:.64rem}.v35-clues p{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:7px;margin:0;padding:7px 9px;border:1px solid #c8dbea;border-radius:7px;background:#fff;color:#455f78;font-size:.63rem}.v35-clues p span{width:22px;height:22px;display:grid;place-items:center;border-radius:50%;background:#174b91;color:#fff;font-size:.52rem;font-weight:900}.v35-number-target{display:grid;place-items:center;margin:0 auto 9px;width:92px;height:72px;border:2px solid #ff9a32;border-radius:12px;background:#fff8ee}.v35-number-target span{color:#9a5a18;font-size:.5rem;font-weight:900;text-transform:uppercase}.v35-number-target strong{color:#174b91;font-size:1.35rem}.v35-number-rack{display:flex;justify-content:center;flex-wrap:wrap;gap:7px;margin-bottom:9px}.v35-number-rack span{width:42px;height:42px;display:grid;place-items:center;border:1px solid #9fbdd7;border-radius:8px;background:#fff;color:#174b91;font-size:.85rem;font-weight:900;box-shadow:0 2px 5px rgba(7,53,111,.08)}.v35-number-help,.v35-majority-help{margin:4px 0 9px;color:#60758a;font-size:.57rem;line-height:1.45}.v35-hangman{display:grid;place-items:center;gap:7px;margin-bottom:10px;padding:11px;border:1px solid #c8dbea;border-radius:9px;background:#fff}.v35-hangman-drawing{min-height:48px;color:#173f70;font-family:monospace;font-size:1rem;line-height:1.05;text-align:center}.v35-hangman-pattern{color:#174b91;font-family:monospace;font-size:1.05rem;letter-spacing:.08em;text-align:center}.v35-hangman p{margin:0;color:#60758a;font-size:.57rem}.v35-reveal,.v35-finished{display:grid;gap:7px;padding:13px;border:1px solid #b8d8c9;border-radius:9px;background:#eef9f4;text-align:center}.v35-reveal>span,.v35-finished>span{color:#08734f;font-size:.52rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.v35-reveal>strong,.v35-finished>strong{color:#174b91;font-size:.78rem}.v35-reveal p,.v35-finished p{margin:0;color:#5e7287;font-size:.61rem;line-height:1.45}.v35-reveal small{color:#718196;font-size:.53rem}.v35-majority-results{display:grid;gap:5px}.v35-majority-results>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;border:1px solid #c8dbea;border-radius:7px;background:#fff;color:#536b82;font-size:.6rem}.v35-majority-results>div.winner{border-color:#efaa54;background:#fff5e9;color:#8a4f0a}.v35-majority-results>div.winner:before{content:'🏆'}.v35-majority-results b{white-space:nowrap}.crossword-cell input:disabled{opacity:1;-webkit-text-fill-color:#174b91}.game-answer[data-v35-answer]{min-height:42px}.game-answer[data-v35-answer]:disabled{opacity:.72}.game-lobby .v35-game-picker+ .game-lobby-copy{align-self:center}

@media(max-width:820px){.v35-game-picker{align-items:stretch;flex-direction:column;padding:8px}.v35-sync-pill{align-self:flex-start}.v35-game-picker select{font-size:16px}.v35-timer-label{width:100%;text-align:right}.v35-number-help,.v35-majority-help{font-size:.62rem}.v35-hangman-pattern{font-size:.94rem}.v35-weekly-leaderboard{margin-top:8px}.game-lobby .v35-game-picker{order:-2}.game-lobby .game-lobby-copy{order:-1}.game-lobby .game-start{order:0}.game-lobby .game-open-note,.game-lobby .v35-sync-line{order:1}}
@media(max-width:520px){.v35-game-picker{gap:7px}.v35-sync-pill{font-size:.48rem}.v35-clues p{font-size:.61rem}.v35-number-rack span{width:38px;height:38px}.v35-hangman{padding:9px}.v35-hangman-pattern{font-size:.82rem;letter-spacing:.04em}.v35-majority-results>div{font-size:.58rem}.game-leaderboard{padding:8px 9px}}
.v35-stop-game{border-color:#e5a5a5!important;color:#a52b2b!important;background:#fff6f6!important}.v35-stop-game:hover{background:#ffe9e9!important}


/* V35.2 — interface de jeu compacte, pensée pour iPhone */
.v352-icon-button{width:34px;min-width:34px;height:34px;padding:0;border:1px solid #b5cde2;border-radius:7px;background:#fff;color:#174b91;font-size:.8rem;font-weight:900;cursor:pointer}
.v352-icon-button:hover{background:#eef6fd}
.game-zone.v352-collapsed .game-lobby,.game-zone.v352-collapsed .game-play,.game-zone.v352-collapsed .game-leaderboard{display:none!important}
.game-zone.v352-collapsed .game-topline{border-bottom:0}
.game-zone.v352-collapsed .game-description,.game-zone.v352-collapsed .game-kicker{display:none!important}
.game-zone:not(.v352-picker-open) .v35-game-picker{display:none!important}
.game-zone.v352-picker-open .v35-game-picker{display:flex!important}

@media(max-width:820px){
  .notice-bar{display:none!important}
  .game-zone{margin:3px 4px 0;border-radius:7px}
  .game-topline{padding:5px 6px;gap:5px}
  .game-icon{width:30px;height:30px;font-size:1rem}
  .game-kicker,.game-heading small{display:none!important}
  .game-heading strong{margin:0;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .game-stats{align-items:center;gap:3px}
  .game-stats>div{min-width:40px;padding:3px 4px}
  .game-stats span{font-size:.4rem}
  .game-stats strong{font-size:.65rem}
  .v352-icon-button{width:31px;min-width:31px;height:31px;font-size:.72rem}
  .game-lobby{display:grid;grid-template-columns:1fr;gap:6px;padding:7px 8px}
  .game-lobby-copy{display:none}
  .game-start{min-height:40px;padding:7px 10px;font-size:.65rem}
  .game-open-note{display:none}
  .v35-sync-line{display:none}
  .v35-game-picker{padding:6px;gap:5px}
  .v35-game-picker label>span{display:none}
  .v35-game-picker select{min-height:36px;padding-top:5px;padding-bottom:5px}
  .v35-sync-pill{padding:4px 6px;font-size:.45rem}
  .game-play{padding:7px 8px}
  .game-session-line{margin-bottom:6px;gap:6px;font-size:.51rem}
  .game-content{min-height:54px}
  .game-question{margin-bottom:6px;font-size:.7rem;line-height:1.3}
  .game-category{margin-bottom:4px;padding:3px 6px;font-size:.46rem}
  .game-answers{grid-template-columns:1fr 1fr;gap:5px}
  .game-answer,.game-answer[data-v35-answer]{min-height:38px;padding:6px 7px;font-size:.59rem}
  .game-feedback{min-height:13px;margin-top:5px;font-size:.56rem}
  .game-actions{margin-top:4px}
  .game-secondary,.game-primary{padding:7px 9px;font-size:.58rem}
  .game-leaderboard{max-height:155px;overflow:auto;padding:7px 8px}
  .v35-weekly-leaderboard{display:none}
}

@media(max-width:520px){
  .game-topline{grid-template-columns:minmax(0,1fr) auto}
  .game-heading{gap:6px}
  .game-stats>div{min-width:38px}
  .game-answers{grid-template-columns:1fr 1fr}
  .v35-number-target{width:78px;height:58px;margin-bottom:6px}
  .v35-number-rack span{width:34px;height:34px}
  .v35-hangman{gap:4px;margin-bottom:6px;padding:6px}
  .v35-hangman-drawing{min-height:35px;font-size:.8rem}
}


/* V35.3 — alertes de messages privés et navigation mobile renforcée */
.room-group-title{margin:11px 5px 7px;padding:7px 9px;border-left:4px solid var(--wanadoo-orange);border-radius:5px;background:#e7f2ff;color:#0b477f;font-size:.62rem;letter-spacing:.14em;box-shadow:inset 0 0 0 1px #c7ddf2}.room-group-title:first-child{margin-top:3px}
.private-inbox-entry{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;margin:2px 10px 10px;padding:10px;border:1px solid #9cbfe0;border-radius:8px;background:linear-gradient(180deg,#fff,#edf6ff);color:#164b8d;text-align:left;cursor:pointer}.private-inbox-entry:hover{background:#e5f2ff}.private-inbox-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#dcecff;font-size:1rem}.private-inbox-entry strong,.private-inbox-entry small{display:block}.private-inbox-entry strong{font-size:.68rem}.private-inbox-entry small{margin-top:2px;color:#6f8194;font-size:.54rem}.private-unread-badge,.header-private-badge{display:grid;place-items:center;min-width:21px;height:21px;padding:0 6px;border-radius:99px;background:#d62828;color:#fff;font-size:.56rem;font-weight:900;box-shadow:0 0 0 2px #fff}.online-toggle{position:relative}.header-private-badge{position:absolute;top:-7px;right:-7px;min-width:18px;height:18px;padding:0 5px;font-size:.49rem}
.private-toast{position:fixed;z-index:120;right:16px;bottom:calc(88px + env(safe-area-inset-bottom));display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;width:min(360px,calc(100vw - 32px));padding:11px 13px;border:1px solid #0d4e92;border-radius:10px;background:linear-gradient(180deg,#286dc0,#124b8f);color:#fff;text-align:left;box-shadow:0 12px 34px rgba(5,41,80,.38);cursor:pointer;animation:privateToastIn .22s ease-out}.private-toast>span:first-child{font-size:1.25rem}.private-toast strong,.private-toast small{display:block}.private-toast strong{font-size:.7rem}.private-toast small{margin-top:2px;color:#e2efff;font-size:.56rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes privateToastIn{from{transform:translateY(18px);opacity:0}to{transform:none;opacity:1}}
@media(max-width:820px){.room-list{padding:7px 8px 2px}.room-group-title{position:relative;z-index:1;margin-top:10px;padding:8px 10px;color:#073f79;background:linear-gradient(90deg,#dceeff,#f4f9ff);font-size:.66rem}.retro-card,.rules-mini{padding:9px 10px}.retro-card p,.rules-mini p{font-size:.57rem}.private-toast{right:10px;bottom:calc(82px + env(safe-area-inset-bottom));width:calc(100vw - 20px)}}

/* V35.4 — menu latéral compact */
.compact-side-info,.compact-side-action{margin:0 10px 8px;border:1px solid #bfd5e9;border-radius:7px;background:linear-gradient(135deg,#fff,#eef7ff);color:var(--navy);box-sizing:border-box}
.compact-side-info summary,.compact-side-action{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;width:calc(100% - 20px);padding:10px 12px;cursor:pointer;list-style:none;text-align:left}
.compact-side-info summary{width:100%}
.compact-side-info summary::-webkit-details-marker{display:none}.compact-side-info summary strong,.compact-side-action strong{font-size:.72rem}.compact-side-info summary small,.compact-side-action small{font-size:.55rem;color:var(--muted);font-weight:800}.compact-side-info p{margin:0;padding:0 12px 10px;color:var(--muted);font-size:.58rem;line-height:1.42}.compact-side-action{appearance:none;font:inherit}
@media(max-width:820px){.compact-side-info,.compact-side-action{margin:0 8px 6px}.compact-side-info summary,.compact-side-action{padding:8px 10px}.compact-side-info summary strong,.compact-side-action strong{font-size:.68rem}.compact-side-info p{font-size:.55rem;padding:0 10px 8px}.rooms-panel .private-moderation-entry{padding:9px 10px}.rooms-panel .private-inbox-entry{margin-bottom:6px}}


/* V35.5 — administration intégrée, classement lisible, participants compacts */
.admin-room-group{display:block}.admin-room-group[hidden]{display:none!important}.admin-room-group .room-group-title{display:block}.admin-room-button{width:calc(100% - 20px);margin-left:10px;margin-right:10px}.admin-room-button .admin-dot{background:#b43b3b}.admin-room-button:hover{background:#eef6ff}
.game-leaderboard{max-height:none!important;overflow:visible!important}.leaderboard-row{min-height:30px;grid-template-columns:24px minmax(0,1fr) auto;padding:6px 2px;font-size:.64rem}.leaderboard-score{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:4px 8px;border-radius:99px;background:#e8f2ff;color:#0e4b91;font-size:.61rem;white-space:nowrap}.leaderboard-head strong{font-size:.68rem}.leaderboard-head span{font-size:.54rem}
@media(max-width:820px){.admin-room-button{width:calc(100% - 16px);margin-left:8px;margin-right:8px}.game-leaderboard{padding:7px 9px}.leaderboard-row{font-size:.66rem}.leaderboard-score{min-width:62px;font-size:.63rem}.rank-legend{display:flex;gap:10px;margin:0 10px 5px;padding:6px 8px}.rank-legend>div{display:flex;align-items:center;gap:5px}.rank-legend>div+div{margin-top:0}.rank-legend small{display:none}.moderation-card{margin:4px 10px 8px;padding:7px 8px}.moderation-card p{display:none}.current-user{margin-bottom:6px}.head-actions{padding-top:6px;padding-bottom:6px}.head-actions .sound-toggle{min-height:36px}.room-lock-toggle{min-height:36px}}


/* V35.6 — navigation réellement compacte et rubrique Administration visible */
.rooms-panel .private-inbox-entry,
.rooms-panel .compact-side-info,
.rooms-panel .compact-side-action{min-height:54px}
.rooms-panel .private-inbox-entry{grid-template-columns:30px minmax(0,1fr) auto;padding:7px 9px;margin:0 8px 6px}
.rooms-panel .private-inbox-icon{width:30px;height:30px;font-size:.86rem}
.rooms-panel .private-inbox-entry strong{font-size:.64rem}
.rooms-panel .private-inbox-entry small{font-size:.49rem}
.rooms-panel .compact-side-info summary,
.rooms-panel .compact-side-action{min-height:52px;padding:7px 9px}
.rooms-panel .compact-side-info summary strong,
.rooms-panel .compact-side-action strong{font-size:.64rem}
.rooms-panel .compact-side-info summary small,
.rooms-panel .compact-side-action small{font-size:.49rem}
.admin-room-group{margin-top:2px;padding-bottom:4px}
.admin-room-group .room-group-title{margin-top:4px}
.admin-room-button{min-height:58px;padding-top:7px;padding-bottom:7px}
.admin-room-button strong{font-size:.66rem}
.admin-room-button small{font-size:.50rem}
@media(max-width:820px){
  .rooms-panel{overflow-y:auto;-webkit-overflow-scrolling:touch}
  .admin-room-group .room-group-title{position:static}
  .admin-room-button{min-height:54px}
}

/* V35.7 — Administration intégrée à la liste principale des salons */
#room-list-content{display:block}
.room-list .admin-room-group{margin:0;padding:0 0 4px}
.room-list .admin-room-group .admin-room-button{width:100%;margin-left:0;margin-right:0}
@media(max-width:820px){.room-list .admin-room-group{padding-bottom:6px}.room-list .admin-room-group .room-group-title{margin-top:10px}}


/* V36.3 — identification directe des expéditeurs de MP non lus */
.private-unread-senders{margin:0 10px 8px;padding:8px;border:1px solid #e2b2b2;border-radius:9px;background:#fff7f7}
.private-unread-senders>strong{display:block;margin-bottom:6px;color:#8f2929;font-size:.61rem}
.private-unread-senders>div{display:grid;gap:5px}
.private-unread-senders button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:7px 9px;border:1px solid #efc7c7;border-radius:7px;background:#fff;color:#173f78;font:inherit;font-weight:800;text-align:left}
.private-unread-senders button b{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#d92f2f;color:#fff;font-size:.57rem}
.user-row.has-unread-private{background:#fff8f8;border-radius:7px;border-bottom-color:#efcaca}
.private-row-unread{grid-column:3 / -1;justify-self:start;margin:2px 0 1px;padding:4px 7px;border:0;border-radius:999px;background:#d92f2f;color:#fff;font-size:.49rem;font-weight:900}
.private-message-button.has-unread{background:#d92f2f!important;border-color:#b92121!important;color:#fff!important}
@media(max-width:820px){
  .rank-legend{display:none!important}
  .private-unread-senders{margin-top:7px}
  .user-row{grid-template-columns:10px 18px minmax(0,1fr) auto}
  .private-row-unread{grid-column:3 / 5}
}
