/* Sempati Zihin Oyunları — tüm kurallar .oyun-* altında; sitenin geri kalanına sızmaz */
.oyun-alan {
  --ton-lavanta: #ece8fb; --ton-seftali: #fde8dc; --ton-nane: #dff3e8; --ton-gok: #dfeafc; --ton-limon: #fbf1c7; --ton-pembe: #fbe1ea;
  --ped-yesil: #7bd3a3; --ped-mavi: #86b6f6; --ped-sari: #f7d774; --ped-kirmizi: #f39a9a; --ped-mor: #c39bea; --ped-turuncu: #f8bf80;
  --oyun-dogru: #1f9d57; --oyun-yanlis: #d9534f;
  scroll-margin-top: 96px;
}
.oyun-alan * { box-sizing: border-box; }
.oyun-alan button { font-family: inherit; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.oyun-alan button:focus-visible { outline: 3px solid var(--vurgu); outline-offset: 3px; }
.oyun-gizli { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.oyun-ton-lavanta { --ton: var(--ton-lavanta); } .oyun-ton-seftali { --ton: var(--ton-seftali); } .oyun-ton-nane { --ton: var(--ton-nane); }
.oyun-ton-gok { --ton: var(--ton-gok); } .oyun-ton-limon { --ton: var(--ton-limon); } .oyun-ton-pembe { --ton: var(--ton-pembe); }
.oyun-beceri { font-size: .74rem; font-weight: 700; letter-spacing: .01em; text-transform: none; color: var(--soluk); }
.oyun-no { font-family: var(--serif); font-style: italic; color: var(--altin); font-size: .95rem; }
.oyun-buyuk-emoji { font-size: clamp(2rem, 6vw, 3rem); line-height: 1; display: inline-block; }
.oyun-sekil { display: block; }

/* ---- lobi ---- */
.oyun-lobi-bas { display: grid; grid-template-columns: 1fr auto; gap: 32px 48px; align-items: end; margin-bottom: 36px; }
.oyun-lobi-bas h2 { margin: 0; }
.oyun-lobi-yan { display: flex; flex-direction: column; gap: 12px; align-items: flex-end; }
.oyun-yas { display: inline-flex; align-items: center; gap: 6px; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 999px; padding: 5px 6px 5px 16px; }
.oyun-yas > span { font-size: .8rem; font-weight: 700; color: var(--soluk); margin-right: 6px; white-space: nowrap; }
.oyun-yas-btn { border: 0; background: transparent; border-radius: 999px; padding: .55em .95em; font-size: .88rem; font-weight: 600; color: var(--metin); cursor: pointer; transition: background var(--gecis), color var(--gecis); }
@media (hover: hover) and (pointer: fine) { .oyun-yas-btn:hover { background: var(--zemin-2); } }
.oyun-yas-btn.secili { background: var(--murekkep); color: #fff; }
.oyun-anahtarlar { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.oyun-anahtar { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--cizgi); background: var(--yuzey); border-radius: 999px; padding: .6em 1em .6em .7em; font-size: .88rem; font-weight: 600; color: var(--metin); cursor: pointer; transition: border-color var(--gecis); }
@media (hover: hover) and (pointer: fine) { .oyun-anahtar:hover { border-color: var(--murekkep); } }
.oyun-anahtar i { font-style: normal; font-size: 1.05rem; }
.oyun-anahtar[aria-pressed="true"][data-anahtar="sakin"] { background: var(--murekkep); color: #fff; border-color: var(--murekkep); }
.oyun-bugun { display: inline-flex; align-items: baseline; gap: 12px; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 14px; padding: 12px 18px; margin-bottom: 20px; }
.oyun-bugun span { font-size: .78rem; font-weight: 700; letter-spacing: .01em; text-transform: none; color: var(--soluk); }
.oyun-bugun b { font-family: var(--serif); font-weight: 500; font-size: 1.2rem; color: var(--murekkep); }

.oyun-kartlar { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.oyun-kart-btn { display: flex; flex-direction: column; width: 100%; height: 100%; text-align: left; border: 1px solid var(--cizgi); background: var(--yuzey); border-radius: var(--r); overflow: hidden; padding: 0; cursor: pointer; color: var(--metin); transition: transform var(--gecis), border-color var(--gecis); }
@media (hover: hover) and (pointer: fine) { .oyun-kart-btn:hover { transform: translateY(-3px); border-color: var(--murekkep); } }
.oyun-kart-sanat { display: grid; place-items: center; background: var(--ton); aspect-ratio: 16 / 9; font-size: 4rem; line-height: 1; }
.oyun-kart-sanat span { display: inline-block; transition: transform .3s var(--ease-out); filter: drop-shadow(0 8px 12px rgba(15, 27, 61, .12)); }
@media (hover: hover) and (pointer: fine) { .oyun-kart-btn:hover .oyun-kart-sanat span { transform: scale(1.12) rotate(-6deg); } }
.oyun-kart-ic { display: flex; flex-direction: column; gap: 6px; padding: 22px 24px 24px; flex: 1; }
.oyun-kart-ust { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.oyun-kart-ad { font-family: var(--serif); font-weight: 500; font-size: 1.6rem; color: var(--murekkep); letter-spacing: -.01em; line-height: 1.15; }
.oyun-kart-kisa { color: var(--soluk); font-size: .95rem; line-height: 1.5; }
.oyun-kart-alt { display: flex; justify-content: space-between; align-items: center; margin-top: auto; padding-top: 16px; }
.oyun-kart-oyna { font-weight: 700; color: var(--murekkep); }
.oyun-kart-yeni { font-size: .74rem; font-weight: 700; letter-spacing: .1em; text-transform: none; color: var(--yesil); }
.oyun-yildiz { color: #d8d2c6; font-size: 1.05rem; line-height: 1; }
.oyun-yildiz.dolu { color: var(--altin); }
.oyun-yildiz.buyuk { font-size: 3rem; display: inline-block; }

.oyun-defter { display: grid; grid-template-columns: 1fr 1.4fr; gap: 32px; align-items: center; margin-top: 48px; padding: 36px; border: 1px solid var(--cizgi); border-radius: var(--r); background: var(--yuzey); }
.oyun-defter h3 { font-family: var(--serif); font-weight: 500; font-size: 1.8rem; margin: 4px 0 6px; }
.oyun-defter p { color: var(--soluk); margin: 0; font-size: .95rem; }
.oyun-defter-izgara { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; }
.oyun-cikartma { display: grid; place-items: center; aspect-ratio: 1; border-radius: 50%; background: var(--zemin-2); color: #c5bfb3; font-family: var(--serif); font-size: 1.3rem; border: 1px dashed #d8d2c6; }
.oyun-cikartma.var { background: #fff; border: 1px solid var(--cizgi); font-size: 1.8rem; box-shadow: 0 4px 10px rgba(15, 27, 61, .06); }
.oyun-not { font-size: .88rem; color: var(--soluk); margin: 24px 0 0; }

/* ---- sahne ---- */
.oyun-sahne-cubuk { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 20px; flex-wrap: wrap; }
.oyun-sahne-cubuk .btn { padding: .7em 1.1em; font-size: .9rem; }
.oyun-sahne-ad { font-family: var(--serif); font-size: 1.2rem; color: var(--murekkep); }
.oyun-sahne-anahtar .oyun-anahtarlar { justify-content: flex-start; }
.oyun-sahne-ic { min-height: 420px; }

/* başlangıç */
.oyun-baslangic { display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; align-items: center; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 28px; overflow: hidden; }
.oyun-baslangic-sanat { display: grid; place-items: center; background: var(--ton); min-height: 100%; font-size: clamp(5rem, 12vw, 9rem); line-height: 1; padding: 40px; align-self: stretch; }
.oyun-baslangic-ic { padding: 40px 40px 40px 0; }
.oyun-baslangic-ic h2 { font-size: clamp(2rem, 3.4vw, 2.8rem); margin: 4px 0 16px; }
.oyun-nasil { margin: 0 0 24px; padding: 0 0 0 1.4em; }
.oyun-nasil li { margin-bottom: .4em; }
.oyun-nasil li::marker { font-family: var(--serif); font-style: italic; color: var(--altin); }
.oyun-sev-secim { display: flex; align-items: center; gap: 14px; margin-bottom: 20px; flex-wrap: wrap; }
.oyun-sev-secim > span { font-size: .8rem; font-weight: 700; letter-spacing: .01em; text-transform: none; color: var(--soluk); }
.oyun-sev-btnler { display: flex; gap: 6px; }
.oyun-sev { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--cizgi); background: var(--zemin); font-weight: 700; color: var(--metin); cursor: pointer; transition: background var(--gecis), color var(--gecis), border-color var(--gecis); }
@media (hover: hover) and (pointer: fine) { .oyun-sev:hover { border-color: var(--murekkep); } }
.oyun-sev.secili { background: var(--murekkep); color: #fff; border-color: var(--murekkep); }
.oyun-rekor { font-size: .92rem; color: var(--soluk); margin: 0 0 20px; }
.oyun-rekor b { color: var(--murekkep); }
.oyun-baslangic-dugmeler { display: flex; gap: 12px; flex-wrap: wrap; }

/* HUD + tahta */
.oyun-hud { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; font-weight: 700; color: var(--murekkep); font-size: .95rem; margin-bottom: 10px; }
.oyun-hud-sag { text-align: right; }
.oyun-hud-yonerge { font-family: var(--serif); font-weight: 500; font-size: 1.25rem; text-align: center; color: var(--murekkep); }
.oyun-ilerleme { height: 4px; border-radius: 999px; background: var(--zemin-2); overflow: hidden; margin-bottom: 24px; }
.oyun-ilerleme i { display: block; height: 100%; background: var(--murekkep); border-radius: 999px; transition: width .4s cubic-bezier(.2, .7, .2, 1); }
.oyun-tahta { position: relative; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 28px; padding: clamp(20px, 4vw, 40px); min-height: 380px; display: grid; place-items: center; }
.oyun-tepki { position: fixed; left: 50%; top: 28%; transform: translate(-50%, 0) scale(.9); pointer-events: none; opacity: 0; z-index: 70; font-family: var(--serif); font-size: clamp(1.6rem, 4vw, 2.6rem); font-weight: 500; padding: .35em .9em; border-radius: 999px; background: #fff; color: var(--murekkep); box-shadow: 0 12px 30px rgba(15, 27, 61, .14); transition: opacity .2s, transform .25s cubic-bezier(.2, .7, .2, 1); }
.oyun-tepki.goster { opacity: 1; transform: translate(-50%, -10px) scale(1); }
.oyun-tepki.dogru { color: var(--oyun-dogru); }
.oyun-tepki.yanlis { color: var(--soluk); font-size: clamp(1.2rem, 3vw, 1.7rem); }
.oyun-dogru { box-shadow: 0 0 0 4px var(--oyun-dogru) !important; }
.oyun-yanlis { animation: oyun-salla .4s ease; }
.oyun-goster-dogru { box-shadow: 0 0 0 4px var(--oyun-dogru) !important; animation: oyun-nabiz 1s ease 2; }
@keyframes oyun-salla { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-6px); } 75% { transform: translateX(6px); } }
@keyframes oyun-nabiz { 50% { transform: scale(1.06); } }
.oyun-secenekler { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; margin-top: 28px; width: 100%; }
.oyun-secenek { display: grid; place-items: center; min-width: 96px; min-height: 96px; padding: 14px; border-radius: 22px; border: 1px solid var(--cizgi); background: var(--zemin); cursor: pointer; transition: transform var(--gecis), border-color var(--gecis), background var(--gecis); }
@media (hover: hover) and (pointer: fine) { .oyun-secenek:hover:not(:disabled) { border-color: var(--murekkep); transform: translateY(-3px); } }
.oyun-secenek:disabled { cursor: default; }

/* 1) hafıza */
.oyun-hafiza-izgara { display: grid; grid-template-columns: repeat(var(--sutun), 1fr); gap: clamp(8px, 1.6vw, 14px); width: min(100%, calc(var(--sutun) * 120px)); }
.oyun-hkart { position: relative; aspect-ratio: 3 / 4; border: 0; background: transparent; padding: 0; cursor: pointer; perspective: 800px; border-radius: 16px; }
.oyun-hkart-ic { position: absolute; inset: 0; transition: transform .32s var(--ease-out); transform-style: preserve-3d; border-radius: 16px; }
.oyun-hkart.acik .oyun-hkart-ic, .oyun-hkart.eslesti .oyun-hkart-ic { transform: rotateY(180deg); }
.oyun-hkart-arka, .oyun-hkart-on { position: absolute; inset: 0; border-radius: 16px; backface-visibility: hidden; -webkit-backface-visibility: hidden; display: grid; place-items: center; }
.oyun-hkart-arka { background: var(--murekkep); background-image: radial-gradient(circle at 50% 50%, rgba(217, 154, 43, .55) 0 3px, transparent 3.5px); background-size: 22px 22px; box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .08); }
.oyun-hkart-on { transform: rotateY(180deg); background: var(--ton, #fff); border: 1px solid var(--cizgi); font-size: clamp(1.8rem, 5vw, 3rem); }
.oyun-hkart.eslesti { cursor: default; }
.oyun-hkart.eslesti .oyun-hkart-on { box-shadow: 0 0 0 3px var(--oyun-dogru); }
@media (hover: hover) and (pointer: fine) { .oyun-hkart:hover:not(.acik):not(.eslesti) .oyun-hkart-ic { transform: translateY(-3px); } }

/* 2) kim yok */
.oyun-kimyok { width: 100%; text-align: center; }
.oyun-sahne-alani { min-height: 160px; display: grid; place-items: center; }
.oyun-siralama { display: flex; gap: clamp(10px, 3vw, 24px); flex-wrap: wrap; justify-content: center; }
.oyun-siralama .oyun-buyuk-emoji { background: var(--zemin); border: 1px solid var(--cizgi); border-radius: 20px; padding: 14px; font-size: clamp(2.2rem, 7vw, 3.6rem); }
.oyun-perde { font-size: 4rem; line-height: 1; animation: oyun-belir .3s ease; }

/* 3) farklı */
.oyun-farkli { width: 100%; display: grid; place-items: center; }
.oyun-izgara { display: grid; grid-template-columns: repeat(var(--n), 1fr); gap: clamp(6px, 1.4vw, 12px); width: min(100%, calc(var(--n) * 96px)); }
.oyun-hucre { aspect-ratio: 1; border: 1px solid var(--cizgi); background: var(--zemin); border-radius: 18px; cursor: pointer; display: grid; place-items: center; font-size: clamp(1.6rem, 5vw, 2.6rem); line-height: 1; padding: 0; transition: transform var(--gecis), border-color var(--gecis); }
.oyun-hucre span { display: inline-block; }
@media (hover: hover) and (pointer: fine) { .oyun-hucre:hover:not(:disabled) { border-color: var(--murekkep); transform: scale(1.04); } }
.oyun-hucre:disabled { cursor: default; }

/* 4) uçtu uçtu */
.oyun-uctu { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 28px; }
.oyun-uctu-sahne { width: 100%; height: 220px; display: grid; place-items: center; background: linear-gradient(#eaf2ff, #f7fbff); border-radius: 22px; border: 1px solid var(--cizgi); overflow: hidden; position: relative; }
.oyun-uctu-nesne { display: flex; flex-direction: column; align-items: center; gap: 8px; opacity: 0; transform: translateY(20px) scale(.9); transition: opacity .25s, transform .3s cubic-bezier(.2, .7, .2, 1); }
.oyun-uctu-nesne.goster { opacity: 1; transform: none; }
.oyun-uctu-emoji { font-size: clamp(4rem, 12vw, 6rem); line-height: 1; }
.oyun-uctu-yazi { font-family: var(--serif); font-size: clamp(1.4rem, 3.5vw, 2rem); color: var(--murekkep); }
.oyun-uctu-nesne.ucar .oyun-uctu-emoji { animation: oyun-sallan 1.2s ease-in-out infinite; }
.oyun-uctu-nesne.yakalandi { transform: translateY(-140px) scale(.6); opacity: 0; transition-duration: .6s; }
.oyun-uctu-nesne.kacti { transform: translateX(160px) translateY(-60px); opacity: 0; transition-duration: .7s; }
.oyun-uctu-nesne.hata .oyun-uctu-emoji { animation: oyun-salla .4s ease; }
.oyun-uctu-nesne.sabir .oyun-uctu-emoji { animation: oyun-nabiz .6s ease; }
@keyframes oyun-sallan { 0%, 100% { transform: translateY(0) rotate(-4deg); } 50% { transform: translateY(-10px) rotate(4deg); } }
.oyun-uctu-btn { width: min(100%, 320px); height: 96px; border-radius: 999px; border: 0; background: var(--murekkep); color: #fff; font-family: var(--serif); font-size: 2rem; cursor: pointer; box-shadow: 0 10px 26px rgba(15, 27, 61, .22); transition: transform .12s, background var(--gecis), opacity var(--gecis); }
.oyun-uctu-btn:active:not(:disabled) { transform: scale(.96); }
.oyun-uctu-btn:disabled { opacity: .45; cursor: default; box-shadow: none; }

/* 5) sıra hafızası */
.oyun-sira { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.oyun-pedler { display: grid; grid-template-columns: repeat(min(var(--n), 3), 1fr); gap: clamp(10px, 2vw, 18px); width: min(100%, 460px); }
.oyun-ped { aspect-ratio: 1; border: 0; border-radius: 26px; cursor: pointer; display: grid; place-items: center; font-size: clamp(2.2rem, 7vw, 3.4rem); line-height: 1; background: var(--ped); opacity: .55; transform: scale(.96); transition: opacity .18s, transform .18s, box-shadow .18s; }
.oyun-ped span { filter: grayscale(.2); transition: filter .18s; }
.oyun-ped-yesil { --ped: var(--ped-yesil); } .oyun-ped-mavi { --ped: var(--ped-mavi); } .oyun-ped-sari { --ped: var(--ped-sari); }
.oyun-ped-kirmizi { --ped: var(--ped-kirmizi); } .oyun-ped-mor { --ped: var(--ped-mor); } .oyun-ped-turuncu { --ped: var(--ped-turuncu); }
.oyun-ped.yanik, .oyun-ped:active { opacity: 1; transform: scale(1.04); box-shadow: 0 0 0 5px #fff, 0 0 0 8px var(--ped); }
.oyun-ped.yanik span { filter: none; }
.oyun-sira.izle .oyun-ped { cursor: default; pointer-events: none; }
.oyun-sira-durum { font-family: var(--serif); font-size: 1.3rem; color: var(--murekkep); min-height: 1.5em; }

/* 6) örüntü */
.oyun-oruntu { width: 100%; text-align: center; }
.oyun-serit { display: flex; gap: clamp(6px, 1.5vw, 12px); justify-content: center; flex-wrap: wrap; }
.oyun-serit-oge { display: grid; place-items: center; width: clamp(56px, 11vw, 84px); height: clamp(56px, 11vw, 84px); border-radius: 18px; background: var(--zemin); border: 1px solid var(--cizgi); font-size: clamp(1.8rem, 5vw, 2.6rem); line-height: 1; }
.oyun-serit-oge .oyun-buyuk-emoji { font-size: inherit; }
.oyun-serit-oge.bos { border: 2px dashed var(--altin); color: var(--altin); font-family: var(--serif); font-size: 2rem; background: #fff; }
.oyun-serit-oge.dolu { border-style: solid; border-color: var(--oyun-dogru); animation: oyun-belir .3s ease; }

/* 7) kural */
.oyun-kural { width: 100%; display: flex; flex-direction: column; align-items: center; gap: 22px; }
.oyun-kural-cue { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.oyun-cue { font-weight: 800; letter-spacing: .14em; font-size: 1.1rem; padding: .5em 1.2em; border-radius: 999px; background: var(--zemin-2); color: var(--murekkep); }
.oyun-cue.degisti { animation: oyun-nabiz .6s ease 2; background: var(--murekkep); color: #fff; }
.oyun-kural-cue small { color: var(--soluk); font-size: .88rem; }
.oyun-kural-kart { display: grid; place-items: center; width: 140px; height: 160px; border-radius: 20px; background: #fff; border: 1px solid var(--cizgi); box-shadow: 0 10px 24px rgba(15, 27, 61, .1); opacity: 0; transform: translateY(-14px) scale(.9); transition: opacity .25s, transform .45s cubic-bezier(.2, .7, .2, 1); }
.oyun-kural-kart.goster { opacity: 1; transform: none; }
.oyun-kural-kart.git-A { opacity: 0; transform: translate(-120px, 120px) scale(.5); }
.oyun-kural-kart.git-B { opacity: 0; transform: translate(120px, 120px) scale(.5); }
.oyun-kutular { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; width: min(100%, 460px); }
.oyun-kutu { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 14px 14px 0; border: 1px solid var(--cizgi); border-radius: 22px 22px 14px 14px; background: var(--zemin); cursor: pointer; transition: transform var(--gecis), border-color var(--gecis); }
@media (hover: hover) and (pointer: fine) { .oyun-kutu:hover:not(:disabled) { border-color: var(--murekkep); transform: translateY(-3px); } }
.oyun-kutu-govde { width: 100%; height: 64px; border-radius: 10px 10px 12px 12px; background: var(--murekkep); opacity: .85; }
.oyun-kutu:disabled { cursor: default; }

/* bitiş */
.oyun-bitis { background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 28px; padding: clamp(28px, 5vw, 48px); max-width: 720px; margin: 0 auto; animation: oyun-belir .4s ease; }
.oyun-bitis-ust { text-align: center; margin-bottom: 28px; }
.oyun-bitis-ust h2 { font-size: clamp(2rem, 4vw, 3rem); margin: 8px 0 6px; }
.oyun-bitis-ust p { color: var(--soluk); margin: 0; }
.oyun-yildizlar .oyun-yildiz.dolu { animation: oyun-yildiz-pop .5s cubic-bezier(.2, .7, .2, 1) both; }
.oyun-yildizlar .oyun-yildiz:nth-child(2) { animation-delay: .22s; }
.oyun-yildizlar .oyun-yildiz:nth-child(3) { animation-delay: .44s; }
@keyframes oyun-yildiz-pop { from { transform: scale(.6) rotate(-30deg); opacity: 0; } 70% { transform: scale(1.25); } to { transform: none; opacity: 1; } }
.oyun-ozet { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 12px; margin: 0 0 20px; }
.oyun-ozet > div { background: var(--ton); border-radius: 16px; padding: 14px 16px; }
.oyun-ozet dt { font-size: .74rem; font-weight: 700; letter-spacing: .01em; text-transform: none; color: var(--soluk); }
.oyun-ozet dd { margin: 2px 0 0; font-family: var(--serif); font-size: 1.5rem; color: var(--murekkep); }
.oyun-ozet .rekor { background: #fff6e0; }
.oyun-yeni-cikartma { display: flex; align-items: center; gap: 16px; background: var(--zemin); border: 1px dashed var(--altin); border-radius: 16px; padding: 12px 16px; margin-bottom: 20px; }
.oyun-yeni-cikartma span { font-size: 2.4rem; line-height: 1; animation: oyun-yildiz-pop .6s cubic-bezier(.2, .7, .2, 1) both; }
.oyun-yeni-cikartma b { display: block; color: var(--murekkep); }
.oyun-yeni-cikartma small { color: var(--soluk); }
.oyun-bitis-dugmeler { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 20px; }
.oyun-veli { border-top: 1px solid var(--cizgi); padding-top: 16px; }
.oyun-veli summary { cursor: pointer; font-weight: 700; color: var(--murekkep); }
.oyun-veli p { font-size: .95rem; margin: .8em 0 0; }
@keyframes oyun-belir { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ---- duyarlı ---- */
@media (max-width: 1024px) {
  .oyun-kartlar { grid-template-columns: 1fr 1fr; }
  .oyun-lobi-bas { grid-template-columns: 1fr; align-items: start; }
  .oyun-lobi-yan { align-items: flex-start; }
  .oyun-anahtarlar { justify-content: flex-start; }
  .oyun-defter { grid-template-columns: 1fr; }
  .oyun-baslangic { grid-template-columns: 1fr; }
  .oyun-baslangic-sanat { min-height: 180px; padding: 24px; }
  .oyun-baslangic-ic { padding: 28px; }
}
@media (max-width: 640px) {
  .oyun-kartlar { grid-template-columns: 1fr; }
  .oyun-kart-sanat { aspect-ratio: 21 / 9; font-size: 3.2rem; }
  .oyun-yas { flex-wrap: wrap; border-radius: 18px; padding: 8px 10px; }
  .oyun-hud { grid-template-columns: 1fr 1fr; }
  .oyun-hud-yonerge { grid-column: 1 / -1; order: -1; font-size: 1.1rem; }
  .oyun-tahta { border-radius: 20px; min-height: 320px; }
  .oyun-sahne-cubuk .oyun-sahne-ad { order: 3; width: 100%; }
  .oyun-uctu-sahne { height: 180px; }
  .oyun-uctu-btn { height: 84px; font-size: 1.7rem; }
  .oyun-secenek { min-width: 80px; min-height: 80px; }
  .oyun-defter-izgara { grid-template-columns: repeat(7, 1fr); gap: 6px; }
  .oyun-cikartma.var { font-size: 1.3rem; }
  .oyun-bitis-dugmeler .btn { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .oyun-alan *, .oyun-alan *::before, .oyun-alan *::after { animation: none !important; transition-duration: .01ms !important; }
  .oyun-hkart-ic { transition: none; }
}

/* ---- beceri karnesi ---- */
.oyun-karne { margin-top: 48px; padding: 36px; border: 2px solid var(--vurgu); border-radius: var(--r); background: var(--yuzey); }
.oyun-karne.bos { border: 1px dashed var(--cizgi); }
.oyun-karne h3 { font-family: var(--serif); font-weight: 500; font-size: 1.8rem; margin: 4px 0 6px; }
.oyun-karne p { color: var(--soluk); margin: 0; font-size: .95rem; }
.oyun-karne-liste { list-style: none; padding: 0; margin: 24px 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
.oyun-karne-liste li { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 12px; background: var(--zemin); border: 1px solid var(--cizgi); }
.oyun-karne-liste b { font-size: .85rem; padding: 3px 10px; border-radius: 99px; }
.karne-rahat b { background: color-mix(in srgb, var(--yesil) 18%, transparent); color: var(--yesil); }
.karne-gelisiyor b { background: color-mix(in srgb, var(--altin) 22%, transparent); color: var(--murekkep); }
.karne-zor b { background: color-mix(in srgb, var(--vurgu) 18%, transparent); color: var(--vurgu); }
.oyun-karne-cta { padding: 20px 24px; border-radius: 14px; background: var(--vurgu-acik); }
.oyun-karne-cta b { display: block; font-size: 1.1rem; color: var(--murekkep); margin-bottom: 4px; }
.oyun-karne-cta .btn { margin-top: 14px; }
.oyun-karne-cta.hafif { background: var(--zemin); }
.oyun-bitis-cta { margin: 20px 0; padding: 18px 22px; border-radius: 14px; background: var(--vurgu-acik); text-align: left; }
.oyun-bitis-cta b { display: block; color: var(--murekkep); }
.oyun-bitis-cta p { margin: 4px 0 12px; }
.oyun-bitis-cta.hafif { background: var(--zemin); border: 1px solid var(--cizgi); }
.oyun-bitis-cta.hafif p { margin: 0; }
@media (max-width: 640px) { .oyun-karne { padding: 22px 16px; } .oyun-karne h3 { font-size: 1.4rem; } }

/* ---- yüz yüze görüşme daveti ---- */
.oyun-davet { display: grid; grid-template-columns: 1fr auto; gap: 18px 24px; align-items: center; margin: 20px 0; padding: 20px 24px; border-radius: 14px; background: var(--zemin); border: 1px solid var(--cizgi); text-align: left; }
.oyun-davet.guclu { background: var(--vurgu-acik); border-color: var(--vurgu); }
.oyun-davet b { display: block; font-size: 1.08rem; color: var(--murekkep); margin-bottom: 4px; }
.oyun-davet p { margin: 0; color: var(--soluk); font-size: .92rem; }
.oyun-davet-dugmeler { display: flex; flex-direction: column; gap: 8px; }
.oyun-davet-dugmeler .btn { white-space: nowrap; justify-content: center; }
.oyun-karne-sayac, .oyun-karne-not { margin: 8px 0 0; color: var(--soluk); font-size: .9rem; }
@media (max-width: 640px) { .oyun-davet { grid-template-columns: 1fr; } .oyun-davet-dugmeler { flex-direction: row; flex-wrap: wrap; } }

/* ---- oyun modu: oyun açıkken kuruma yanlışlıkla ulaşılamasın, dikkat dağıtıcılar gizli ---- */
html.oyun-modu .mobil-cubuk, html.oyun-modu .yardim, html.oyun-modu .basa-don, html.oyun-modu .cerez-kutu { display: none !important; }
html.oyun-modu body { padding-bottom: 0 !important; }
/* başlığa programatik odak verilince kutu çıkmasın; klavyeyle gelene halka kalır */
.oyun-odak:focus:not(:focus-visible) { outline: none; }
.oyun-alan [tabindex="-1"]:focus:not(:focus-visible) { outline: none; }
/* düğmeler basılınca küçük bir geri bildirim verir */
.oyun-alan button { transition-property: transform, border-color, background, box-shadow, color; }
.oyun-alan .oyun-secenek:active:not(:disabled), .oyun-alan .oyun-hucre:active:not(:disabled), .oyun-alan .oyun-hkart:active:not(.eslesti) { transform: scale(.96); transition-duration: 90ms; }
@media (max-width: 640px) {
  /* ses ve süre düğmeleri yalnız simge olur (ekran okuyucu için yazı gizli kalır) */
  .oyun-sahne-cubuk { gap: 8px; margin-bottom: 8px; flex-wrap: nowrap; }
  .oyun-sahne-cubuk .oyun-sahne-ad { order: 0; width: auto; flex: 1; text-align: center; font-size: 1.05rem; line-height: 1.2; }
  .oyun-sahne-cubuk .oyun-geri { padding: 0; width: 48px; height: 48px; display: grid; place-items: center; font-size: 0; }
  .oyun-sahne-cubuk .oyun-geri span { font-size: 1.3rem; }
  .oyun-sahne-anahtar .oyun-anahtarlar { flex-wrap: nowrap; gap: 6px; }
  .oyun-sahne-cubuk .oyun-anahtar { width: 48px; height: 48px; padding: 0; justify-content: center; }
  .oyun-sahne-cubuk .oyun-anahtar i { font-size: 1.3rem; }
  .oyun-anahtar-yazi { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .oyun-sahne-ic { min-height: 0; }
  .oyun-hud { margin-bottom: 6px; font-size: .85rem; gap: 6px; }
  .oyun-hud-yonerge { font-size: 1.05rem; }
  .oyun-ilerleme { margin-bottom: 10px; }
  .oyun-tahta { padding: 12px; min-height: 0; border-radius: 22px; }
  .oyun-secenekler { margin-top: 14px; gap: 12px; }
  .oyun-secenek { min-width: 120px; min-height: 120px; }
  .oyun-secenek .oyun-buyuk-emoji { font-size: 4rem; }
  .oyun-hafiza-izgara { width: 100%; gap: 8px; }
  .oyun-hkart { aspect-ratio: auto; height: clamp(130px, 27dvh, 240px); }
  .oyun-hkart-on, .oyun-hkart-arka { font-size: clamp(3.4rem, 18vw, 5rem); }
  .oyun-hucre { font-size: clamp(2rem, 9vw, 3rem); }
}
@media (prefers-reduced-motion: reduce) {
  .oyun-alan .oyun-secenek:active, .oyun-alan .oyun-hucre:active, .oyun-alan .oyun-hkart:active { transform: none; }
}

/* yaş düğmeleri: parmakla rahat dokunulsun (en az 44 px) */
.oyun-yas-btn { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.oyun-yas > span { padding-left: 0; }

/* telefonda hücreli oyunlar (Bu Ne?, Hayvanlar Ne Der?, Farklı Olanı Bul): büyük hücre, büyük resim */
@media (max-width: 640px) {
  .oyun-izgara { width: min(100%, calc(var(--n) * 140px)); gap: 12px; }
  .oyun-hucre { font-size: clamp(3rem, 19vw, 5rem); border-radius: 22px; }
}

/* telefonda 120 px hedefi: az öğeli seviyelerde sütun sayısı düşer, öğeler büyür */
@media (max-width: 640px) {
  .oyun-hafiza-izgara[style*="--sutun:3"] { grid-template-columns: repeat(2, 1fr); gap: 12px; }
  .oyun-hafiza-izgara[style*="--sutun:3"] .oyun-hkart { height: clamp(120px, 19dvh, 170px); }
  .oyun-pedler { grid-template-columns: repeat(min(var(--n), 2), 1fr); width: min(100%, 340px); gap: 14px; }
  .oyun-uctu-btn { height: 120px; font-size: 1.9rem; }
}

/* masaüstü: resimler ve dokunma alanları büyük (en az 120 px), tahtadaki boşluk kullanılır */
@media (min-width: 641px) {
  .oyun-hafiza-izgara { width: min(100%, calc(var(--sutun) * 140px)); }
  .oyun-hkart-on, .oyun-hkart-arka { font-size: clamp(2.4rem, 5.5vw, 4.2rem); }
  .oyun-secenek { min-width: 120px; min-height: 120px; }
  .oyun-secenek .oyun-buyuk-emoji { font-size: 3.6rem; }
  .oyun-izgara { width: min(100%, calc(var(--n) * 130px)); }
  .oyun-hucre { font-size: clamp(2.6rem, 5vw, 3.8rem); }
  .oyun-ped { font-size: clamp(2.6rem, 6vw, 4rem); }
}

/* erişilebilirlik: tüm oyun düğmeleri en az 44 px dokunma hedefi */
.oyun-alan button, .oyun-alan .btn, .oyun-anahtar { min-height: 44px; min-width: 44px; }
/* renk tek ipucu olmasın: doğru seçim yeşil halkaya ek olarak ✓ işareti taşır */
.oyun-dogru, .oyun-goster-dogru { position: relative; }
.oyun-dogru::after, .oyun-goster-dogru::after { content: "✓"; position: absolute; top: -10px; right: -10px; width: 28px; height: 28px; border-radius: 50%; background: var(--oyun-dogru); color: #fff; font: 800 16px/28px system-ui, sans-serif; text-align: center; pointer-events: none; z-index: 2; }
.oyun-kutu-yazi { display: block; font-size: .8rem; font-weight: 700; color: var(--murekkep); margin-top: 4px; }
/* kart bilgileri */
.oyun-kart { display: flex; flex-direction: column; }
.oyun-kart-bilgi { padding: 14px 6px 0; font-size: .86rem; line-height: 1.5; color: var(--soluk); }
.oyun-kart-bilgi p { margin: 0 0 6px; }
.oyun-kart-bilgi b { color: var(--murekkep); }
.oyun-kart-bilgi a { display: inline-block; padding: 6px 0; }
.oyun-kart .oyun-kart-btn { height: auto; flex: 1; }

/* =====================================================================
   4 Eki 2026 — "premium" hareket ve görünüm katmanı (yalnız CSS; oyun mantığına dokunmaz)
   İlkeler: yalnız transform/opacity; 150–400 ms; ease-out eğrisi; girişte hafif kademe;
   animasyonlar fill-mode "backwards" (bitince :active ölçeğini ezmesin); hareket azaltılınca hepsi kapanır.
   ===================================================================== */
.oyun-alan {
  --oyun-egri: cubic-bezier(.23, 1, .32, 1);       /* güçlü ease-out: hızlı başlar, yumuşak durur */
  --oyun-egri-yay: cubic-bezier(.34, 1.36, .64, 1); /* çok hafif taşma: yalnız kutlama anları */
  --oyun-golge-1: 0 1px 2px rgba(15, 27, 61, .05), 0 4px 12px rgba(15, 27, 61, .05);
  --oyun-golge-2: 0 2px 4px rgba(15, 27, 61, .06), 0 14px 32px rgba(15, 27, 61, .10);
  --oyun-cerceve: rgba(15, 27, 61, .08);
}
@keyframes oyun-giris { from { opacity: 0; transform: translateY(10px) scale(.98); } }
@keyframes oyun-giris-olcek { from { opacity: 0; transform: scale(.94); } }
@keyframes oyun-pop { 0% { transform: scale(1); } 45% { transform: scale(1.06); } 100% { transform: scale(1); } }
@keyframes oyun-salla-yumusak { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-5px); } 45% { transform: translateX(4px); } 70% { transform: translateX(-2px); } }
@keyframes oyun-tik { from { opacity: 0; transform: scale(.5); } }
@keyframes oyun-parilti { 0% { opacity: 0; transform: scale(.85); } 40% { opacity: .9; } 100% { opacity: 0; transform: scale(1.25); } }

/* --- lobi kartları: tutarlı gölge, kademeli giriş, zarif kalkış, dokununca ölçek --- */
.oyun-kart-btn { border-color: var(--oyun-cerceve); box-shadow: var(--oyun-golge-1); transition: transform .25s var(--oyun-egri), box-shadow .25s var(--oyun-egri), border-color .2s ease-out; }
@media (hover: hover) and (pointer: fine) { .oyun-kart-btn:hover { transform: translateY(-4px); box-shadow: var(--oyun-golge-2); border-color: var(--oyun-cerceve); } }
.oyun-kart-btn:active { transform: scale(.98); transition-duration: .12s; }
.oyun-kartlar > li { animation: oyun-giris .4s var(--oyun-egri) backwards; }
.oyun-kartlar > li:nth-child(2) { animation-delay: 40ms; } .oyun-kartlar > li:nth-child(3) { animation-delay: 80ms; }
.oyun-kartlar > li:nth-child(4) { animation-delay: 120ms; } .oyun-kartlar > li:nth-child(5) { animation-delay: 160ms; }
.oyun-kartlar > li:nth-child(6) { animation-delay: 200ms; } .oyun-kartlar > li:nth-child(n+7) { animation-delay: 240ms; }
.oyun-kart-sanat span { transition: transform .35s var(--oyun-egri); }
.oyun-defter, .oyun-karne { box-shadow: var(--oyun-golge-1); }
.oyun-cikartma.var { animation: oyun-giris-olcek .3s var(--oyun-egri) backwards; }

/* --- başlangıç ekranı ve oyun tahtası --- */
.oyun-baslangic { border-color: var(--oyun-cerceve); box-shadow: var(--oyun-golge-2); animation: oyun-giris .35s var(--oyun-egri) backwards; }
.oyun-baslangic-sanat > * { animation: oyun-giris-olcek .4s var(--oyun-egri) 60ms backwards; }
.oyun-tahta { border-color: var(--oyun-cerceve); box-shadow: var(--oyun-golge-1); background: linear-gradient(180deg, var(--yuzey) 0%, color-mix(in srgb, var(--yuzey) 92%, var(--zemin-2)) 100%); }
.oyun-hud-sol, .oyun-hud-sag { font-variant-numeric: tabular-nums; }
.oyun-ilerleme i { transition: width .4s var(--oyun-egri); }

/* seçenekler ve hücreler her turda kademeli belirir (en fazla ~200 ms gecikme) */
.oyun-secenek, .oyun-hucre, .oyun-kutu, .oyun-serit-oge, .oyun-siralama > *, .oyun-hkart { animation: oyun-giris .3s var(--oyun-egri) backwards; }
.oyun-secenekler > :nth-child(2), .oyun-izgara > :nth-child(2), .oyun-serit > :nth-child(2), .oyun-siralama > :nth-child(2), .oyun-hafiza-izgara > :nth-child(2) { animation-delay: 30ms; }
.oyun-secenekler > :nth-child(3), .oyun-izgara > :nth-child(3), .oyun-serit > :nth-child(3), .oyun-siralama > :nth-child(3), .oyun-hafiza-izgara > :nth-child(3) { animation-delay: 60ms; }
.oyun-secenekler > :nth-child(4), .oyun-izgara > :nth-child(4), .oyun-serit > :nth-child(4), .oyun-siralama > :nth-child(4), .oyun-hafiza-izgara > :nth-child(4) { animation-delay: 90ms; }
.oyun-secenekler > :nth-child(5), .oyun-izgara > :nth-child(5), .oyun-serit > :nth-child(5), .oyun-siralama > :nth-child(5), .oyun-hafiza-izgara > :nth-child(5) { animation-delay: 120ms; }
.oyun-secenekler > :nth-child(6), .oyun-izgara > :nth-child(6), .oyun-serit > :nth-child(6), .oyun-siralama > :nth-child(6), .oyun-hafiza-izgara > :nth-child(6) { animation-delay: 150ms; }
.oyun-izgara > :nth-child(n+7), .oyun-serit > :nth-child(n+7), .oyun-hafiza-izgara > :nth-child(n+7) { animation-delay: 180ms; }
.oyun-izgara > :nth-child(n+13), .oyun-hafiza-izgara > :nth-child(n+13) { animation-delay: 210ms; }
.oyun-kutu:nth-child(2) { animation-delay: 40ms; }

/* tutarlı yüzey: seçenek, hücre, kutu aynı çerçeve/gölge dili */
.oyun-secenek, .oyun-hucre, .oyun-kutu, .oyun-serit-oge { border-color: var(--oyun-cerceve); box-shadow: var(--oyun-golge-1); transition: transform .2s var(--oyun-egri), box-shadow .2s var(--oyun-egri), border-color .15s ease-out, background-color .15s ease-out; }
@media (hover: hover) and (pointer: fine) {
  .oyun-secenek:hover:not(:disabled), .oyun-kutu:hover:not(:disabled) { box-shadow: var(--oyun-golge-2); }
  .oyun-hucre:hover:not(:disabled) { box-shadow: var(--oyun-golge-2); }
}
/* dokunma geri bildirimi: basınca hafifçe küçülür, bırakınca yumuşakça döner */
.oyun-alan .oyun-secenek:active:not(:disabled), .oyun-alan .oyun-hucre:active:not(:disabled), .oyun-alan .oyun-kutu:active:not(:disabled),
.oyun-alan .oyun-hkart:active:not(.eslesti), .oyun-alan .btn:active, .oyun-alan .oyun-sev:active, .oyun-alan .oyun-yas-btn:active, .oyun-alan .oyun-anahtar:active { transform: scale(.96); transition-duration: .1s; }
.oyun-alan .btn { transition: transform .2s var(--oyun-egri), background-color .15s ease-out, border-color .15s ease-out, box-shadow .2s var(--oyun-egri); }

/* --- doğru / yanlış anları --- */
.oyun-dogru { animation: oyun-pop .32s var(--oyun-egri); }
.oyun-dogru::after, .oyun-goster-dogru::after { animation: oyun-tik .25s var(--oyun-egri-yay) backwards; box-shadow: 0 4px 10px rgba(31, 157, 87, .35); }
.oyun-yanlis { animation: oyun-salla-yumusak .32s ease-out; }
.oyun-goster-dogru { animation: oyun-pop .4s var(--oyun-egri) 2; }
.oyun-hkart.eslesti .oyun-hkart-on { transition: box-shadow .25s ease-out; }
.oyun-hkart.eslesti { animation: oyun-pop .32s var(--oyun-egri); }
.oyun-serit-oge.dolu { animation: oyun-giris-olcek .28s var(--oyun-egri-yay); }
.oyun-tepki { transition: opacity .2s ease-out, transform .3s var(--oyun-egri); box-shadow: var(--oyun-golge-2); }
.oyun-tepki.dogru { background: #effaf3; }

/* --- bitiş: sakin ama sevindirici kutlama --- */
.oyun-bitis { border-color: var(--oyun-cerceve); box-shadow: var(--oyun-golge-2); animation: oyun-giris .4s var(--oyun-egri) backwards; }
.oyun-bitis-ust { position: relative; }
.oyun-bitis-ust h2 { animation: oyun-giris .35s var(--oyun-egri) 80ms backwards; }
.oyun-bitis-ust p { animation: oyun-giris .35s var(--oyun-egri) 140ms backwards; }
.oyun-yildizlar { position: relative; display: inline-block; }
.oyun-yildizlar::before { content: ""; position: absolute; inset: -18px -28px; border-radius: 50%; background: radial-gradient(closest-side, rgba(217, 154, 43, .28), transparent); opacity: 0; pointer-events: none; animation: oyun-parilti .9s ease-out .25s 1; }
.oyun-yildizlar .oyun-yildiz.dolu { animation: oyun-yildiz-pop .4s var(--oyun-egri-yay) backwards; }
.oyun-yildizlar .oyun-yildiz:nth-child(2) { animation-delay: .12s; }
.oyun-yildizlar .oyun-yildiz:nth-child(3) { animation-delay: .24s; }
.oyun-ozet > div { animation: oyun-giris .35s var(--oyun-egri) backwards; }
.oyun-ozet > div:nth-child(1) { animation-delay: .2s; } .oyun-ozet > div:nth-child(2) { animation-delay: .25s; }
.oyun-ozet > div:nth-child(3) { animation-delay: .3s; } .oyun-ozet > div:nth-child(n+4) { animation-delay: .35s; }
.oyun-ozet dd { font-variant-numeric: tabular-nums; }
.oyun-yeni-cikartma { animation: oyun-giris .35s var(--oyun-egri) .35s backwards; }
.oyun-yeni-cikartma span { animation: oyun-yildiz-pop .4s var(--oyun-egri-yay) .45s backwards; }
.oyun-bitis-dugmeler, .oyun-davet, .oyun-bitis-cta { animation: oyun-giris .35s var(--oyun-egri) .4s backwards; }

/* --- hareket azaltma: tüm giriş, kutlama ve ölçek efektleri kapanır --- */
@media (prefers-reduced-motion: reduce) {
  .oyun-alan *, .oyun-alan *::before, .oyun-alan *::after { animation: none !important; transition-duration: .01ms !important; }
  .oyun-alan .oyun-secenek:active, .oyun-alan .oyun-hucre:active, .oyun-alan .oyun-kutu:active, .oyun-alan .oyun-hkart:active,
  .oyun-alan .btn:active, .oyun-alan .oyun-sev:active, .oyun-alan .oyun-yas-btn:active, .oyun-alan .oyun-anahtar:active, .oyun-kart-btn:active { transform: none; }
  .oyun-kart-btn:hover { transform: none; }
  .oyun-tepki { transition: opacity .01ms; }
}

/* ---- oyun sonucu: uzmana gönder (sakin kenar notu) ---- */
.oyun-yorum { margin: 18px 0; padding: 14px 16px; border-left: 3px solid var(--vurgu); border-top: 1px dashed var(--cizgi); border-bottom: 1px dashed var(--cizgi); background: transparent; text-align: left; color: var(--metin); }
.oyun-yorum p { margin: 0 0 8px; font-size: .95rem; line-height: 1.5; }
.oyun-yorum .oyun-yorum-baslik { color: var(--murekkep); font-weight: 700; font-size: 1.02rem; }
.oyun-yorum-dugmeler { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 10px 0; }
.oyun-yorum-dugmeler .btn { min-height: 44px; display: inline-flex; align-items: center; }
.oyun-yorum-ara { min-height: 44px; display: inline-flex; align-items: center; color: var(--vurgu); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.oyun-yorum .oyun-yorum-not { color: var(--soluk); font-size: .82rem; margin: 0; }
.oyun-yorum.kisa { margin: 12px 0 0; }
.oyun-yorum a:focus-visible { outline: 2px solid var(--vurgu); outline-offset: 3px; }
@media (max-width: 480px) { .oyun-yorum-dugmeler .btn { flex: 1 1 100%; justify-content: center; } }
@media (prefers-reduced-motion: reduce) { .oyun-yorum, .oyun-yorum * { transition: none !important; animation: none !important; } }

@media (hover: hover) and (pointer: fine) { .oyun-yorum-sms { display: none !important; } }

/* ==== Poster kataloğu (Ajan D, 5 Eki 2026): emoji kart yerine 4:5 kapak, kemer kırpım ==== */
.oyun-durust-bolum { padding: 8px 0 56px; }
.oyun-durust { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--cizgi); border-bottom: 1px solid var(--cizgi); }
.oyun-durust > div { padding: 28px 32px 28px 0; }
.oyun-durust > div + div { padding: 28px 0 28px 32px; border-left: 1px solid var(--cizgi); }
.oyun-durust h2 { font-size: clamp(1.3rem, 2.4vw, 1.6rem); margin: 0 0 10px; color: var(--murekkep); }
.oyun-durust p { margin: 0; color: var(--metin); max-width: 56ch; }
.poster-katalog { display: grid; gap: 72px; }
.poster-bant { --ton: #e4eaf5; }
.poster-bant.ton-gok { --ton: #e4eaf5; } .poster-bant.ton-seftali { --ton: #f3ebdf; } .poster-bant.ton-pembe { --ton: #f3e6ea; }
.poster-bant-bas { display: grid; grid-template-columns: auto 1fr; gap: 4px 18px; align-items: baseline; margin-bottom: 28px; padding-bottom: 16px; border-bottom: 1px solid var(--cizgi); }
.poster-bant-no { font-family: var(--serif); font-style: italic; color: var(--altin); font-size: 1.1rem; grid-row: span 2; }
.poster-bant-bas h3 { font-family: var(--serif); font-weight: 500; font-size: clamp(1.4rem, 2.6vw, 1.9rem); letter-spacing: -.015em; color: var(--murekkep); margin: 0; }
.poster-bant-bas p { margin: 0; color: var(--soluk); font-size: .95rem; }
.poster-izgara { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 28px; max-width: 960px; }
.poster { display: flex; flex-direction: column; min-width: 0; background: var(--yuzey); border: 1px solid var(--cizgi); border-radius: 2px; padding: 14px 14px 18px; }
.poster-ac { display: block; border-radius: 999px 999px 4px 4px; }
.poster-kapak { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 999px 999px 4px 4px; background: var(--ton); transition: transform .35s cubic-bezier(.2, .7, .2, 1); }
.poster-kapak img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (hover: hover) and (pointer: fine) { .poster:hover .poster-kapak { transform: translateY(-6px); } }
.poster-ac:focus-visible { outline: 3px solid var(--vurgu); outline-offset: 4px; }
.poster-ac:focus-visible .poster-kapak { transform: translateY(-6px); }
@media (prefers-reduced-motion: reduce) { .poster-kapak { transition: none; } .poster:hover .poster-kapak, .poster-ac:focus-visible .poster-kapak { transform: none; } }
.poster-ic { padding-top: 14px; display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.poster-beceri { font-size: .76rem; font-weight: 700; color: var(--soluk); letter-spacing: .01em; }
.poster-ad { font-family: var(--serif); font-weight: 500; font-size: 1.35rem; line-height: 1.15; letter-spacing: -.01em; margin: 0; }
.poster-ad a { color: var(--murekkep); text-decoration: none; }
.poster-olcu { margin: 0; font-size: .86rem; font-weight: 600; color: var(--metin); }
.poster-satir { margin: 0; font-size: .8rem; line-height: 1.45; color: var(--soluk); overflow-wrap: anywhere; }
.poster-satir b { color: var(--metin); font-weight: 700; }
.poster-satir a { color: var(--soluk); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; text-decoration-color: var(--cizgi); }
@media (hover: hover) and (pointer: fine) { .poster-satir a:hover { color: var(--vurgu); text-decoration-color: currentColor; } }
@media (max-width: 720px) {
  .oyun-durust { grid-template-columns: 1fr; }
  .oyun-durust > div, .oyun-durust > div + div { padding: 22px 0; border-left: 0; }
  .oyun-durust > div + div { border-top: 1px solid var(--cizgi); }
  .poster-izgara { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
  .poster { padding: 10px 10px 14px; }
  .poster-ad { font-size: 1.1rem; }
  .poster-katalog { gap: 56px; }
}
