/* Identidad común: superficies rosa suave, tinta ciruela y controles reconocibles.
   No altera geometría, colores de jugadores ni imágenes del tablero. */
:root{--green:#743955;--gold:#bd7396;--line:#e8bdcf;--muted:#92627b;color:#68354e;background:#f1d2df}
body,body.in-salon,body.in-game{
 color:#68354e;
 background:radial-gradient(ellipse at 40% 0,#fff5ebbb,transparent 55%),radial-gradient(ellipse at 90% 65%,#ecc5d8,transparent 65%),linear-gradient(125deg,#e6b8cc,#f7e1e5 55%,#deb0c8);
 background-attachment:fixed;
}
body .app-header,body.in-salon .app-header{background:linear-gradient(100deg,#f8e5eaaa,#e9bbd1aa);color:#64304e;border-bottom-color:#fff9;box-shadow:0 2px 18px #9a547912}
body .brand small,body .account-name{color:#874664}
body .app-header .icon-button,body .section-heading .icon-button{background:#ffdef0;border-color:#edbfd6;color:#743955;box-shadow:0 3px 8px #8b46671b}
body .app-header .icon-button:hover{background:#f5b9da}
body :is(input,select,textarea){color:#68354e;border-color:#e8c4d4;accent-color:#b9638b}
body :is(button,a,input,select,textarea):focus-visible{outline-color:#ad507d}
/* Acceso y bienvenida: el texto conserva su tamaño y distribución actuales. */
body .welcome,body .section-heading{color:#743955}
body .welcome .eyebrow,body .section-heading .eyebrow{color:#975777}
body .welcome h1 em{color:#b45883}
body .welcome p,body .section-heading p,body .signature,body .hero-invitation{color:#895670}
body .hero-message h2{color:#874363}
body .login-card{background:linear-gradient(140deg,#fffafbfa,#fcecf2fa);border-color:#fff;box-shadow:0 15px 45px #9755732b}
body .login-card h2{color:#743955}
body .login-card>p,body .login-note{color:#91617a}
body .login-card input:not([type=checkbox]){background:#fffafd;border-color:#e8c4d4}
body .login-extras a,body .legal{color:#874363}
body .environment-switch{background:#f8e2ed;border-color:#e7bfd1;color:#743955}
body .environment-switch small{color:#91617a}
body .mus-access{color:#743955;background:#fff3f899;border-color:#ebc5d7}
body .mus-access small{color:#91617a}
/* Las imágenes que identifican salones siguen siendo las originales. */
body .room-card{background:#fff7fa;border-color:#fff9;box-shadow:0 6px 22px #9b57752b}
body .room-card .room-art{background:linear-gradient(145deg,#f6dce8,#ebc1d5);border-color:#edcada}
body .room-card .room-copy{background:linear-gradient(140deg,#fff5f4,#f8e2e7)}
body .room-card .room-copy h2{color:#743955}
body .room-card .room-meta{color:#925675}
body .room-card .room-arrow{background:#fecce7;color:#743955}
body .room-card:hover{border-color:#dba0bc;box-shadow:0 9px 26px #9b57753b}
body .room-occupancy{background:#eac8d8}
body .room-occupancy>span{background:linear-gradient(90deg,#cb87a6,#a85280)}
body .empty{color:#91617a}
/* Partida: marco exterior claro, tablero original y turnos sin modificaciones. */
body.in-game .game-caption,body.in-game .game-caption span,body.in-game .game-action-bar{color:#743955}
body.in-game .play-board{box-shadow:0 0 0 3px #c992aa,0 10px 32px #84486535}
body.in-game .game-chat-page{background:#fffafa;border-color:#fff;border-radius:18px;box-shadow:0 7px 22px #9b577530}
body .game-chat-tabs,body .pane-heading{background:linear-gradient(110deg,#f9e6ea,#f3d8e3);border-color:#eed1dd;color:#743955}
body .game-chat-tabs button{color:#884467}
body .game-chat-tabs [aria-selected=true]{background:#fecce7;border-color:#d99aba;color:#743955}
body .chat-log,body .game-log{background:#fffafa;color:#493441;border-color:#edcada}
body .chat-log .chat-author{color:#874363}
body .chat-log .chat-line.mine{background:#f9e8ef}
body .composer{background:#faedf2;border-color:#f0d4e0}
body .composer input{background:#fffafd;border-color:#efd4e1;color:#68354e}
body .game-action-bar .primary,body .game-action-bar .icon-button{background:#fecce7;border-color:#df9fc2;color:#743955}
body .emoji-picker{background:#fffafb;color:#743955;border-color:#e7bfd1;box-shadow:0 8px 25px #85496530}
body .emoji-grid button{background:#fffafb}
/* Opciones, configuración, confirmaciones y fichas comparten las superficies. */
body dialog,body dialog.game-dialog,body dialog.app-options{background:linear-gradient(145deg,#fff8fa,#f8e4ed);color:#68354e;border-color:#fff;border-radius:22px;box-shadow:0 24px 80px #73365240}
body dialog::backdrop,body dialog.app-options::backdrop{background:#60334d66;backdrop-filter:blur(5px)}
body .app-options .game-menu-heading{background:linear-gradient(110deg,#f9e6ea,#f3d8e3);border-bottom-color:#e9bfd2;color:#743955}
body .app-options .options-size output{color:#994d73}
body .app-options .options-notice{background:#f4d9e6;color:#743955}
body .app-options .game-menu-player{border-bottom-color:#ead0dc}
body .app-options .options-person small,body .app-options .muted,body .app-options .commerce-help{color:#91617a}
body .app-options .commerce-balance{background:#f5dce7;color:#813c5b}
body .app-options .commerce-basket{background:#fff4f8;border-color:#e8c0d2;color:#68354e}
body .app-options .commerce-card{background:#fff;color:#68354e;border-color:#e9ccd9}
body .app-options .commerce-card strong{color:#974b73}
body .app-options .commerce-stock{color:#91617a}
body .participant{background:#fffafb;border-top-color:#ead0dc;border-bottom-color:#ead0dc;border-right-color:#ead0dc;color:#743955}
body .participant small,body .confirm-countdown{color:#91617a}
body .condition{border-color:#ead0dc}
/* Locutorio: conserva blanco el contenido para respetar colores de mensajes. */
body .app-options.private-room-dialog{background:#fff8fa}
body .app-options .private-room-hero,body .app-options .private-room-sidebar,body .app-options .private-room-footer,body .app-options .private-room.inviting .private-room-sidebar{background:#fae9f0;color:#743955;border-color:#eac8d8}
body .app-options .private-person-info strong{color:#743955}
body .app-options .private-person-info small,body .app-options .private-section-heading h4,body .app-options .private-list-empty{color:#91617a}
body .app-options .private-invites .icon-button,body .app-options .private-invites>.btn{color:#743955}
/* Adorno marginal solo en pantallas de acceso: nunca sobre controles o tablero. */
body:not(.in-salon):not(.in-game){background-image:url('assets/salon-botanico.svg'),radial-gradient(ellipse at 40% 0,#fff5ebbb,transparent 55%),linear-gradient(125deg,#e6b8cc,#f7e1e5 55%,#deb0c8);background-size:130px 440px,cover,cover;background-position:left -60px bottom,center,center;background-repeat:no-repeat}
@media(max-width:760px){body:not(.in-salon):not(.in-game){background-size:0,cover,cover}}

/* Neutraliza las antiguas variantes oscuras y sus veladuras de catálogo. */
body .room-card:nth-child(n){background:linear-gradient(145deg,#fff5f4,#f4d6e4)}
body .room-card:nth-child(n) .room-art{background:transparent}
body .room-card .room-art:after{background:linear-gradient(0deg,#f8e3edf5,transparent 90%)}
body .room-card:nth-child(n) .room-copy{background:transparent}
body .room-card .room-image{mix-blend-mode:normal;opacity:1;filter:drop-shadow(0 5px 10px #9b577528)}
body .welcome .hero-message .hero-invitation{color:#895670}

body.in-game .game-mode-icons small{color:#895670}
body .app-options .private-room-intro h3{color:#743955}
body .private-room .compose-input .send-button,body .private-conversation>.chat-follow-new,body .private-room-sidebar>.btn{background:#fecce7;color:#743955;border-color:#df9fc2}

/* Suavizado reversible solo del dibujo del tablero, sin desenfocar sus casillas.
   Se aplica igual al parche restaurado para que no se distinga del original. */
.table-card .classic-table,.table-card .board-repair,.play-board .play-board-image{
 filter:saturate(.78) contrast(.91) brightness(1.04);
}

/* Velo rosa solo sobre la ilustracion: por debajo de sillas, fichas y dados.
   El pseudoelemento anterior ya se usa para el lema exterior de partida. */
.table-card .mini-board::before,.play-board::before{
 content:"";position:absolute;inset:0;background:rgba(244,167,199,.12);
 pointer-events:none;z-index:0;
}

/* Acciones sociales comunes, compactas y accesibles en todas las listas. */
.player-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;flex-basis:auto;justify-content:flex-end;margin:5px 0 0 auto;max-width:100%}
.player-actions .player-action{position:relative;display:grid;place-items:center;width:34px;height:34px;padding:5px;border:1px solid #e8afc9;border-radius:10px;background:#ffe6f1;cursor:pointer;color:#63384f}
.player-action img{width:22px;height:22px;object-fit:contain}.player-action:hover{background:#fecce7}.player-action:focus-visible{outline:2px solid #963f70;outline-offset:2px}.player-action:disabled{opacity:.45;cursor:wait}.player-action[aria-pressed=true]{background:#f6c4db;border-color:#b45c88}.player-action[data-mark]::after{content:attr(data-mark);position:absolute;right:-2px;bottom:-3px;border-radius:50%;background:#fff;color:#743452;font:bold 12px sans-serif;width:14px;height:14px}
.player-action-notice{flex-basis:100%;font-size:12px;color:#743452;text-align:left;padding:5px;background:#fff4f9;border-radius:7px}
.player-row,.social-player,.private-member,.private-candidate,.spectator-list .participant{flex-wrap:wrap}.social-player .options-person{flex:1;min-width:0}.friend-location{display:flex;gap:10px;align-items:center;margin-top:7px;color:#947b87;font-size:12px}.friend-location.is-online{color:#396653}.friend-location img{width:54px;height:42px;object-fit:cover;border-radius:9px;border:1px solid #ecc0d4}.friend-location span{display:grid;gap:2px}.friend-location small{color:#84586d}.social-player{padding:12px;border:1px solid #efd0dd;border-radius:14px;background:linear-gradient(120deg,#fffafa,#fff0f6);margin-bottom:8px}

/* Las listas compactas agrupan acciones sin perder acceso por teclado. */
.player-row,.game-menu-player,.private-member,.private-candidate,.spectator-list .participant{container-type:inline-size;flex-wrap:wrap}
.player-actions-menu{margin-left:auto;max-width:100%}.player-actions-toggle{display:none}
.player-actions{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:0;max-width:100%}
.player-actions .player-action{position:relative;width:34px;height:34px;padding:5px;display:grid;place-items:center;border-radius:9px}.player-action img{width:22px;height:22px;object-fit:contain}.player-action[hidden]{display:none!important}.player-action[data-mark]::after{content:attr(data-mark);position:absolute;right:0;bottom:-2px;font:bold 12px sans-serif;background:white;color:#543747;border-radius:50%;width:13px;height:13px}.player-action-notice{flex-basis:100%;font-size:12px}
@container (max-width:430px){.player-actions-toggle{display:block;width:34px;height:34px;padding:4px;font-size:22px;margin-left:auto}.player-actions-menu:not(.is-open) .player-actions{display:none}.player-actions-menu.is-open{flex-basis:auto}.player-actions-menu.is-open .player-actions{justify-content:flex-end;margin-top:5px}}

/* Accesos del catálogo coherentes con UsuMus y el pie de Titanium. */
.rooms-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:28px auto 0;padding:16px;border-top:1px solid #e4b9cc}.rooms-actions .rooms-action{display:flex;align-items:center;justify-content:center;gap:9px;min-height:48px;width:auto;padding:10px 18px;background:#fecce7;border:1px solid #e6a9c7;color:#61344e;border-radius:14px;font-size:14px;box-shadow:0 3px 10px #873c6410}.rooms-action img{width:25px;height:25px;object-fit:contain}.rooms-actions .rooms-action:hover{background:#ffe3f0}@media(max-width:520px){.rooms-actions{gap:8px;padding:12px 0;margin-top:18px}.rooms-actions .rooms-action{flex:1 1 28%;flex-direction:column;padding:9px 6px;gap:5px;font-size:12px}}

/* Menú flotante: el disparador conserva su sitio al desplegar las acciones. */
.player-actions-menu{flex-shrink:0}.player-actions-toggle{background:transparent;border:0;color:#773854;border-radius:0;box-shadow:none;align-items:center;justify-content:center}.player-actions-toggle svg{display:block;width:21px;height:21px;margin:auto}.player-actions-toggle:hover,.player-actions-toggle[aria-expanded=true]{background:transparent;border:0;box-shadow:none}.player-actions[popover]{position:fixed;inset:auto;margin:0!important;padding:10px;width:258px;max-width:calc(100vw - 16px);background:#fff3f8;border:1px solid #dda2bf;border-radius:14px;box-shadow:0 8px 24px #0003;z-index:1000}.player-actions[popover]:popover-open{display:flex!important}.player-actions[popover]::backdrop{background:transparent}
