/* Feed geometry is independent of viewport orientation and intrinsic media size. */
.rtp-buddypress-shell,.rtp-content-grid>* ,#buddypress .bp-wrap,#buddypress .activity,#buddypress .activity-list{min-width:0!important;max-width:100%!important;box-sizing:border-box!important}
#buddypress .activity-list{width:100%!important;padding-inline:0!important;margin-inline:0!important}
#buddypress .activity-list .rtp-activity-card{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;grid-template-columns:minmax(0,1fr)!important;overflow:visible!important}
#buddypress .activity-list .rtp-activity-card>.rtp-feed-headrow,
#buddypress .activity-list .rtp-activity-card>.rtp-feed-content,
#buddypress .activity-list .rtp-activity-card>.activity-content{grid-column:1/-1!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important}
#buddypress .rtp-activity-card .rtp-feed-header{min-width:0!important;overflow-wrap:anywhere!important}
#buddypress .rtp-activity-card .rtp-feed-body,
#buddypress .rtp-activity-card .activity-inner,
#buddypress .rtp-activity-card .rtp-activity-media,
#buddypress .rtp-activity-card .rtp-activity-photo-grid{box-sizing:border-box!important;min-width:0!important;max-width:100%!important;width:100%!important;margin-inline:0!important;overflow-wrap:anywhere!important}
#buddypress .rtp-activity-card .activity-inner img:not(.avatar),
#buddypress .rtp-activity-card .rtp-feed-body img:not(.avatar),
#buddypress .rtp-activity-card .rtp-activity-media img:not(.avatar){display:block!important;width:auto!important;max-width:100%!important;height:auto!important;object-fit:contain!important;margin-inline:auto!important;border-radius:18px!important}
#buddypress .rtp-activity-card :is(video,iframe){box-sizing:border-box!important;display:block!important;width:100%!important;max-width:100%!important;border-radius:18px!important}
#buddypress .rtp-activity-card .rtp-match-card{width:100%!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important;margin-inline:0!important}
#buddypress .rtp-activity-card .rtp-match-copy{min-width:0!important;overflow-wrap:anywhere!important}
#buddypress .rtp-activity-card :is(.activity-meta,.rtp-feed-actions,.rtp-reactions){max-width:100%!important;min-width:0!important;flex-wrap:wrap!important;box-sizing:border-box!important}
/* The composer already has its 44px author header. Nouveau's repeated avatar is hidden. */
#buddypress .rtp-composer-shell #whats-new-avatar{display:none!important}
#buddypress .rtp-composer-shell #whats-new-content{margin-inline:0!important;padding-inline:0!important;min-width:0!important;width:100%!important;max-width:100%!important;box-sizing:border-box!important}
#buddypress .rtp-composer-shell :is(#whats-new-form,#whats-new-textarea,#whats-new-options){box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin-inline:0!important}
#buddypress .rtp-composer-shell #whats-new{box-sizing:border-box!important;min-height:72px!important;height:auto;max-width:100%!important;width:100%!important;border-radius:16px!important}
.rtp-composer-avatar,.rtp-composer-avatar img{width:44px!important;height:44px!important;flex:0 0 44px!important;border-radius:50%!important;object-fit:cover!important}
/* A restrained gamer palette replaces alert red, without changing destructive actions. */
.rtp-mobile-nav .rtp-mobile-badge,.rtp-side-link .rtp-menu-badge,.rtp-top-actions .rtp-icon-button>b{
  background:linear-gradient(135deg,#7865e8,#5645b8)!important;color:#fff!important;border:1px solid #d6caff!important;
  border-radius:7px 3px 7px 3px!important;min-width:19px!important;min-height:19px!important;padding:0 5px!important;font-size:11px!important;line-height:19px!important;box-shadow:0 2px 7px #6254bb33!important
}
.rtp-mobile-nav .rt-game-menu-alert,.rtp-side-link.rt-game-menu-alert,
.rtp-mobile-nav .rt-truco-menu-alert{color:#6753c8!important;background:linear-gradient(140deg,#eee9ff,#f9f7ff)!important;border-color:#d8cdfa!important;animation:none!important}
.rtp-mobile-nav .rt-truco-menu-alert:before,.rtp-mobile-nav .rt-truco-menu-alert:after{display:none!important;animation:none!important}
html[data-theme="dark"] :is(.rt-game-menu-alert,.rt-truco-menu-alert){color:#e3d5ff!important;background:linear-gradient(140deg,#393059,#25213c)!important}
.rtp-mobile-nav{grid-template-columns:none!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
.rtp-mobile-nav>a{min-width:0!important;flex:1 1 0!important}
.rtp-mobile-nav>a>span{font-size:clamp(9px,2.4vw,12px)!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
@media(max-width:640px){#buddypress .rtp-activity-card .rtp-match-card{gap:12px!important;padding:18px!important}#buddypress .rtp-activity-card .rtp-match-emblem{width:44px!important;min-width:44px!important;height:56px!important}#buddypress .rtp-activity-card .rtp-match-copy h3{font-size:1.1rem!important}}

#buddypress .rtp-activity-card>.rtp-feed-comments{grid-column:1/-1!important;min-width:0!important;max-width:100%!important;box-sizing:border-box!important}

.rtp-mobile-nav a.rt-truco-menu-alert,.rtp-side-link.rt-truco-menu-alert{color:#6753c8!important;background:linear-gradient(140deg,#eee9ff,#f9f7ff)!important}
.rtp-mobile-nav a.rt-truco-menu-alert svg,.rtp-side-link.rt-truco-menu-alert svg{color:inherit!important;filter:drop-shadow(0 2px 4px #6753c822)!important;animation:none!important}
.rtp-mobile-nav a.rt-truco-menu-alert:before,.rtp-mobile-nav a.rt-truco-menu-alert:after,.rtp-side-link.rt-truco-menu-alert:after{display:none!important;animation:none!important}
.rtp-mobile-nav .rtp-mobile-badge,.rtp-side-link .rtp-menu-badge{animation:none!important}
html[data-theme="dark"] .rtp-mobile-nav a.rt-truco-menu-alert,html[data-theme="dark"] .rtp-side-link.rt-truco-menu-alert{color:#e3d5ff!important;background:linear-gradient(140deg,#393059,#25213c)!important}
#buddypress .rtp-activity-card .activity-inner>div,
#buddypress .rtp-activity-card .activity-inner figure,
#buddypress .rtp-activity-card .activity-inner .wp-block-image{box-sizing:border-box!important;min-width:0!important;width:100%!important;max-width:100%!important;margin-inline:0!important}

/* Feed cards cannot derive their inline size from an intrinsic image or SVG. */
#buddypress .activity-list>.rtp-activity-card{contain:inline-size!important;float:none!important;display:block!important;clear:both!important}
#buddypress .rtp-activity-card :is(.rtp-feed-content,.activity-inner,.activity-inner>p,.activity-inner>a,.rtp-activity-photo-grid>a,figure){min-inline-size:0!important;max-inline-size:100%!important;box-sizing:border-box!important;overflow-wrap:anywhere!important}
#buddypress .rtp-activity-card .activity-inner>a{display:block!important}
#buddypress .rtp-activity-card .activity-inner :is(img:not(.avatar),video,iframe){max-inline-size:100%!important;min-inline-size:0!important}
#buddypress .rtp-activity-card .activity-inner svg{max-inline-size:100%!important;max-block-size:240px!important;width:min(100%,240px)!important;height:auto!important;display:block;margin-inline:auto}
#buddypress .rtp-activity-card .rtp-feed-headrow{display:flex!important;align-items:center!important;gap:12px!important;min-width:0!important}
#buddypress .rtp-activity-card .rtp-feed-headrow>.rtp-feed-avatar-wrap{flex:0 0 48px!important;width:48px!important}
#buddypress .rtp-feed-header{flex:1 1 0!important;min-width:0!important}
.rtp-ready-game{display:grid!important;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:10px;padding:16px!important;border:1px solid #cfc2ee;border-radius:20px!important;background:linear-gradient(130deg,#f3efff,#e8e3fa)!important;box-shadow:0 6px 18px #51448014;color:#352658!important;min-height:70px;text-decoration:none!important;max-width:100%;box-sizing:border-box}
.rtp-ready-game.is-truco{background:linear-gradient(130deg,#ebfaf6,#dbeee9)!important;border-color:#b6dad0;color:#164e45!important}
.rtp-ready-game .rtp-ready-enter{grid-column:2;font-weight:900;display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:12px;background:#6c51cd;color:white;padding:8px 14px;justify-self:start}
.rtp-ready-game.is-truco .rtp-ready-enter{background:#227265}.rtp-ready-game small{grid-column:3;grid-row:1/3}.rtp-ready-emblem{font-size:28px;grid-row:1/3}
.rtp-ready-game:focus-visible,.rtp-compose-publish:focus-visible{outline:3px solid #9d80ff;outline-offset:3px}
.rtp-composer-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:8px!important;margin-top:12px!important;border-top:1px solid var(--rtp-line);padding-top:12px!important}
.rtp-compose-publish{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;min-height:46px;min-width:110px;margin-left:auto;padding:10px 18px;border:0;border-radius:14px;background:linear-gradient(130deg,#7c65eb,#5a40c1);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 6px 16px #6950d42b}
.rtp-compose-publish:disabled{opacity:.6;cursor:wait}.rtp-video-draft{margin:14px 0}.rtp-composer-shell #whats-new-options #whats-new-submit{position:static!important}
.is-location-required{padding:16px!important;border:2px solid #bc425d!important;border-radius:18px!important;background:color-mix(in srgb,#bc425d 7%,var(--rtp-surface))!important;scroll-margin-top:120px}.is-location-required label>span{color:#b63050;font-weight:850}.is-location-required select:invalid{border-color:#bc425d!important}
.rtp-account-profile-warning{border:1px solid #bc425d!important;background:#fff0f3!important;color:#9a2942!important}.rtp-register-steps{padding-left:22px;line-height:1.9}
@media(max-width:900px){body.rtp-scroll-top .rtp-mobile-nav,body:not(.rtp-scroll-down) .rtp-mobile-nav{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}body.rtp-scroll-down .rtp-mobile-nav{transform:translateY(calc(100% + 40px))!important;opacity:0!important;pointer-events:none!important}body.rtp-scroll-down .rtp-topbar{transform:translateY(calc(-100% - 50px))!important;opacity:0!important;pointer-events:none!important}}
@media(orientation:landscape) and (max-height:600px) and (max-width:900px){body.rtp-scroll-top .rtp-mobile-nav,body:not(.rtp-scroll-down) .rtp-mobile-nav{transform:translate(-50%,0)!important}body.rtp-scroll-down .rtp-mobile-nav{transform:translate(-50%,calc(100% + 40px))!important}}
html[data-theme="dark"] .rtp-ready-game{background:linear-gradient(130deg,#34274e,#27233f)!important;color:#ede8ff!important}html[data-theme="dark"] .rtp-ready-game.is-truco{background:linear-gradient(130deg,#1e4842,#1b3039)!important;color:#e0fbf1!important}html[data-theme="dark"] .rtp-account-profile-warning{background:#3b2532!important;color:#ffc5d1!important}

#buddypress .rtp-composer-shell #aw-whats-new-submit{display:none!important}

/* Same specificity as legacy Nouveau selectors; emojis are not attachment photos. */
#buddypress .activity-list .rtp-activity-card .activity-inner{max-width:100%!important;min-width:0!important;width:100%!important;box-sizing:border-box!important}
#buddypress .activity-list .rtp-activity-card .activity-inner img:not(.avatar):not(.emoji):not(.wp-smiley){max-width:100%!important;min-width:0!important;width:auto!important;height:auto!important;object-fit:contain!important}
#buddypress .activity-list .rtp-activity-card .activity-inner :is(img.emoji,img.wp-smiley){display:inline!important;width:1em!important;height:1em!important;min-width:0!important;max-width:1em!important;min-height:0!important;border-radius:0!important;margin:0 .07em!important;vertical-align:-.1em!important;object-fit:contain!important}
#buddypress .rtp-activity-card .activity-inner :is(audio,object,embed){max-width:100%!important;min-width:0!important}
#buddypress .rtp-activity-card .activity-inner :is(pre,table){max-width:100%!important;overflow:auto!important;display:block!important}

/* Composer action is a separate, always visible footer. */
#buddypress .rtp-composer-shell .rtp-composer-actions{display:flex;align-items:center;gap:14px;padding:16px 0;flex-wrap:wrap;border-bottom:1px solid var(--rtp-line);margin-bottom:16px}
#buddypress .rtp-composer-shell .rtp-composer-actions>p{flex:1 1 180px;margin:0;color:var(--rtp-muted);font-size:.8rem}
#buddypress .rtp-composer-shell [data-rt-compose-publish]{display:inline-flex!important;visibility:visible!important;opacity:1;min-height:48px!important;min-width:130px!important;flex:0 0 auto}
#buddypress .rtp-composer-shell [data-rt-video-preview] video{width:100%!important;max-height:280px!important;border-radius:18px!important;object-fit:contain;background:#171927}
#buddypress .rtp-composer-shell .rtp-media-preview-item{position:relative;max-width:220px}
.rtp-existing-code{margin-bottom:18px}
/* Intrinsic clip ratio is fixed before paint, then refined by loaded metadata. */
#buddypress .rtp-activity-card .rtp-feed-video{position:relative;display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:0;aspect-ratio:var(--rt-video-ratio,16/9);max-height:min(72svh,640px);margin:12px auto;border-radius:20px;overflow:hidden;background:#171b2a;isolation:isolate}
#buddypress .rtp-activity-card .rtp-feed-video video.rtp-social-video{position:absolute;inset:0;display:block!important;box-sizing:border-box!important;width:100%!important;height:100%!important;max-height:100%!important;margin:0!important;border-radius:inherit!important;object-fit:contain!important;background:#171b2a}
#buddypress .rtp-activity-card .rtp-feed-video button.rtp-video-start{position:absolute!important;inset:50% auto auto 50%!important;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:auto!important;min-width:84px;max-width:70%;min-height:76px;height:auto!important;padding:12px 18px!important;border:1px solid #ffffff80!important;border-radius:20px!important;background:linear-gradient(130deg,#27213bc4,#182432c4)!important;color:#fff!important;box-shadow:0 4px 20px #10102055;backdrop-filter:blur(5px);font-size:12px;font-weight:800;cursor:pointer;z-index:1}
#buddypress .rtp-video-start::before{content:none!important}#buddypress .rtp-video-start>span:first-child{font-size:25px}
#buddypress .rtp-feed-video .rtp-video-start[hidden]{display:none!important}#buddypress .rtp-video-start:focus-visible{outline:3px solid #bda6ff;outline-offset:4px}
#buddypress .rtp-composer-shell .rtp-media-preview-item img{display:block;max-width:100%;height:auto;border-radius:16px}
#buddypress .rtp-composer-shell .rtp-media-preview-item>button{position:absolute;top:8px;right:8px;width:36px;min-height:36px;padding:0;border-radius:50%;background:#25203bcc;color:white;border:1px solid #ffffff80;font-size:22px}
@media(max-width:900px){body.rtp-scroll-top .rtp-topbar,body:not(.rtp-scroll-down) .rtp-topbar{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}}

.rtp-activation-code input{font-size:1.5rem;letter-spacing:.35em;text-align:center;border:2px solid #8c70d5!important;border-radius:16px;min-height:60px}.rtp-activation-hint{padding:14px 16px;border-radius:16px;background:var(--rtp-surface,#f1eefb);border:1px solid #d5c8f3;font-weight:650}

/* v13.8: sin pantallazos. El póster queda fijo debajo; el video solo se muestra con su primer cuadro. */
/* 13.9.1: sin content-visibility (al volver a la vista re-pintaba el video en negro: parpadeo). */
#buddypress .rtp-activity-card .rtp-feed-video{contain:layout paint}
#buddypress .rtp-activity-card .rtp-feed-video img.rtp-video-poster{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;margin:0;border-radius:inherit;object-fit:contain;background:#171b2a;pointer-events:none;user-select:none}
#buddypress .rtp-activity-card .rtp-feed-video.rtp-js-video video.rtp-social-video{opacity:0;transition:opacity .18s ease}
#buddypress .rtp-activity-card .rtp-feed-video.rtp-js-video.is-ready video.rtp-social-video{opacity:1}
#buddypress .rtp-activity-card .rtp-feed-video.is-buffering::after{content:"";position:absolute;left:50%;top:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border:3px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:rtp-vspin .8s linear infinite;z-index:2;pointer-events:none}
@keyframes rtp-vspin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){#buddypress .rtp-activity-card .rtp-feed-video.rtp-js-video video.rtp-social-video{transition:none}#buddypress .rtp-activity-card .rtp-feed-video.is-buffering::after{animation-duration:2.4s}}
/* Imágenes: espacio reservado y decodificación fuera del hilo principal. */
#buddypress .rtp-activity-card .activity-inner img,#buddypress .rtp-photo-tile img{max-width:100%;height:auto;background:#171b2a14}

/* v13.8: activación con estilo (código de 6 casillas, pasos y contador). Sin JS queda el campo simple. */
.rtp-otp-steps{display:flex;gap:6px;list-style:none;margin:6px 0 18px;padding:0;counter-reset:otp}
.rtp-otp-steps li{flex:1;position:relative;padding:8px 6px 8px 30px;border-radius:12px;background:#f1eefb;color:#6a6390;font-size:.78rem;font-weight:750;counter-increment:otp}
.rtp-otp-steps li::before{content:counter(otp);position:absolute;left:8px;top:50%;transform:translateY(-50%);width:18px;height:18px;border-radius:50%;background:#d8cff3;color:#4b3a91;font-size:.7rem;display:grid;place-items:center}
.rtp-otp-steps li.is-done{background:#e6f6ee;color:#1e7a4c}.rtp-otp-steps li.is-done::before{content:"✓";background:#1e9e5f;color:#fff}
.rtp-otp-steps li.is-current{background:linear-gradient(130deg,#5b3fd1,#8c70d5);color:#fff}.rtp-otp-steps li.is-current::before{background:#fff;color:#5b3fd1}
.rtp-activation-code .rtp-otp-slots{display:none}
.rtp-activation-code.rtp-otp-js{position:relative}
.rtp-activation-code.rtp-otp-js .rtp-otp-slots{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px}
.rtp-activation-code.rtp-otp-js .rtp-otp-slots i{display:grid;place-items:center;aspect-ratio:4/5;max-height:72px;border:2px solid #d5c8f3;border-radius:14px;background:#fff;font:800 1.6rem/1 ui-monospace,Consolas,monospace;font-style:normal;color:#2a2050;transition:border-color .15s,transform .15s,box-shadow .15s}
.rtp-activation-code.rtp-otp-js .rtp-otp-slots i.is-filled{border-color:#8c70d5;background:#f6f3ff}
.rtp-activation-code.rtp-otp-js.is-focus .rtp-otp-slots i.is-active{border-color:#5b3fd1;box-shadow:0 0 0 4px #8c70d533;transform:translateY(-2px)}
.rtp-activation-code.rtp-otp-js.is-error .rtp-otp-slots i{border-color:#d64545;animation:rtp-otp-shake .35s}
.rtp-activation-code.rtp-otp-js input{position:absolute!important;left:0;right:0;bottom:0;height:100%!important;max-height:72px;opacity:.01;color:transparent!important;caret-color:transparent;border:0!important;background:transparent!important;letter-spacing:0!important;font-size:16px!important}
.rtp-otp-timer{margin:10px 0 0;font-size:.85rem;font-weight:700;color:#5e5873}.rtp-otp-timer.is-expired{color:#c0392b}
@keyframes rtp-otp-shake{25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
@media(prefers-reduced-motion:reduce){.rtp-activation-code.rtp-otp-js .rtp-otp-slots i{transition:none;animation:none!important}}

/* ===== 13.9 · Globos gamer con la paleta de la red (sin rojo fuerte). Un color por significado. ===== */
:root{--rtp-badge-truco:#7a62ff;--rtp-badge-chess:#d4a843;--rtp-badge-news:#3fb6ff;--rtp-badge-research:#24c8a5;--rtp-badge-bell:#7567ff}
.rtp-side-link .rtp-menu-badge,.rtp-mobile-nav .rtp-mobile-badge,.rtp-top-actions a>b,.rtp-top-actions button>b,.rtp-menu-badge,.rtp-mobile-badge,.rtp-count-button b{
  background:var(--rtp-badge-bell)!important;color:#fff!important;border:2px solid var(--rtp-surface)!important;box-shadow:0 0 0 1px rgba(117,103,255,.35),0 4px 12px rgba(40,30,110,.25)!important;
  border-radius:7px!important;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);
  font-weight:900!important;letter-spacing:.01em;font-variant-numeric:tabular-nums;animation:none!important}
/* Juegos */
[data-rt-game="truco"] :is(.rtp-menu-badge,.rtp-mobile-badge){background:linear-gradient(135deg,#8c65ff,#5f4fe0)!important;color:#fff!important}
[data-rt-game="ajedrez"] :is(.rtp-menu-badge,.rtp-mobile-badge){background:linear-gradient(135deg,#ffe39a,#d4a843)!important;color:#2a1d00!important;box-shadow:0 0 0 1px rgba(212,168,67,.45),0 4px 12px rgba(120,90,20,.25)!important}
/* Contenido */
.rtp-counter.is-news{background:linear-gradient(135deg,#7fd0ff,#3fb6ff)!important;color:#04263b!important;box-shadow:0 0 0 1px rgba(63,182,255,.45),0 4px 12px rgba(20,90,140,.22)!important}
.rtp-counter.is-research{background:linear-gradient(135deg,#6ee6c9,#24c8a5)!important;color:#05261e!important;box-shadow:0 0 0 1px rgba(36,200,165,.45),0 4px 12px rgba(12,110,90,.22)!important}
.rtp-counter.is-research.has-new{overflow:visible!important;clip-path:none!important;border-radius:8px!important}
.rtp-menu-badge.rtp-counter.is-research.has-new{position:relative}
.rtp-counter.is-research.has-new::after{content:"";position:absolute;top:-4px;right:-4px;width:8px;height:8px;border-radius:2px;transform:rotate(45deg);background:#ffe39a;box-shadow:0 0 0 2px var(--rtp-surface),0 0 8px rgba(255,227,154,.8)}
/* Un aviso de juego tiñe suavemente su acceso, nunca toda la barra ni en rojo. */
.rtp-side-link.rt-truco-menu-alert,.rtp-mobile-nav a.rt-truco-menu-alert,.rtp-side-link.rt-game-menu-alert[data-rt-game="truco"]{background:linear-gradient(115deg,rgba(140,101,255,.14),rgba(140,101,255,.04))!important;box-shadow:inset 3px 0 0 #8c65ff!important}
.rtp-side-link.rt-truco-menu-alert svg,.rtp-mobile-nav a.rt-truco-menu-alert svg{color:#8c65ff!important;filter:none!important}
.rtp-side-link.rt-truco-menu-alert:after,.rtp-mobile-nav a.rt-truco-menu-alert:before{background:#8c65ff!important;box-shadow:0 0 0 3px rgba(140,101,255,.18)!important}
.rtp-side-link.rt-game-menu-alert[data-rt-game="ajedrez"]{background:linear-gradient(115deg,rgba(212,168,67,.16),rgba(212,168,67,.04))!important;box-shadow:inset 3px 0 0 #d4a843!important}
/* Noticias: listado */
.rtp-news-filter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 16px}
.rtp-news-filter a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:6px 14px;border:1px solid var(--rtp-line);border-radius:12px;background:var(--rtp-surface);color:var(--rtp-text);font-weight:800;text-decoration:none}
.rtp-news-filter a.is-active{border-color:#3fb6ff;box-shadow:inset 0 -3px 0 #3fb6ff}
.rtp-news-filter a b{min-width:22px;padding:0 6px;border-radius:7px;background:#3fb6ff;color:#04263b;font-size:.75rem;text-align:center}
.rtp-news-filter a:focus-visible{outline:3px solid #3fb6ff;outline-offset:2px}
.rtp-news-filter small{flex-basis:100%;color:var(--rtp-muted)}
.rtp-news-card-pro.is-unread{border-color:rgba(63,182,255,.55)!important;box-shadow:inset 3px 0 0 #3fb6ff,var(--rtp-shadow)!important}
.rtp-news-new-badge{background:linear-gradient(135deg,#7fd0ff,#3fb6ff)!important;color:#04263b!important;border-radius:8px!important;font-weight:900!important}
.rtp-news-unread-tag{display:inline-block;margin-left:6px;padding:2px 8px;border-radius:7px;background:#3fb6ff;color:#04263b;font-size:.7rem;letter-spacing:.06em}
@media(prefers-reduced-motion:reduce){.rtp-counter.is-research.has-new::after{box-shadow:0 0 0 2px var(--rtp-surface)}}

/* 13.9 · Barras: transición suave y única; teclado abierto oculta solo la barra inferior. */
@media(max-width:900px){.rtp-topbar,.rtp-mobile-nav{transition:transform .24s cubic-bezier(.2,.7,.2,1),opacity .2s ease!important}
body.rtp-typing .rtp-mobile-nav{transform:translateY(calc(100% + 40px))!important;opacity:0!important;pointer-events:none!important}}
@media(orientation:landscape) and (max-height:620px) and (max-width:900px){body.rtp-typing .rtp-mobile-nav{transform:translate(-50%,calc(100% + 40px))!important}}
@media(prefers-reduced-motion:reduce){.rtp-topbar,.rtp-mobile-nav{transition:opacity .12s linear!important}}

/* 13.9 · Causa raíz del desborde horizontal: el centrado de la barra inferior en horizontal usaba
   left:50% + translateX(-50%), y las reglas de scroll reemplazaban el transform por translateY(), perdiendo
   el centrado (barra corrida media pantalla → scroll lateral que aparecía/desaparecía al entrar/salir de un juego).
   Ahora se centra sin transform; el transform queda SOLO para ocultar/mostrar en vertical. Autoridad final. */
@media(max-width:1100px){
  html body .rtp-mobile-nav{right:auto}
  html body:not(.rtp-scroll-down):not(.rtp-typing) .rtp-mobile-nav{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}
  html body.rtp-scroll-down .rtp-mobile-nav,html body.rtp-typing .rtp-mobile-nav{transform:translateY(calc(100% + 40px))!important;opacity:0!important;pointer-events:none!important}
}
@media(orientation:landscape) and (max-height:620px) and (max-width:1100px){
  html body .rtp-mobile-nav{left:0!important;right:0!important;margin-inline:auto!important;width:min(760px,calc(100% - 24px))!important;max-width:calc(100% - 24px)!important}
}
/* Contenido largo (URLs, códigos) no ensancha la página. */
.rtp-main,.rtp-feed-column,#buddypress .activity-list,#buddypress .rtp-activity-card{min-width:0;max-width:100%}
#buddypress .rtp-activity-card .activity-inner{overflow-wrap:anywhere;word-break:normal}
#buddypress .rtp-activity-card .activity-inner :is(img,video,iframe,embed,table,pre){max-width:100%}
#buddypress .rtp-activity-card .activity-inner pre{overflow-x:auto}

/* 13.9 · Aviso de ubicación pendiente */
.rtp-location-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:12px auto;max-width:min(var(--rtp-feed,760px),calc(100% - 24px));padding:12px 14px;border:1px solid rgba(212,168,67,.55);border-radius:16px;background:linear-gradient(120deg,rgba(212,168,67,.14),rgba(100,92,255,.08));color:var(--rtp-text)}
.rtp-location-banner>div{flex:1 1 220px;min-width:0}.rtp-location-banner strong{display:block}.rtp-location-banner p{margin:2px 0 0;font-size:.88rem;color:var(--rtp-muted)}
.rtp-location-banner-icon{font-size:1.5rem}.rtp-location-banner .rtp-btn{min-height:44px}

/* ===== 13.9 · Investigación y Reclamos: entradas visibles y profesionales (solo presentación) ===== */
.motor100-experiencia{position:relative;margin:16px 0;padding:18px 16px 16px;border:1px solid rgba(36,200,165,.35);border-radius:20px;background:linear-gradient(160deg,rgba(36,200,165,.08),transparent 45%),var(--rtp-surface);box-shadow:var(--rtp-shadow);overflow:hidden}
.motor100-experiencia::before{content:"INVESTIGACIÓN";display:inline-block;margin-bottom:8px;padding:3px 10px;border-radius:8px;background:rgba(36,200,165,.16);color:var(--rtp-text);font-size:.68rem;font-weight:900;letter-spacing:.12em}
.motor100-experiencia::after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(#6ee6c9,#24c8a5)}
.motor100-experiencia .motor100-question{border-radius:16px}
.motor100-experiencia :is(button,input,select,textarea):focus-visible{outline:3px solid #24c8a5;outline-offset:2px}
.motor100-estado.motor100-exito{border:1px solid rgba(36,200,165,.5);border-radius:16px;background:rgba(36,200,165,.1);padding:14px}
.motor100-estado.motor100-ya-participo{border:1px dashed var(--rtp-line);border-radius:16px;padding:14px;color:var(--rtp-muted)}
.motor100-location-warning{border:1px solid rgba(212,168,67,.55);border-radius:14px;background:rgba(212,168,67,.12);padding:12px}
.rt-report-shell{--rt-accent:#d4a843}
.rt-report-case{position:relative;padding:16px 16px 14px 20px!important;border-color:color-mix(in srgb,var(--rt-accent) 35%,var(--rtp-line))!important;box-shadow:var(--rtp-shadow)}
.rt-report-case::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;border-radius:18px 0 0 18px;background:linear-gradient(#ffe39a,#d4a843)}
.rt-report-case h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px}
.rt-report-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;background:var(--rtp-surface-2);border:1px solid var(--rtp-line);font-size:.75rem;font-weight:800}
.rt-report-case-actions button:first-child{border-color:rgba(140,101,255,.5)!important;font-weight:800}
.rt-report-case-actions [aria-pressed="true"]{background:linear-gradient(135deg,#8c65ff,#5f4fe0)!important;border-color:transparent!important}
.rt-report-case-actions button:focus-visible,[data-report-more]:focus-visible{outline:3px solid #8c65ff;outline-offset:2px}
@media(max-width:600px){.motor100-experiencia{padding:14px 12px 12px}.rt-report-case{padding:14px 12px 12px 16px!important}}

/* 13.9 · Visita a Mi Mundo: el juego ocupa toda la pantalla (fixed); el aviso de visita va encima, abajo al centro. */
.rtp-world-visit-head{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);z-index:1000001;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;max-width:min(560px,calc(100vw - 24px));padding:10px 14px;border:1px solid rgba(36,200,165,.55);border-radius:16px;background:rgba(15,20,30,.92);color:#f5f7fb;box-shadow:0 10px 30px rgba(0,0,0,.35);backdrop-filter:blur(8px)}
.rtp-world-visit-head .rtp-kicker{color:#6ee6c9;font-size:.68rem}.rtp-world-visit-head h1{margin:0;font-size:1rem}.rtp-world-visit-head p{display:none}
.rtp-world-visit-head .rtp-world-back{min-height:40px}

/* 13.9.1 · Barras estilo Facebook — AUTORIDAD FINAL (medido en Chromium a 411, 800 y 1280 px).
   Causa raíz: html y body tenían overflow-x:hidden. En el body eso crea un contenedor de desplazamiento que no se
   desplaza (lo hace la ventana): la barra superior "sticky" quedaba pegada al body, se iba con la página al bajar y
   nunca volvía al subir. overflow-x:clip recorta igual el desborde lateral sin crear contenedor de scroll.
   La clase rtp-bars-auto la pone theme.js solo donde corresponde (≤900 px o tablet táctil ≤1100 px). */
html{overflow-x:hidden}
body{overflow-x:clip!important;overflow-y:visible!important}
@supports not (overflow:clip){body{overflow-x:visible!important}}
html body .rtp-topbar{position:sticky!important;top:0!important}
html body.rtp-bars-auto .rtp-topbar,html body.rtp-bars-auto .rtp-mobile-nav{transition:transform .24s cubic-bezier(.2,.7,.2,1),opacity .2s ease!important;will-change:transform}
html body.rtp-bars-auto:not(.rtp-scroll-down) .rtp-topbar{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}
html body.rtp-bars-auto.rtp-scroll-down .rtp-topbar{transform:translateY(calc(-100% - 12px))!important;opacity:0!important;pointer-events:none!important}
html body.rtp-bars-auto:not(.rtp-scroll-down):not(.rtp-typing) .rtp-mobile-nav{transform:translateY(0)!important;opacity:1!important;pointer-events:auto!important}
html body.rtp-bars-auto.rtp-scroll-down .rtp-mobile-nav,html body.rtp-bars-auto.rtp-typing .rtp-mobile-nav{transform:translateY(calc(100% + 40px))!important;opacity:0!important;pointer-events:none!important}
@media(prefers-reduced-motion:reduce){html body.rtp-bars-auto .rtp-topbar,html body.rtp-bars-auto .rtp-mobile-nav{transition:opacity .12s linear!important}}

/* 13.9.1 · Perfil → Juegos: Truco / Ajedrez / Mi Mundo, los tres dorados, en una fila de igual ancho. */
html body .rtp-member-profile-stats.rtp-profile-games{grid-template-columns:repeat(var(--rtp-games,3),minmax(0,1fr))!important}
.rtp-profile-games .is-chess{position:relative;overflow:hidden}
.rtp-profile-games .is-chess:before{content:"";position:absolute;left:14px;right:14px;top:0;height:3px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,#a87513,#ffd56a,#a87513)}
.rtp-profile-games .is-chess strong{color:#a87513}
.rtp-profile-games .is-chess:after{content:"";position:absolute;inset:auto -18% -50% auto;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--rtp-primary) 12%,transparent),transparent 68%);pointer-events:none}
html[data-theme="dark"] .rtp-profile-games :is(.is-truco,.is-chess,.is-world) strong{color:#f1c75c}

/* 13.9.1 · Pie del sitio: en celular los enlaces se superponían ("Mi Mundo" partido, "Términos" encima). Ahora envuelve. */
html body .rtp-footer{display:flex!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:8px 16px!important;text-align:center!important}
html body .rtp-footer>span{flex:1 1 100%!important;order:2;color:var(--rtp-muted);font-size:12.5px}
html body .rtp-footer ul{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:6px 14px!important;margin:0!important;padding:0!important;list-style:none!important}
html body .rtp-footer ul li{margin:0!important}
html body .rtp-footer :is(ul a,.rtp-footer-terms){white-space:nowrap!important;font-size:13px!important}

/* 13.9.1 · Videos del feed: marco neutro (no negro) mientras llega la imagen; la portada aparece sin destello. */
#buddypress .rtp-activity-card .rtp-feed-video,#buddypress .rtp-activity-card .rtp-feed-video video.rtp-social-video{background:color-mix(in srgb,var(--rtp-text) 9%,var(--rtp-surface))!important}
#buddypress .rtp-activity-card .rtp-feed-video.is-ready video.rtp-social-video{background:#0d111c!important}
#buddypress .rtp-activity-card .rtp-feed-video img.rtp-video-poster{background:transparent!important}
/* Aviso «Nuevas publicaciones» (como Facebook): no mueve la lectura; un toque lleva arriba. */
.rtp-new-posts{position:fixed;left:50%;top:calc(var(--rtp-top,64px) + 12px + env(safe-area-inset-top,0px));transform:translateX(-50%);z-index:1300;padding:9px 16px;border:0;border-radius:999px;background:var(--rtp-primary);color:#fff;font:800 13px/1.2 inherit;box-shadow:0 8px 22px rgba(20,16,60,.28);cursor:pointer}
.rtp-new-posts[hidden]{display:none}
body.rtp-scroll-down .rtp-new-posts{top:calc(12px + env(safe-area-inset-top,0px))}

/* 13.9.2 · Perfil → Mi Mundo: nombre + emoji grande, sin leyenda. */
.rtp-profile-games .is-world.is-emoji-only{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;text-align:center}
.rtp-profile-games .is-world.is-emoji-only .rtp-world-emoji{font-size:30px!important;line-height:1.1!important;color:inherit!important;filter:drop-shadow(0 3px 6px rgba(168,117,19,.25))}
.rtp-profile-games .is-world.is-emoji-only.is-off .rtp-world-emoji{opacity:.45;filter:grayscale(.6)}
.rtp-profile-games .is-world.is-emoji-only span{display:none!important}

/* ===== 13.9.2 · Carga sin parpadeos ===== */
/* Transición entre páginas (Chrome/Edge 126+): las barras quedan quietas y el contenido cambia sin pantalla blanca.
   Navegadores sin soporte navegan como siempre. */
@view-transition{navigation:auto}
.rtp-topbar{view-transition-name:rtp-topbar}
.rtp-mobile-nav{view-transition-name:rtp-bottomnav}
::view-transition-old(root),::view-transition-new(root){animation-duration:.14s}
::view-transition-group(rtp-topbar),::view-transition-group(rtp-bottomnav){animation-duration:.14s}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}

/* Botón Instalar: visible desde el primer dibujo; oculto ya instalado (sin depender del JS del pie: no mueve la barra). */
@media(display-mode:standalone){[data-rtp-install]{display:none!important}}
html.rtp-standalone [data-rtp-install]{display:none!important}

/* Esqueleto en lugar de «Cargando…» mientras BuddyPress trae la lista (muro, miembros, amigos, notificaciones). */
#buddypress #bp-ajax-loader{display:grid!important;gap:14px;margin:0 0 14px;padding:0!important;list-style:none;border:0!important;background:none!important}
#buddypress #bp-ajax-loader>*{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;margin:0!important;padding:0!important;border:0!important}
#buddypress #bp-ajax-loader::before,#buddypress #bp-ajax-loader::after{content:"";display:block;height:190px;border-radius:20px;border:1px solid var(--rtp-line);
  --sk:color-mix(in srgb,var(--rtp-text) 9%,var(--rtp-surface));
  background:
    radial-gradient(circle 21px at 37px 37px,var(--sk) 97%,transparent 100%),
    linear-gradient(var(--sk),var(--sk)) 72px 22px/40% 12px no-repeat,
    linear-gradient(var(--sk),var(--sk)) 72px 42px/24% 10px no-repeat,
    linear-gradient(var(--sk),var(--sk)) 16px 78px/calc(100% - 32px) 12px no-repeat,
    linear-gradient(var(--sk),var(--sk)) 16px 98px/70% 12px no-repeat,
    linear-gradient(var(--sk),var(--sk)) 16px 124px/calc(100% - 32px) 50px no-repeat,
    var(--rtp-surface);
  animation:rtp-skeleton 1.2s ease-in-out infinite alternate}
#buddypress [data-bp-list="members"] #bp-ajax-loader::before,#buddypress [data-bp-list="members"] #bp-ajax-loader::after{height:120px}
@keyframes rtp-skeleton{from{opacity:1}to{opacity:.62}}
@media(prefers-reduced-motion:reduce){#buddypress #bp-ajax-loader::before,#buddypress #bp-ajax-loader::after{animation:none}}

/* Imágenes: el lugar se ve ocupado (gris suave) antes de que llegue la foto; nada de huecos blancos que "aparecen". */
img.avatar,.rtp-community-avatar-img,.rtp-top-avatar,.rtp-mini-avatar,.rtp-story-thumb,#buddypress .rtp-activity-card .activity-inner img{background-color:color-mix(in srgb,var(--rtp-text) 7%,var(--rtp-surface))}

/* 13.9.2 · Reproductor de video: el marco, la portada y el botón ▶ se dibujan junto con la publicación. El video se muestra
   en cuanto tiene imagen, sin fundido; los controles nativos aparecen al reproducir. */
#buddypress .rtp-activity-card .rtp-feed-video.rtp-js-video video.rtp-social-video{transition:none!important}
#buddypress .rtp-activity-card .rtp-feed-video:not(.is-playing){cursor:pointer}
#buddypress .rtp-activity-card .rtp-feed-video button.rtp-video-start{z-index:3}

/* 13.9.3 · Video con su forma real (auditoría: un 9:16 quedaba en una caja de 720 × 640 con franjas).
   El ancho sale de la proporción: alto máximo × (ancho/alto). Un vertical de 640 px de alto mide 360 px de ancho y
   queda centrado; un horizontal sigue usando el ancho completo. */
/* Más específico que la regla general «.activity-inner > div {width:100%}». */
html #buddypress .rtp-activity-card div.rtp-feed-video{--rt-vmax:min(72svh,640px);width:min(100%,calc(var(--rt-vmax) * var(--rt-vr,1.7778)))!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important}
#buddypress .rtp-activity-card .rtp-feed-video.no-poster{background:linear-gradient(160deg,color-mix(in srgb,var(--rtp-primary) 22%,#141a2c),#0f1424)!important}
#buddypress .rtp-activity-card .rtp-feed-video.no-poster button.rtp-video-start{color:#fff}
#buddypress .rtp-activity-card .rtp-feed-video .rtp-video-duration{position:absolute;right:10px;bottom:10px;z-index:3;padding:3px 8px;border-radius:8px;background:rgba(10,12,20,.72);color:#fff;font:700 12px/1.3 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:.02em;pointer-events:none}
#buddypress .rtp-activity-card .rtp-feed-video.is-playing .rtp-video-duration{display:none}
/* 13.9.3 · Muro: una sola columna que nunca supera la pantalla. La tira de estados repetida tras la 5.ª publicación
   (li.rtp-feed-discovery) medía 420 px de contenido mínimo y ensanchaba la grilla: en un celular de 412 px todas las
   tarjetas quedaban de 452 px con el borde derecho cortado. La tira se desplaza por dentro. */
#buddypress .activity-list{grid-template-columns:minmax(0,1fr)!important}
#buddypress .activity-list>li{min-width:0!important}
#buddypress .activity-list>li.rtp-feed-discovery{max-width:100%!important;overflow:hidden}
#buddypress .activity-list>li.rtp-feed-discovery .rtp-story-strip{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
