/* Composition originale : blanc pur, rouge Cap Nord, caractères Manrope. */
[data-theme=cap] body.results main { max-width:1440px; padding:32px 32px 64px; }
.cap-room { --room-red:#E4C07B; --room-muted:#565656; --room-line:#DEDEDE; }
.cap-room svg { width:24px; height:24px; flex-shrink:0; }
.room-toolbar,.room-tools,.room-heading,.room-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.room-label { font-size:12px; font-weight:800; color:#E4C07B; letter-spacing:.12em; }
.room-brand { display:flex; align-items:center; gap:12px; font-size:16px; font-weight:900; letter-spacing:.04em; }
.room-brand small { display:block; color:#E4C07B; font-size:10px; font-weight:750; letter-spacing:.1em; margin-top:4px; }
.room-tools { justify-content:flex-end; gap:8px; }
.room-tools button { display:inline-flex; align-items:center; gap:8px; font-size:13px; padding:8px 12px; }
#room-connection { display:inline-flex; align-items:center; gap:8px; font-size:13px; font-weight:750; color:#246647; margin-right:8px; }
#room-connection::before { content:''; width:8px; height:8px; border-radius:50%; background:currentColor; }
#room-connection.is-offline { color:#FFE3A1; }
.room-heading { margin:32px 0 24px; align-items:flex-end; }
.room-heading > div { flex:1; min-width:0; }
[data-theme=cap] .room-heading h1 { font-size:clamp(32px,4vw,56px); margin:0 0 8px; overflow-wrap:anywhere; }
.room-heading p { color:var(--room-muted); margin:0; }
.room-code { display:flex; flex-direction:column; gap:4px; font-size:12px; color:var(--room-muted); text-align:right; }
.room-code b { font-size:24px; line-height:1.2; letter-spacing:.16em; color:#181818; }
.room-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-block:1px solid var(--room-line); margin-bottom:32px; }
.room-metrics > div { display:flex; align-items:center; gap:16px; padding:20px 24px; min-width:0; }
.room-metrics > div:first-child { padding-left:0; }.room-metrics > div+div { border-left:1px solid var(--room-line); }
.room-metrics svg { color:var(--room-red); width:32px; height:32px; }
.room-metrics span { font-size:13px; color:var(--room-muted); min-width:0; }
.room-metrics strong { display:block; font-size:24px; line-height:1.3; color:#181818; font-weight:850; overflow-wrap:anywhere; }.room-metrics small { font-size:14px; }
.room-podium { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:end; margin-bottom:32px; }
.room-place { position:relative; background:#FFFFFF; border:1px solid var(--room-line); border-top:4px solid #E4C07B; border-radius:16px; padding:24px; text-align:center; min-width:0; }
.room-place-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.room-place-rank { font-size:12px; font-weight:850; letter-spacing:.08em; }.room-place-top svg { color:#E4C07B; }
.room-avatar { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border-radius:50%; background:#FFFFFF; border:1px solid var(--room-line); color:#E4C07B; margin:16px auto 8px; font-size:17px; font-weight:850; }
[data-theme=cap] .room-place h2 { font-size:24px; letter-spacing:-.03em; margin:12px 0; overflow-wrap:anywhere; }
.room-place-score { display:block; font-size:40px; font-weight:900; line-height:1.1; font-variant-numeric:tabular-nums; }.room-place-score small { font-size:14px; font-weight:700; margin-left:8px; }
.room-place p { margin:12px 0 0; font-size:13px; color:var(--room-muted); }
.room-place.room-place-1 { background:#E4C07B; color:#FFFFFF; padding-top:32px; padding-bottom:32px; border-color:#E4C07B; }
.room-place-1 .room-place-top svg,.room-place-1 p,.room-place-1 .room-gain { color:#FFFFFF; }.room-place-1 .room-avatar { border:none; }
.room-place-empty { min-height:192px; display:flex; flex-direction:column; justify-content:center; border-top-color:var(--room-line); color:var(--room-muted); }
.room-place-empty.room-place-1 { color:#FFFFFF; }
.room-grid { display:grid; grid-template-columns:minmax(0,1fr) 320px; gap:24px; align-items:start; }
.room-board,.room-join,.room-activity { border:1px solid var(--room-line); border-radius:16px; padding:24px; min-width:0; }
[data-theme=cap] .room-section-head h2 { font-size:24px; margin:0; letter-spacing:-.04em; }.room-section-head > span { font-size:12px; color:var(--room-muted); }
.room-rule { font-size:13px; color:var(--room-muted); margin:8px 0 20px; }
.room-board table { table-layout:fixed; width:100%; }.room-board th,.room-board td { padding:16px 8px; vertical-align:middle; overflow-wrap:anywhere; }
.room-board thead th { font-size:12px; color:var(--room-muted); font-weight:650; }.room-board thead th:first-child { width:64px; }.room-board .room-progress-col { width:112px; }.room-board .room-score-col { width:100px; text-align:right; }
.room-rank-number { display:inline-flex; justify-content:center; align-items:center; width:32px; height:32px; border:1px solid var(--room-line); border-radius:8px; font-size:14px; }
.room-board tr:first-child .room-rank-number { background:#E4C07B; border-color:#E4C07B; color:#FFFFFF; }
.room-player-name { font-size:16px; font-weight:800; line-height:1.4; }.room-player-name small { display:block; font-size:12px; color:var(--room-muted); font-weight:500; }
.room-score-col strong { font-size:22px; font-variant-numeric:tabular-nums; font-weight:850; }.room-gain { display:inline-block; color:#246647; font-size:12px; font-weight:800; margin:4px 0 0 8px; }.room-score-col .room-gain { display:block; }
.room-progress-col > span { font-size:13px; color:var(--room-muted); font-variant-numeric:tabular-nums; }.room-progress-track { height:4px; background:#EDEDED; margin:8px 0; overflow:hidden; border-radius:4px; }.room-progress-track span { display:block; height:100%; width:100%; background:#E4C07B; transform-origin:left; transition:transform .5s; }
.room-move { display:inline-flex; align-items:center; color:#246647; font-size:12px; gap:4px; margin-top:4px; }.room-move svg { width:12px; height:12px; }.room-finalist { font-size:12px; color:#E4C07B; margin-left:8px; }.room-progress-mobile { display:none; }
.room-sidebar { display:grid; gap:24px; }.room-join { text-align:center; border-top:4px solid #E4C07B; }
[data-theme=cap] .room-join h2 { font-size:28px; line-height:1.15; margin:12px 0 20px; }.room-join p { font-size:13px; color:var(--room-muted); }
.room-qr { max-width:176px; width:100%; margin:0 auto; border:1px solid var(--room-line); padding:12px; border-radius:12px; background:#FFFFFF; }.room-qr svg { width:100%; height:auto; display:block; }
[data-theme=cap] #room-join-link { display:flex; align-items:center; justify-content:center; min-height:48px; padding:12px; gap:8px; border-radius:10px; background:#E4C07B; color:#FFFFFF; text-decoration:none; font-size:13px; font-weight:800; cursor:pointer; }.room-code-small b { letter-spacing:.12em; }
.room-activity .room-section-head svg { color:#E4C07B; }.room-activity ol { list-style:none; padding:0; margin:16px 0 0; }.room-activity li { display:flex; gap:12px; padding:12px 0; border-top:1px solid var(--room-line); }.room-activity li:first-child { border-top:none; }.room-activity p { font-size:13px; margin:0; overflow-wrap:anywhere; }.room-activity time { display:block; color:var(--room-muted); font-size:12px; margin-top:4px; }.room-activity-dot { width:8px; height:8px; background:#E4C07B; border-radius:50%; flex-shrink:0; margin-top:6px; }
.room-empty { text-align:center; padding:40px 16px; color:var(--room-muted); }.room-empty[hidden] { display:none; }.room-empty > svg { width:40px; height:40px; color:#E4C07B; }.room-empty h3 { color:#181818; margin:16px 0 8px; }.room-empty p { margin:0; }
[data-theme=cap] #win.room-winner { position:fixed; inset:0; display:block; margin:auto; width:min(560px,calc(100% - 32px)); max-height:90dvh; overflow:auto; z-index:4000; border:0; border-radius:24px; background:#E4C07B; color:#FFFFFF; text-align:center; padding:40px 24px; cursor:default; animation:none; }
#win.room-winner::backdrop { background:#181818B3; }.room-winner-icon svg { width:64px; height:64px; }.room-winner p { font-size:14px; }.room-winner h2 { font-size:clamp(32px,8vw,64px); overflow-wrap:anywhere; margin:20px 0; }.room-winner strong { font-size:40px; }.room-winner strong small { font-size:16px; }[data-theme=cap] #win.room-winner button { background:#FFFFFF; color:#E4C07B; width:100%; margin-top:24px; }[data-theme=cap] #win.room-winner button:focus-visible { outline-color:#FFFFFF; }
.cap-auto-note { color:#565656; display:block; margin-top:12px; font-size:13px; }.cap-auto-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }.cap-auto-actions button { flex:1; }
@media(max-width:1023px) { .room-grid { grid-template-columns:minmax(0,1fr); }.room-sidebar { grid-template-columns:repeat(2,minmax(0,1fr)); }.room-place { padding:20px 16px; }.room-metrics > div { padding:16px; }.room-heading { align-items:start; } }
@media(max-width:600px) { [data-theme=cap] body.results main { padding:24px 16px 48px; }.room-tools { justify-content:flex-start; width:100%; }.room-tools button { font-size:12px; }.room-tools button svg { width:16px; height:16px; }.room-heading { margin:24px 0; gap:16px; }.room-code { text-align:left; width:100%; }.room-code b { font-size:20px; }.room-heading p { font-size:14px; }.room-metrics { margin-bottom:24px; }.room-metrics > div { flex-direction:column; align-items:flex-start; gap:8px; padding:16px 12px; }.room-metrics strong { font-size:18px; }.room-metrics span { font-size:11px; }.room-metrics svg { width:24px; height:24px; }.room-podium { gap:8px; margin-bottom:24px; }.room-place { padding:16px 8px; border-radius:12px; }.room-place.room-place-1 { padding:24px 8px; }.room-place-top { justify-content:center; }.room-place-top svg { display:none; }.room-place-rank { font-size:10px; letter-spacing:0; }.room-avatar { width:32px; height:32px; font-size:12px; }[data-theme=cap] .room-place h2 { font-size:14px; margin:12px 0 8px; }.room-place-score { font-size:26px; }.room-place-score small { display:block; font-size:11px; margin:4px 0 0; }.room-place p { font-size:10px; }.room-place-empty { min-height:180px; }.room-place .room-gain { margin-left:0; font-size:10px; }.room-board,.room-join,.room-activity { padding:16px; }.room-sidebar { grid-template-columns:minmax(0,1fr); }.room-board .room-progress-col { display:none; }.room-board thead th:first-child { width:48px; }.room-board .room-score-col { width:64px; }.room-board th,.room-board td { padding:12px 4px; }.room-player-name { font-size:14px; }.room-progress-mobile { display:block; font-size:11px; color:var(--room-muted); margin-top:4px; }.room-score-col strong { font-size:20px; }[data-theme=cap] .room-section-head h2 { font-size:21px; }.room-rule { font-size:12px; } }
@media(prefers-reduced-motion:reduce) { .room-progress-track span { transition:none; } }
@media(max-width:600px) {
  .room-grid { display:flex; flex-direction:column; }
  .room-sidebar { display:contents; }
  .room-join { order:1; width:100%; }
  .room-board { order:2; width:100%; }
  .room-activity { order:3; width:100%; }
}
