.cuba-chess-app {
    --board-size: 650px;
    --light: #eeeed2;
    --dark: #769656;
    --shell: #565b56;
    --panel: #656b65;
    --panel-2: #737a73;
    --panel-3: #818881;
    --text: #fff;
    --muted: #e0e3dd;
    --muted-2: #c4cac3;
    --accent: #81b64c;
    --accent-strong: #6da63b;
    --danger: #c84f4f;
    --danger-strong: #a93d3d;
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding: 12px 8px;
    color: var(--text);
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.cuba-chess-app *, .cuba-chess-app *::before, .cuba-chess-app *::after { box-sizing: border-box; }
.cuba-chess-app [hidden] { display: none !important; }

.cuba-chess-shell {
    position: relative;
    width: min(100%, 1120px);
    margin: 0 auto;
    padding: 16px;
    border: 1px solid rgba(255,255,255,.11);
    border-radius: 22px;
    background: var(--shell);
    box-shadow: 0 18px 55px rgba(35,40,35,.16);
    overflow: hidden;
}
.cuba-chess-disabled { min-height: 180px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; }
.cuba-chess-disabled strong { font-size:24px; }
.cuba-chess-disabled span { color:var(--muted); }

.cuba-chess-topbar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:0 0 10px; }
.cuba-chess-kicker { color:#c8ee9e; font-size:11px; font-weight:850; letter-spacing:.14em; }
.cuba-chess-title { margin:1px 0 0; color:#fff; font-size:clamp(27px,4vw,39px); line-height:1; }

.cuba-chess-resign {
    appearance:none; border:1px solid rgba(255,255,255,.22); border-radius:12px; padding:11px 18px;
    background:var(--danger); color:#fff; font:inherit; font-weight:900; line-height:1.1; cursor:pointer;
    box-shadow:0 5px 14px rgba(90,20,20,.18); transition:background .16s ease, transform .16s ease, box-shadow .16s ease;
}
.cuba-chess-resign:hover { background:var(--danger-strong); box-shadow:0 7px 18px rgba(90,20,20,.25); }
.cuba-chess-resign:active { transform:translateY(1px); }

.cuba-chess-setup, .cuba-chess-search, .cuba-chess-found {
    width:min(100%,590px); margin:26px auto 12px; padding:28px 24px; border:1px solid rgba(255,255,255,.12);
    border-radius:19px; background:rgba(101,107,101,.94); text-align:center;
}
.cuba-chess-setup-icon { color:#eef4e6; font-size:52px; line-height:1; }
.cuba-chess-setup h3, .cuba-chess-search h3, .cuba-chess-found h3 { margin:10px 0 6px; color:#fff; font-size:26px; }
.cuba-chess-setup p, .cuba-chess-search p, .cuba-chess-found p { margin:0 auto; max-width:470px; color:var(--muted); }
.cuba-chess-time-picker { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:22px 0 14px; }
.cuba-chess-time-choice {
    appearance:none; min-height:82px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
    border:2px solid transparent; border-radius:14px; background:var(--panel-2); color:#fff; font:inherit; cursor:pointer;
}
.cuba-chess-time-choice span { font-size:23px; }
.cuba-chess-time-choice strong { font-size:16px; }
.cuba-chess-time-choice.is-selected { border-color:var(--accent); background:#687861; box-shadow:0 0 0 2px rgba(129,182,76,.18); }
.cuba-chess-my-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:12px 0 14px; }
.cuba-chess-my-stats span { padding:8px 6px; border-radius:10px; background:rgba(255,255,255,.08); }
.cuba-chess-my-stats small { display:block; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.cuba-chess-my-stats strong { display:block; margin-top:2px; font-size:15px; }
.cuba-chess-start, .cuba-chess-presence-ok {
    appearance:none; width:100%; border:0; border-radius:13px; padding:13px 18px; background:var(--accent); color:#fff; font:inherit; font-weight:900; cursor:pointer;
}
.cuba-chess-start:hover, .cuba-chess-presence-ok:hover, .cuba-chess-result-primary:hover { background:var(--accent-strong); }

.cuba-chess-hourglass { width:80px; height:80px; margin:0 auto; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.08); }
.cuba-chess-hourglass span { display:block; font-size:48px; animation:cuba-hourglass 1.5s ease-in-out infinite; }
@keyframes cuba-hourglass { 0%,15%{transform:rotate(0)} 45%,65%{transform:rotate(180deg)} 100%{transform:rotate(360deg)} }
.cuba-chess-cancel-search { appearance:none; margin-top:22px; border:1px solid rgba(255,255,255,.2); border-radius:11px; padding:10px 16px; background:rgba(255,255,255,.08); color:#fff; font:inherit; font-weight:800; cursor:pointer; }

.cuba-chess-found-check { width:60px; height:60px; display:grid; place-items:center; margin:0 auto; border-radius:50%; background:var(--accent); color:#fff; font-size:34px; font-weight:900; }
.cuba-chess-found-vs { display:grid; grid-template-columns:1fr auto 1fr; gap:16px; align-items:center; margin:22px 0 14px; }
.cuba-chess-found-vs > strong { font-size:19px; color:#d7f1b9; }
.cuba-chess-found-player { display:flex; flex-direction:column; align-items:center; min-width:0; }
.cuba-chess-found-avatar { width:58px; height:58px; display:grid; place-items:center; border-radius:50%; overflow:hidden; background:#899087; font-size:30px; }
.cuba-chess-found-avatar img { width:100%; height:100%; object-fit:cover; }
.cuba-chess-found-player strong { max-width:100%; margin-top:6px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.cuba-chess-found-player span { color:var(--muted); font-size:12px; }

.cuba-chess-game { display:flex; flex-direction:column; width:100%; }
.cuba-chess-player { position:relative; width:100%; margin:6px 0; padding:10px 11px; border:1px solid rgba(255,255,255,.11); border-radius:15px; background:var(--panel); transition:.18s ease; }
.cuba-chess-player.is-active { border-color:rgba(129,182,76,.95); background:#64715f; box-shadow:0 0 0 2px rgba(129,182,76,.16); }
.cuba-chess-player-main { display:flex; align-items:center; gap:11px; }
.cuba-chess-avatar { flex:0 0 43px; width:43px; height:43px; display:grid; place-items:center; overflow:hidden; border-radius:50%; background:#848b83; border:1px solid rgba(255,255,255,.16); color:#fff; font-size:26px; }
.cuba-chess-avatar img { width:100%; height:100%; object-fit:cover; }
.cuba-chess-player-body { flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.cuba-chess-player-info { min-width:0; display:flex; flex-direction:column; }
.cuba-chess-player-info strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#fff; font-size:17px; line-height:1.12; }
.cuba-chess-player-info > span { color:var(--muted); font-size:12px; }
.cuba-chess-rating-inline { white-space:nowrap; }
.cuba-chess-captured { min-height:22px; display:flex; flex-wrap:wrap; align-items:center; gap:1px 4px; color:var(--muted-2); font-size:11px; line-height:1; }
.cuba-chess-captured.is-empty { color:#d0d4cd; }
.cuba-chess-captured-piece { display:inline-flex; align-items:center; justify-content:center; font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Arial Unicode MS",sans-serif; font-size:21px; line-height:1; }
.cuba-chess-captured-piece.white { color:#fff; text-shadow:-1px -1px 0 #434843,1px -1px 0 #434843,-1px 1px 0 #434843,1px 1px 0 #434843; }
.cuba-chess-captured-piece.black { color:#151815; text-shadow:-1px -1px 0 #fff,1px -1px 0 #fff,-1px 1px 0 #fff,1px 1px 0 #fff,0 2px 2px rgba(0,0,0,.15); }
.cuba-chess-clock { flex:0 0 auto; min-width:88px; padding:10px; border-radius:10px; background:#f1f2ed; color:#303430; font-variant-numeric:tabular-nums; font-size:22px; font-weight:950; line-height:1; text-align:center; transition:.16s ease; }
.cuba-chess-clock.is-active { background:var(--accent); color:#fff; transform:scale(1.025); }
.cuba-chess-clock.is-low { background:#d05a50; color:#fff; }

.cuba-chess-board-wrap { width:var(--board-size); max-width:100%; margin:0 auto; }
.cuba-chess-status { min-height:28px; display:flex; align-items:center; justify-content:center; padding:2px 8px 6px; color:#fff; font-size:13px; font-weight:850; text-align:center; }
.cuba-chess-status.is-check { color:#ffe1dc; }
.cuba-chess-board-stage { position:relative; width:100%; }
.cuba-chess-board {
    position:relative; width:100%!important; aspect-ratio:1/1!important; display:grid!important;
    grid-template-columns:repeat(8,minmax(0,1fr))!important; grid-template-rows:repeat(8,minmax(0,1fr))!important;
    gap:0!important; margin:0!important; padding:0!important; overflow:hidden!important; border:3px solid #404640; border-radius:9px;
    box-shadow:0 16px 34px rgba(30,36,30,.22); user-select:none; touch-action:manipulation; container-type:inline-size;
}
.cuba-chess-app .cuba-chess-square, .cuba-chess-app button.cuba-chess-square {
    appearance:none!important; -webkit-appearance:none!important; position:relative!important; display:grid!important; place-items:center!important;
    min-width:0!important; min-height:0!important; width:100%!important; height:100%!important; margin:0!important; padding:0!important;
    border:0!important; border-radius:0!important; box-shadow:none!important; line-height:1!important; cursor:pointer; overflow:hidden;
    font-family:"Segoe UI Symbol","Noto Sans Symbols 2","Arial Unicode MS",sans-serif!important;
}
.cuba-chess-square.light { background:var(--light)!important; }
.cuba-chess-square.dark { background:var(--dark)!important; }
.cuba-chess-square.selected::after { content:""; position:absolute; inset:5%; z-index:5; border:max(2px,.35vw) solid rgba(246,246,100,.94); border-radius:9%; pointer-events:none; }
.cuba-chess-square.legal::before { content:""; position:absolute; width:24%; aspect-ratio:1; border-radius:50%; background:rgba(34,83,29,.52); z-index:2; pointer-events:none; }
.cuba-chess-square.capture::before { width:74%; border:max(3px,.4vw) solid rgba(34,83,29,.52); background:transparent; }
.cuba-chess-piece { position:relative; z-index:3; display:block; width:100%; text-align:center; font-size:clamp(33px,9.15cqw,78px); line-height:1!important; transform:translateY(-1px); filter:drop-shadow(0 1px 1px rgba(0,0,0,.18)); pointer-events:none; }
@supports not (font-size:1cqw) { .cuba-chess-piece { font-size:clamp(33px,8.8vw,78px); } }
.cuba-chess-piece.white { color:#fbfbf7; text-shadow:-1.35px -1.35px 0 #252925,1.35px -1.35px 0 #252925,-1.35px 1.35px 0 #252925,1.35px 1.35px 0 #252925,0 2px 2px rgba(0,0,0,.16); }
.cuba-chess-piece.black { color:#202420; text-shadow:0 1px 0 rgba(255,255,255,.18),0 2px 2px rgba(0,0,0,.18); }
.cuba-chess-coord-file,.cuba-chess-coord-rank { position:absolute; z-index:4; font-family:system-ui,sans-serif; font-size:clamp(8px,1.35cqw,11px); line-height:1; font-weight:900; opacity:.82; pointer-events:none; }
.cuba-chess-coord-file { right:3px; bottom:2px; } .cuba-chess-coord-rank { left:3px; top:2px; }
.cuba-chess-square.light .cuba-chess-coord-file,.cuba-chess-square.light .cuba-chess-coord-rank { color:#5f783f; }
.cuba-chess-square.dark .cuba-chess-coord-file,.cuba-chess-square.dark .cuba-chess-coord-rank { color:#e7edcd; }
.cuba-chess-help { display:flex; justify-content:center; flex-wrap:wrap; gap:5px 14px; margin-top:5px; color:var(--muted); font-size:11px; text-align:center; }

/* Orden vertical: rival arriba, usuario abajo. */
.cuba-chess-app.local-w .cuba-chess-game .cuba-chess-player-black { order:1; }
.cuba-chess-app.local-w .cuba-chess-game .cuba-chess-board-wrap { order:2; }
.cuba-chess-app.local-w .cuba-chess-game .cuba-chess-player-white { order:3; }
.cuba-chess-app.local-b .cuba-chess-game .cuba-chess-player-white { order:1; }
.cuba-chess-app.local-b .cuba-chess-game .cuba-chess-board-wrap { order:2; }
.cuba-chess-app.local-b .cuba-chess-game .cuba-chess-player-black { order:3; }
.cuba-chess-help { order:4; }

.cuba-chess-result-overlay { position:absolute; inset:0; z-index:20; display:grid; place-items:center; padding:18px; background:rgba(70,76,70,.45); backdrop-filter:blur(1.5px); }
.cuba-chess-result-card { width:min(92%,345px); padding:22px 18px; border:1px solid rgba(255,255,255,.18); border-radius:17px; background:rgba(92,99,92,.98); color:#fff; text-align:center; box-shadow:0 18px 50px rgba(0,0,0,.22); }
.cuba-chess-result-icon { font-size:40px; line-height:1; }
.cuba-chess-result-card>strong { display:block; margin-top:8px; font-size:22px; }
.cuba-chess-result-card>span { display:block; margin-top:4px; color:#eef0eb; }
.cuba-chess-rating-change { min-height:20px; color:#d5f4b3!important; font-weight:850; }
.cuba-chess-result-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin-top:16px; }
.cuba-chess-result-actions button { appearance:none; border:0; border-radius:10px; padding:11px; font:inherit; font-weight:850; cursor:pointer; }
.cuba-chess-result-primary { background:var(--accent); color:#fff; }
.cuba-chess-result-secondary, .cuba-chess-result-tertiary { background:#f0f1ed; color:#303430; }
.cuba-chess-result-actions button:disabled { opacity:.7; cursor:wait; }

.cuba-chess-confirm { position:absolute; inset:0; z-index:40; display:grid; place-items:center; padding:18px; background:rgba(63,68,63,.58); backdrop-filter:blur(2px); }
.cuba-chess-confirm-card { position:relative; width:min(92%,370px); padding:22px 18px; border:1px solid rgba(255,255,255,.18); border-radius:17px; background:#747b74; color:#fff; text-align:center; box-shadow:0 20px 55px rgba(0,0,0,.23); }
.cuba-chess-confirm-icon { font-size:38px; }
.cuba-chess-confirm-card strong { display:block; margin-top:5px; font-size:20px; }
.cuba-chess-confirm-card p { margin:8px 0 0; color:#eef0eb; font-size:13px; line-height:1.45; }
.cuba-chess-confirm-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:16px; }
.cuba-chess-confirm-actions button { appearance:none; border:0; border-radius:10px; padding:10px 12px; background:#f0f1ed; color:#303430; font:inherit; font-weight:850; cursor:pointer; }
.cuba-chess-confirm-actions .is-danger { background:var(--danger); color:#fff; }
.cuba-chess-modal-x { position:absolute; top:8px; right:10px; appearance:none; border:0; background:transparent; color:#fff; font-size:25px; cursor:pointer; }
.cuba-chess-presence-count { margin:13px auto 9px; font-size:27px; font-weight:950; font-variant-numeric:tabular-nums; }

/* Escritorio: tablero grande y perfiles al lado. */
@media (min-width:900px) {
    .cuba-chess-app.is-playing .cuba-chess-shell { width:min(100%,1120px); }
    .cuba-chess-game {
        display:grid; grid-template-columns:minmax(500px,var(--board-size)) minmax(245px,285px); grid-template-rows:auto auto 1fr auto;
        grid-template-areas:"board opponent" "board local" "board filler" "board help"; column-gap:18px; align-items:start; justify-content:center;
    }
    .cuba-chess-board-wrap { grid-area:board; width:var(--board-size); margin:0; }
    .cuba-chess-app.local-w .cuba-chess-game .cuba-chess-player-black, .cuba-chess-app.local-b .cuba-chess-game .cuba-chess-player-white { grid-area:opponent; margin-top:28px; }
    .cuba-chess-app.local-w .cuba-chess-game .cuba-chess-player-white, .cuba-chess-app.local-b .cuba-chess-game .cuba-chess-player-black { grid-area:local; margin-top:12px; }
    .cuba-chess-help { grid-area:help; align-self:end; justify-content:flex-start; text-align:left; padding-bottom:4px; }
    .cuba-chess-player { margin-left:0; margin-right:0; }
    .cuba-chess-player-main { align-items:flex-start; flex-wrap:wrap; }
    .cuba-chess-player-body { min-width:150px; }
    .cuba-chess-clock { width:100%; margin-top:8px; font-size:28px; padding:12px 10px; }
    .cuba-chess-avatar { width:50px; height:50px; flex-basis:50px; }
    .cuba-chess-player-info strong { font-size:18px; }
    .cuba-chess-captured { margin-top:3px; }
}

/* Ranking y estadísticas */
.cuba-chess-empty-icon { font-size:54px; color:var(--accent); }
.cuba-chess-stats-card { max-width:680px; padding:18px; border-radius:16px; background:#f5f7f1; color:#263026; }
.cuba-chess-stats-card>div:first-child { display:flex; gap:8px; align-items:center; font-size:21px; }
.cuba-chess-stats-card dl { display:grid; grid-template-columns:repeat(5,1fr); gap:8px; margin:14px 0 0; }
.cuba-chess-stats-card dl div { padding:10px; border-radius:10px; background:#fff; text-align:center; }
.cuba-chess-stats-card dt { font-size:11px; color:#657065; }
.cuba-chess-stats-card dd { margin:2px 0 0; font-size:18px; font-weight:900; }

@media (max-width:899px) {
    .cuba-chess-app { padding:7px 3px; }
    .cuba-chess-shell { width:100%; padding:10px 7px; border-radius:15px; }
    .cuba-chess-topbar { padding:0 3px; }
    .cuba-chess-title { font-size:28px; }
    .cuba-chess-resign { padding:9px 12px; font-size:12px; }
    .cuba-chess-setup,.cuba-chess-search,.cuba-chess-found { margin-top:12px; padding:22px 14px; }
    .cuba-chess-time-picker { gap:7px; }
    .cuba-chess-time-choice { min-height:68px; padding:8px 4px; }
    .cuba-chess-player { margin:5px 0; padding:7px 8px; border-radius:12px; }
    .cuba-chess-player-main { gap:8px; }
    .cuba-chess-avatar { flex-basis:36px; width:36px; height:36px; font-size:22px; }
    .cuba-chess-player-info strong { font-size:15px; }
    .cuba-chess-player-info>span { font-size:11px; }
    .cuba-chess-captured { min-height:18px; }
    .cuba-chess-captured-piece { font-size:18px; }
    .cuba-chess-clock { min-width:75px; padding:8px 7px; font-size:18px; }
    .cuba-chess-board-wrap { width:var(--board-size); max-width:100%; }
    .cuba-chess-status { min-height:23px; padding-bottom:4px; font-size:12px; }
    .cuba-chess-help { margin-top:5px; font-size:10px; }
    .cuba-chess-ranking-hero { flex-direction:column; align-items:stretch; }
}
@media (max-width:430px) {
    .cuba-chess-time-picker { grid-template-columns:1fr; }
    .cuba-chess-time-choice { min-height:54px; flex-direction:row; }
    .cuba-chess-found-vs { gap:8px; }
    .cuba-chess-found-avatar { width:48px; height:48px; }
    .cuba-chess-my-stats { grid-template-columns:1fr 1fr 1fr; }
    .cuba-chess-stats-card dl { grid-template-columns:repeat(2,1fr); }
}

@media (max-width:520px){
  .cuba-chess-result-actions{gap:6px;}
  .cuba-chess-result-actions button{padding:10px 6px;font-size:13px;}
}

/* V0.4.7: acciones finales cómodas en móvil y reto entre los mismos jugadores */
.cuba-chess-result-actions [data-action="search-again"]{grid-column:1 / -1}
.cuba-chess-followup{margin-top:14px;padding:12px;border-radius:12px;background:rgba(255,255,255,.11);border:1px solid rgba(255,255,255,.16);text-align:left}.cuba-chess-followup>strong{display:block;font-size:15px}.cuba-chess-followup>span{display:block;margin-top:4px;font-size:13px;color:#eef0eb}.cuba-chess-followup-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.cuba-chess-followup-actions button{border:0;border-radius:9px;padding:9px 10px;font:inherit;font-weight:850;cursor:pointer}.cuba-chess-followup-actions button:first-child{background:var(--accent);color:#fff}.cuba-chess-followup-actions button:last-child{background:#f0f1ed;color:#303430}
@media(max-width:420px){.cuba-chess-result-card{width:min(96%,360px);padding:18px 14px}.cuba-chess-result-actions button{padding:10px 7px;font-size:13px}}

/* V0.4.8 · última jugada y selector de tiempo para nuevo reto */
.cuba-chess-square.last-move{background:#f6e79a!important;box-shadow:inset 0 0 0 2px rgba(180,145,25,.22)}
.cuba-chess-square.last-move .cuba-chess-piece{filter:drop-shadow(0 1px 0 rgba(255,255,255,.3))}


/* V0.4.14 · ranking público compacto estilo Dominó */
.cuba-chess-ranking-shell{width:min(100%,1060px);background:#fff!important;color:#102027!important;border:1px solid #dce2df;box-shadow:0 12px 34px rgba(24,39,32,.06)}
.cuba-chess-ranking-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:22px}
.cuba-chess-ranking-hero .cuba-chess-title{margin:0;color:#102027;font-size:42px;font-weight:500;line-height:1.08}
.cuba-chess-ranking-hero p{margin:8px 0 0;color:#17231f;font-size:18px}
.cuba-chess-my-position{min-width:102px;padding:12px 16px;border:1px solid #cfe2d7;border-radius:18px;background:#edf8f2;text-align:center;color:#607068}
.cuba-chess-my-position span{display:block;font-size:12px}.cuba-chess-my-position strong{display:block;margin-top:1px;color:#102027;font-size:28px;line-height:1;font-weight:900}
.cuba-chess-ranking-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cuba-chess-rank-card{min-width:0;display:grid;grid-template-columns:58px 62px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 18px;border:1px solid #d8dedb;border-radius:18px;background:#fff;color:#102027;box-shadow:0 3px 10px rgba(20,35,28,.025)}
.cuba-chess-rank-card.is-podium{background:#fff}.cuba-chess-rank-card.rank-1{border-color:#e7b637}.cuba-chess-rank-card.rank-2{border-color:#c7d0d6}.cuba-chess-rank-card.rank-3{border-color:#d9915f}
.cuba-chess-rank-pos{display:flex;align-items:center;justify-content:center;gap:5px;white-space:nowrap}.cuba-chess-rank-medal{font-size:25px;line-height:1}.cuba-chess-rank-pos strong{font-size:20px;font-weight:850;color:#102027}
.cuba-chess-rank-avatar{width:58px;height:58px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#e8efeb;border:2px solid #fff;box-shadow:0 2px 7px rgba(27,42,35,.15);color:#315e50;font-size:24px;font-weight:900;text-transform:uppercase}
.cuba-chess-rank-avatar img{width:100%;height:100%;display:block;object-fit:cover}
.cuba-chess-rank-player{min-width:0}.cuba-chess-rank-player strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#071914;font-size:18px;font-weight:850}.cuba-chess-rank-player>span{display:block;margin-top:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#69736f;font-size:13px}
@media(max-width:760px){.cuba-chess-ranking-shell{padding:18px 14px}.cuba-chess-ranking-hero .cuba-chess-title{font-size:31px}.cuba-chess-ranking-hero p{font-size:15px}.cuba-chess-ranking-cards{grid-template-columns:1fr}.cuba-chess-rank-card{grid-template-columns:52px 54px minmax(0,1fr);padding:11px 13px;gap:11px}.cuba-chess-rank-avatar{width:52px;height:52px}.cuba-chess-rank-pos strong{font-size:18px}.cuba-chess-rank-medal{font-size:22px}.cuba-chess-rank-player strong{font-size:16px}}
@media(max-width:430px){.cuba-chess-ranking-hero{gap:10px}.cuba-chess-my-position{min-width:86px;padding:10px 11px}.cuba-chess-my-position strong{font-size:24px}.cuba-chess-ranking-hero .cuba-chess-title{font-size:27px}.cuba-chess-ranking-hero p{font-size:13px}.cuba-chess-rank-card{grid-template-columns:46px 48px minmax(0,1fr);padding:10px;gap:9px}.cuba-chess-rank-avatar{width:46px;height:46px;font-size:19px}.cuba-chess-rank-pos strong{font-size:16px}.cuba-chess-rank-medal{font-size:20px}}


/* V0.4.15 · puntuación visible en ranking compacto */
.cuba-chess-rank-rating{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;white-space:nowrap;padding-left:10px}.cuba-chess-rank-rating strong{font-size:22px;font-weight:900;color:#123c32}.cuba-chess-rank-rating span{font-size:12px;color:#7a827e}
@media(max-width:760px){.cuba-chess-rank-card{grid-template-columns:52px 54px minmax(0,1fr) auto}.cuba-chess-rank-rating strong{font-size:19px}}
@media(max-width:430px){.cuba-chess-rank-card{grid-template-columns:46px 48px minmax(0,1fr) auto}.cuba-chess-rank-rating{padding-left:4px;gap:3px}.cuba-chess-rank-rating strong{font-size:17px}.cuba-chess-rank-rating span{font-size:10px}}
