@layer ficha {

@scope (.cos-ficha) {

:scope { --realce: var(--il-taronja); }
.pg { height: 100%; display: grid; gap: 5mm; }
.pg-domino { grid-template-rows: minmax(0, 1fr) minmax(0, 1.05fr); }
.pg-taula { grid-template-rows: minmax(0, 2fr) minmax(0, 1fr); }

.grafia { font-size: 2em; line-height: 1; }
.figura { width: 1.6em; height: 1.6em; fill: none; stroke: var(--tinta); stroke-width: 4; stroke-linejoin: round; }


.joc-domino { height: 100%; display: grid; grid-template-rows: auto minmax(0, 1fr); gap: 3mm; }
.banner { aspect-ratio: 7 / 1; }
.fitxes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4mm; min-height: 0; }
.fitxa-d { display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); width: 100%; height: 100%; padding: 0; background: var(--paper); color: var(--tinta); border: 3px solid var(--il-contorn); border-radius: 4mm; overflow: hidden; }
.mitja { display: grid; place-items: center; }
.mitja + .mitja { border-top: 3px solid var(--il-contorn); }
.fitxa-d .grafia { font-size: 2.6em; }
.fitxa-d .figura { width: 2.1em; height: 2.1em; }
button.fitxa-d.on { background: var(--il-groc); color: var(--tinta); border: 6px solid var(--acento); border-radius: 8mm; }


.models { height: 100%; display: grid; grid-template-columns: 54mm minmax(0, 1fr); gap: 5mm; }
.files { display: grid; grid-template-rows: repeat(4, minmax(0, 1fr)); gap: 3mm; min-height: 0; }
.fila-m { display: grid; grid-template-columns: 24mm minmax(0, 1fr); gap: 4mm; min-height: 0; }
.model-m { display: grid; place-items: center; background: var(--il-cel); border: 3px solid var(--realce); border-radius: var(--radi); }
.model-m .grafia { font-size: 2.3em; }
.model-m .figura { width: 1.9em; height: 1.9em; }
.opcions-m { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3mm; min-height: 0; }
.opcions-m .tria { display: grid; grid-template-rows: minmax(0, 1fr) auto; grid-template-areas: "s" "i"; justify-items: center; align-items: center; gap: 1mm; padding: 1mm 1mm 2mm; border: 2px solid var(--il-gris); border-radius: 3mm; background: var(--paper); }
.opcions-m .tria span { grid-area: s; }
.opcions-m .tria input { grid-area: i; width: 1.3em; height: 1.3em; }
.opcions-m .grafia { font-size: 1.7em; }
.opcions-m .figura { width: 1.35em; height: 1.35em; }


.taula { height: 100%; aspect-ratio: auto; display: grid; grid-template-rows: auto 1fr auto; padding: 5% 4%; border: 0; }
.cartes { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3mm; position: relative; z-index: 1; }
.cartes-dalt { grid-row: 1; }
.cartes-baix { grid-row: 3; }
.carta { display: grid; justify-items: center; align-items: center; gap: 2mm; }
.carta .cara { display: grid; place-items: center; width: 100%; aspect-ratio: 3 / 4; background: var(--paper); border: 3px solid var(--il-contorn); border-radius: 3mm; }
.carta .grafia { font-size: 2.5em; }
.carta .figura { width: 2em; height: 2em; }
.carta .punt { width: 1.6em; height: 1.6em; background: var(--il-groc); border-color: var(--il-contorn); }
.carta .punt.conn, .carta .punt.sel { background: var(--acento); }


.parella-propia { height: 100%; display: grid; grid-template-columns: 50mm minmax(0, 1fr); gap: 5mm; }
.parella-propia .espai-obert { min-height: 0; border-color: var(--realce); }

}
}
