/* ============================================================
 * CetinsSite - Oyun Stilleri (games.css)
 * Sektör-nötr, tema-bağımsız. Kabuk + Cümle Yerleştirme + tam ekran.
 * ============================================================ */
.game-page{ --gm-primary:#6d28d9; --gm-primary-d:#4c1d95; --gm-accent:#f59e0b; --gm-ink:#1f2937; --gm-muted:#6b7280; --gm-line:#e5e7eb; --gm-card:#ffffff; --gm-bg:#f5f3ff;
  max-width:920px; margin:0 auto; padding:24px 16px 60px; color:var(--gm-ink); }
.game-hero{ text-align:center; margin-bottom:20px; }
.game-hero__eyebrow{ display:inline-block; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gm-primary); background:var(--gm-bg); padding:4px 12px; border-radius:999px; }
.game-hero__title{ font-size:clamp(24px,4vw,36px); font-weight:800; margin:10px 0 6px; }
.game-hero__desc{ color:var(--gm-muted); line-height:1.6; max-width:640px; margin:0 auto; }
.game-hero__desc p{ margin:0 0 8px; }
.game-shell{ min-height:360px; }
.game-empty{ text-align:center; color:var(--gm-muted); padding:60px 0; }

/* Kartlar */
.gm-card{ background:var(--gm-card); border:1px solid var(--gm-line); border-radius:20px; padding:26px 22px; box-shadow:0 10px 40px rgba(76,29,149,.08); text-align:center; }
.gm-badge{ display:inline-block; background:linear-gradient(135deg,var(--gm-primary),var(--gm-primary-d)); color:#fff; font-weight:800; padding:8px 22px; border-radius:999px; font-size:15px; margin-bottom:16px; }
.gm-title{ font-size:clamp(22px,3.4vw,30px); font-weight:800; color:var(--gm-primary-d); margin:0 0 4px; line-height:1.2; }
.gm-subtitle{ font-size:15px; color:var(--gm-muted); margin:0 0 16px; line-height:1.4; }
.gm-intro{ color:var(--gm-ink); line-height:1.7; text-align:left; max-width:560px; margin:0 auto 18px; }
.gm-intro p{ margin:0 0 10px; }
.gm-lead-intro{ color:var(--gm-muted); font-size:14px; margin:4px 0 14px; line-height:1.5; }

/* Skor tablosu (liderlik) - başlangıç ekranı */
.gm-lb{ text-align:left; max-width:420px; margin:6px auto 18px; }
.gm-lb-title{ text-align:center; font-size:13px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--gm-primary); margin-bottom:10px; }
.gm-lb-tbl{ display:flex; flex-direction:column; }
.gm-lb-row{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 6px; border-bottom:1px solid var(--gm-line); }
.gm-lb-row:last-child{ border-bottom:none; }
.gm-lb-head{ font-size:11.5px; font-weight:700; letter-spacing:.05em; color:var(--gm-muted); border-bottom:2px solid var(--gm-line); }
.gm-lb-name{ font-weight:600; color:var(--gm-ink); }
.gm-lb-score{ font-weight:800; color:var(--gm-primary); font-variant-numeric:tabular-nums; }
.gm-lb-empty{ text-align:center; color:var(--gm-muted); font-size:14px; padding:8px 0 4px; }

/* Butonlar */
.gm-btn{ display:inline-flex; align-items:center; justify-content:center; gap:6px; border:none; border-radius:12px; font-weight:700; font-size:15px; padding:11px 20px; cursor:pointer; transition:transform .06s, box-shadow .2s, background .2s; font-family:inherit; }
.gm-btn:active{ transform:translateY(1px); }
.gm-btn--primary{ background:linear-gradient(135deg,var(--gm-accent),#d97706); color:#fff; box-shadow:0 6px 18px rgba(217,119,6,.3); }
.gm-btn--ghost{ background:#f3f4f6; color:var(--gm-ink); }
.gm-btn--wa{ background:#25d366; color:#fff; }
.gm-btn--lg{ padding:14px 30px; font-size:16px; width:100%; max-width:320px; margin:8px auto 0; }

/* Oynanış */
.gm-play{ display:flex; flex-direction:column; gap:16px; }
.gm-bar{ display:flex; justify-content:space-between; align-items:center; background:var(--gm-card); border:1px solid var(--gm-line); border-radius:14px; padding:10px 18px; font-size:15px; }
.gm-stat b{ color:var(--gm-primary); }
.gm-round{ background:var(--gm-card); border:1px solid var(--gm-line); border-radius:18px; padding:24px 20px; min-height:220px; position:relative; }
.gm-hint{ text-align:center; color:var(--gm-muted); font-style:italic; margin-bottom:8px; }
.gm-tip{ text-align:center; color:var(--gm-muted); font-size:13px; margin-bottom:16px; }

/* Cümle Yerleştirme */
.gm-answer{ min-height:52px; display:flex; flex-wrap:wrap; gap:8px; justify-content:center; align-items:center; padding:12px; border:2px dashed var(--gm-line); border-radius:12px; margin-bottom:16px; background:var(--gm-bg); }
.gm-bank{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:18px; }
.gm-chip{ background:var(--gm-primary); color:#fff; border:none; border-radius:10px; padding:9px 14px; font-size:15px; font-weight:600; cursor:pointer; font-family:inherit; box-shadow:0 3px 8px rgba(109,40,217,.25); }
.gm-chip--placed{ background:#fff; color:var(--gm-primary); border:2px solid var(--gm-primary); }
.gm-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; }
.gm-flash{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:22px; font-weight:800; border-radius:18px; animation:gmpop .25s ease; }
.gm-flash--ok{ background:rgba(22,163,74,.12); color:#16a34a; }
.gm-flash--no{ background:rgba(220,38,38,.1); color:#dc2626; }
@keyframes gmpop{ from{ transform:scale(.9); opacity:0; } to{ transform:scale(1); opacity:1; } }

/* Kelime Avı */
.gm-ws-words{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:12px; }
.gm-word{ background:var(--gm-bg); color:var(--gm-primary-d); border-radius:8px; padding:5px 12px; font-weight:700; font-size:14px; }
.gm-word--found{ background:#dcfce7; color:#15803d; text-decoration:line-through; opacity:.75; }
.gm-ws-grid{ display:grid; gap:4px; max-width:520px; margin:0 auto 14px; }
.gm-ws-cell{ aspect-ratio:1; border:1px solid var(--gm-line); background:#fff; border-radius:7px; font-weight:700; font-size:clamp(12px,2.4vw,17px); color:var(--gm-ink); cursor:pointer; font-family:inherit; text-transform:uppercase; padding:0; transition:background .1s; }
.gm-ws-cell:hover{ background:var(--gm-bg); }
.gm-ws-sel{ background:var(--gm-accent) !important; color:#fff; }
.gm-ws-found{ background:#bbf7d0 !important; color:#15803d; }

/* Farklıyı Bul */
.gm-ef-grid{ display:grid; gap:5px; max-width:520px; margin:0 auto 14px; }
.gm-ef-cell{ aspect-ratio:1; border:1px solid var(--gm-line); background:#fff; border-radius:8px; font-size:clamp(15px,3.4vw,26px); cursor:pointer; padding:0; line-height:1; display:flex; align-items:center; justify-content:center; transition:transform .06s; }
.gm-ef-cell:hover{ background:var(--gm-bg); }
.gm-ef-hit{ background:#bbf7d0 !important; }
.gm-ef-miss{ background:#fecaca !important; animation:gmshake .3s; }
@keyframes gmshake{ 0%,100%{ transform:translateX(0); } 25%{ transform:translateX(-4px); } 75%{ transform:translateX(4px); } }

/* Geri sayım (göster→gizle mekanikleri) */
.gm-count{ width:44px; height:44px; margin:0 auto 14px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:20px; font-weight:800; color:#fff; background:linear-gradient(135deg,var(--gm-accent),#d97706); box-shadow:0 6px 18px rgba(217,119,6,.3); }

/* Hafıza Eşleştirme */
.gm-mm-grid{ display:grid; gap:8px; max-width:520px; margin:0 auto 16px; }
.gm-mm-card{ aspect-ratio:3/4; border:1px solid var(--gm-line); border-radius:12px; background:linear-gradient(135deg,var(--gm-primary),var(--gm-primary-d)); color:#fff; font-family:inherit; font-weight:700; font-size:clamp(13px,2.6vw,17px); cursor:pointer; padding:4px; display:flex; align-items:center; justify-content:center; transition:background .18s, transform .12s, box-shadow .2s; }
.gm-mm-card:hover{ transform:translateY(-2px); }
.gm-mm-face{ display:block; line-height:1.2; word-break:break-word; text-align:center; }
.gm-mm-card--open{ background:#fff; color:var(--gm-primary-d); border:2px solid var(--gm-primary); }
.gm-mm-card--done{ background:#dcfce7; color:#15803d; border:2px solid #86efac; cursor:default; box-shadow:none; }
.gm-mm-card--done:hover{ transform:none; }

/* Kayıp Nesneyi Bul */
.gm-fr-grid{ display:grid; gap:6px; max-width:480px; margin:0 auto 16px; }
.gm-fr-cell{ aspect-ratio:1; border:1px solid var(--gm-line); background:#fff; border-radius:10px; font-size:clamp(16px,3.6vw,28px); display:flex; align-items:center; justify-content:center; line-height:1; }
.gm-fr-cell--gone{ background:var(--gm-bg); border:2px dashed var(--gm-primary); color:var(--gm-primary); font-weight:800; }
.gm-opts{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-bottom:16px; }
.gm-opt{ min-width:64px; border:2px solid var(--gm-line); background:#fff; border-radius:12px; padding:10px 14px; font-size:clamp(16px,3.4vw,24px); font-family:inherit; cursor:pointer; line-height:1.2; transition:border-color .15s, background .15s; }
.gm-opt:hover{ border-color:var(--gm-primary); background:var(--gm-bg); }
.gm-opt--ok{ background:#bbf7d0 !important; border-color:#16a34a !important; }
.gm-opt--no{ background:#fecaca !important; border-color:#dc2626 !important; animation:gmshake .3s; }

/* Sayı Hafızası */
.gm-nm-num{ text-align:center; font-size:clamp(30px,8vw,54px); font-weight:800; letter-spacing:.14em; color:var(--gm-primary-d); margin:10px 0 18px; font-variant-numeric:tabular-nums; }
.gm-nm-input{ display:block; width:100%; max-width:320px; margin:0 auto 18px; border:2px solid var(--gm-line); border-radius:12px; padding:12px 14px; text-align:center; font-size:26px; font-weight:700; letter-spacing:.12em; font-family:inherit; box-sizing:border-box; }
.gm-nm-input:focus{ outline:none; border-color:var(--gm-primary); box-shadow:0 0 0 3px rgba(109,40,217,.12); }

/* Kelime Listesi Ezberleme */
.gm-wr-words{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 auto 18px; max-width:560px; }
.gm-wr-words .gm-word{ font-size:clamp(15px,3vw,19px); padding:8px 16px; }
.gm-picks{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-bottom:18px; }
.gm-pick{ border:2px solid var(--gm-line); background:#fff; color:var(--gm-ink); border-radius:10px; padding:9px 14px; font-size:15px; font-weight:600; font-family:inherit; cursor:pointer; transition:border-color .15s, background .15s, color .15s; }
.gm-pick:hover{ border-color:var(--gm-primary); }
.gm-pick--on{ background:var(--gm-primary); border-color:var(--gm-primary); color:#fff; }
.gm-pick--ok{ background:#bbf7d0 !important; border-color:#16a34a !important; color:#15803d !important; }
.gm-pick--no{ background:#fecaca !important; border-color:#dc2626 !important; color:#b91c1c !important; }
.gm-pick--miss{ border-style:dashed !important; border-color:var(--gm-accent) !important; color:var(--gm-accent); }

/* Formlar */
.gm-form{ text-align:left; max-width:420px; margin:8px auto 0; display:flex; flex-direction:column; gap:12px; }
.gm-field{ display:flex; flex-direction:column; gap:5px; }
.gm-flabel{ font-size:13px; font-weight:600; color:var(--gm-ink); }
.gm-input{ border:1px solid var(--gm-line); border-radius:10px; padding:10px 12px; font-size:15px; font-family:inherit; width:100%; box-sizing:border-box; }
.gm-input:focus{ outline:none; border-color:var(--gm-primary); box-shadow:0 0 0 3px rgba(109,40,217,.12); }
.gm-invalid{ border-color:#dc2626 !important; }
.gm-choices{ display:flex; flex-wrap:wrap; gap:8px; }
.gm-choice{ display:inline-flex; align-items:center; gap:6px; border:1px solid var(--gm-line); border-radius:10px; padding:8px 12px; cursor:pointer; font-size:14px; }
.gm-choice input{ accent-color:var(--gm-primary); }
.gm-consent{ display:flex; gap:8px; align-items:flex-start; font-size:13px; color:var(--gm-muted); line-height:1.4; }
.gm-msg{ font-size:14px; text-align:center; min-height:18px; }
.gm-msg--ok{ color:#16a34a; } .gm-msg--err{ color:#dc2626; }

/* Sonuç */
.gm-result .gm-btn--ghost{ margin-top:16px; }
.gm-timeup{ color:var(--gm-accent); font-weight:700; margin-bottom:10px; }
.gm-score-circle{ width:180px; height:180px; border-radius:50%; margin:6px auto 16px; display:flex; flex-direction:column; align-items:center; justify-content:center; color:#fff; background:linear-gradient(135deg,var(--gm-primary),var(--gm-primary-d)); box-shadow:0 12px 40px rgba(76,29,149,.35); }
.gm-score-label{ font-size:12px; font-weight:700; letter-spacing:.1em; opacity:.9; }
.gm-score-num{ font-size:52px; font-weight:800; line-height:1; margin:2px 0; }
.gm-score-sub{ font-size:13px; opacity:.9; }
.gm-blur{ filter:blur(9px); opacity:.7; transition:filter .4s, opacity .4s; }

/* Tam ekran (pop-up) — Test kabuğuyla (quiz-fs) aynı çerçeve */
html.gm-fs-lock{ overflow:hidden; }
body.gm-fs-on{ overflow:hidden; }
.game-app.gm-fs{ position:fixed; inset:0; z-index:99999; margin:0; padding:0 0 60px; max-width:none; overflow-y:auto; background:#f3f2f8; }
.game-app.gm-fs .gm-play, .game-app.gm-fs .gm-card{ max-width:760px; margin:0 auto; }
.game-app.gm-fs > .gm-play, .game-app.gm-fs > .gm-card{ padding-left:16px; padding-right:16px; }
.gm-fs-bar{ position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:12px 20px; background:rgba(255,255,255,.9); backdrop-filter:blur(6px);
  border-bottom:1px solid var(--gm-line); margin-bottom:20px; }
.gm-fs-logo{ max-height:40px; max-width:190px; width:auto; display:block; }
.gm-fs-x{ display:inline-flex; align-items:center; gap:6px; padding:8px 14px; border-radius:99px; border:none;
  background:rgba(0,0,0,.08); color:var(--gm-ink); font-size:13px; font-weight:600; cursor:pointer; }
.gm-fs-x:hover{ background:rgba(0,0,0,.16); }

@media (max-width:600px){
  .gm-score-circle{ width:150px; height:150px; } .gm-score-num{ font-size:44px; }
  .gm-chip{ font-size:14px; padding:8px 12px; }
}
