@layer game {
  .fraza-mark { position: relative; display: grid; place-items: center; width: 2.8rem; height: 2.8rem; border-radius: 0.7rem; background: #233b37; color: #fff5df; font: 800 1.65rem serif; transform: rotate(-6deg); }
  .fraza-mark span { position: absolute; right: -0.25rem; bottom: -0.15rem; padding: 0.05rem 0.25rem; border-radius: 0.3rem; background: #e9b16e; color: #233b37; font: 800 0.8rem var(--gse-font-mono); transform: rotate(12deg); }
  .fraza-field { width: 100%; max-width: 24rem; padding: 0.4rem; margin: 0.4rem auto 0; }
  .fraza-board { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.65rem; padding: 0.85rem; border-radius: 1rem; background: #d8dfd0; border: 1px solid #bcc9b8; box-shadow: inset 0 2px 5px rgb(35 59 55 / 7%); }
  .fraza-card { position: relative; display: grid; place-items: center; width: 100%; min-width: 0; aspect-ratio: 1; padding: 0; border: 0; border-radius: 0.65rem; background: transparent; perspective: 700px; cursor: pointer; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
  .fraza-inner { display: block; position: relative; width: 100%; height: 100%; transform-style: preserve-3d; transition: transform 300ms ease; }
  .fraza-card[data-open="true"] .fraza-inner { transform: rotateY(180deg); }
  .fraza-back, .fraza-front { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.25rem; border: 1px solid #294c40; border-radius: 0.65rem; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
  .fraza-back { background: repeating-linear-gradient(45deg, transparent 0 8px, rgb(255 255 255 / 3%) 8px 10px), #315849; color: #e3d9b8; box-shadow: 0 3px 0 #203d32, inset 0 0 0 4px #315849, inset 0 0 0 5px rgb(228 218 189 / 35%); }
  .fraza-back span { font: 500 clamp(1rem, 3vw, 1.8rem) serif; opacity: 0.9; }
  .fraza-back small { font: 700 0.5rem var(--gse-font-mono); letter-spacing: 0.18em; opacity: 0.65; }
  .fraza-front { background: #fff8e9; border-color: #c2b391; color: #233b37; transform: rotateY(180deg); box-shadow: 0 3px 0 #b7b79e; }
  .fraza-icon { font-size: clamp(1.5rem, 4vw, 2.4rem); line-height: 1.2; }
  .fraza-label { max-width: 95%; font: 700 clamp(0.5rem, 1.1vw, 0.66rem) var(--gse-font-body); overflow-wrap: anywhere; text-align: center; }
  .fraza-card[data-matched="true"] { visibility: hidden; pointer-events: none; }
  .fraza-card:focus-visible { outline: 3px solid #bd622e; outline-offset: 4px; }
  .fraza-card:not(:disabled):hover .fraza-back { background-color: #3d6856; }
  .fraza-caption { margin: 0.9rem 0 0; text-align: center; color: #6f8068; font: 600 0.8rem var(--gse-font-mono); letter-spacing: 0.6em; }
  @media (max-width: 35rem) {
    .fraza-field { padding: 0.25rem; }
    .fraza-board { gap: 0.5rem; padding: 0.65rem; }
    .fraza-label { font-size: 0.55rem; }
  }
  @media (prefers-reduced-motion: reduce) {
    .fraza-inner { transition: none; }
  }
}
