/* public_html/assets/css/app.css */

/* --- OYUNUN ORİJİNAL KÖK DEĞİŞKENLERİ (DOKUNULMADI - SVG İÇİN GEREKLİ) --- */
:root{
  --bg1:#f8fbff; --bg2:#eaf6ff; --line:#d8e7f3; --ink:#18314a; --muted:#64809a;
  --green:#58cc6a; --green-dark:#39a84d; --blue:#32b7ff; --blue-dark:#1294da;
  --purple:#b989ff; --purple-dark:#9660ea; --coral:#ff8677; --coral-dark:#eb5d4d;
  --safe-top:max(14px, env(safe-area-inset-top));
  --safe-bottom:max(14px, env(safe-area-inset-bottom));
  --safe-left:max(12px, env(safe-area-inset-left));
  --safe-right:max(12px, env(safe-area-inset-right));
  --app-h:100dvh;

  /* --- RETRO POP-ART RENKLERİ VE GÖLGELERİ --- */
  --r-bg: #fdfbf7;
  --r-ink: #111827;
  --r-cyan: #38bdf8;
  --r-pink: #f43f5e;
  --r-yellow: #facc15;
  --r-green: #4ade80;
  --r-purple: #c084fc;
  --r-border: 3px solid var(--r-ink);
  --r-shadow: 4px 4px 0px var(--r-ink);
  --r-shadow-hover: 6px 6px 0px var(--r-ink);
}

*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{
  margin:0;padding:0;
  background-color: var(--r-bg);
  background-image: radial-gradient(rgba(17, 24, 39, 0.08) 2px, transparent 0);
  background-size: 24px 24px;
  color:var(--r-ink); height:100%; overflow-x:hidden;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
}

h1, h2, h3, .retro-font {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;
  text-transform: uppercase;
  letter-spacing: -0.05em;
}

body { display: flex; flex-direction: column; min-height: var(--app-h); }
button{font:inherit;touch-action:manipulation; cursor:pointer; outline:none;}
a { color: var(--r-ink); text-decoration: none; }

/* ========================================================
   RETRO APP ARAYÜZ STİLLERİ
======================================================== */
.app-header {
  background: var(--r-bg); border-bottom: var(--r-border);
  padding: 16px 20px; display: flex; align-items: center; justify-content: space-between;
  position: sticky; top: 0; z-index: 50; padding-top: max(16px, var(--safe-top));
}
.app-logo { font-weight: 900; font-size: 24px; display:flex; align-items:center; gap:8px; }
.app-logo span { background: var(--r-yellow); padding: 0 6px; border: 2px solid var(--r-ink); box-shadow: 2px 2px 0 var(--r-ink); transform: rotate(-2deg); display:inline-block;}

.app-nav { display: flex; gap: 12px; align-items: center; }

.r-btn {
  background: #fff; border: var(--r-border); color: var(--r-ink);
  padding: 10px 20px; border-radius: 8px; font-weight: 900; font-size: 15px;
  transition: transform 0.1s, box-shadow 0.1s; box-shadow: var(--r-shadow);
  display: inline-flex; align-items: center; justify-content: center; gap:8px;
  text-transform: uppercase;
}
.r-btn:active { transform: translate(4px, 4px); box-shadow: 0px 0px 0px var(--r-ink); }
.r-btn.primary { background: var(--r-yellow); }
.r-btn.cyan { background: var(--r-cyan); }
.r-btn.pink { background: var(--r-pink); color: #fff;}
.r-btn.green { background: var(--r-green); }

.user-profile-menu { display: none; align-items: center; gap: 10px; font-weight: 900; color: var(--r-ink); cursor: pointer; padding: 4px 16px 4px 4px; background: #fff; border-radius: 8px; border: var(--r-border); box-shadow: var(--r-shadow); transition: .1s; text-transform:uppercase;}
.user-profile-menu:active { transform: translate(4px, 4px); box-shadow: 0px 0px 0px var(--r-ink); }
.user-profile-menu.active { display: flex; }
.user-avatar { width: 36px; height: 36px; background: var(--r-cyan); border-radius: 6px; display: grid; place-items: center; font-size: 20px; border: 2px solid var(--r-ink);}

.menu-toggle {
  background: var(--r-purple); border: var(--r-border); width: 48px; height: 48px; border-radius: 8px;
  display: grid; place-items: center; color: var(--r-ink); transition: .1s; box-shadow: var(--r-shadow);
}
.menu-toggle:active { transform: translate(4px, 4px); box-shadow: 0px 0px 0px var(--r-ink); }
.menu-toggle svg { width: 24px; height: 24px; fill: currentColor; }

/* SIDEBAR */
.sidebar-overlay { position: fixed; inset: 0; background: rgba(17,24,39,.6); backdrop-filter: blur(2px); z-index: 1000; display: none; opacity: 0; transition: opacity 0.2s ease; }
.sidebar-overlay.open { display: block; opacity: 1; }
.sidebar {
  position: fixed; top: 0; right: 0; width: 280px; height: 100%; background: var(--r-bg); border-left: var(--r-border);
  z-index: 1001; transform: translateX(100%); transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -8px 0 0px rgba(17,24,39,1); display: flex; flex-direction: column;
}
.sidebar.open { transform: translateX(0); }
.sidebar-header { padding: 24px 20px; display: flex; justify-content: space-between; align-items: center; border-bottom: var(--r-border); background: var(--r-yellow); padding-top: max(24px, var(--safe-top)); }
.sidebar-header h3 { margin:0; font-size:22px; color:var(--r-ink); font-weight:900;}
.close-sidebar { background: var(--r-pink); border: var(--r-border); width: 40px; height: 40px; border-radius: 8px; font-size: 18px; font-weight: 900; color: var(--r-ink); transition: .1s; box-shadow: 2px 2px 0 var(--r-ink); display:grid; place-items:center;}
.close-sidebar:active { transform: translate(2px, 2px); box-shadow: 0 0px 0 var(--r-ink); }

.sidebar-content { padding: 20px; display: flex; flex-direction: column; gap: 14px; overflow-y: auto; }
.side-link {
  display: flex; align-items: center; gap: 14px; padding: 16px; border-radius: 8px;
  color: var(--r-ink); font-weight: 900; font-size: 16px; transition: .1s; background: #fff; border: var(--r-border); box-shadow: var(--r-shadow); text-transform: uppercase;
}
.side-link:active { transform: translate(4px,4px); box-shadow: 0 0 0 var(--r-ink); }
.side-link.hl { background: var(--r-cyan); }

/* BREADCRUMB - HEADER ALTINDA TAM GÖRÜNSÜN */
.breadcrumb-bar{
  position: relative;
  z-index: 1;
  max-width: 900px;
  width: 100%;
  margin: 0 auto;
  padding: 14px 20px 0;
  font-size: 14px;
  font-weight: 900;
  color: var(--r-ink);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0;
  overflow-x: auto;
  overflow-y: visible;
  white-space: nowrap;
  -webkit-overflow-scrolling: touch;
  scroll-padding-left: 20px;
  min-height: 54px;
}
.breadcrumb-bar a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  min-height: 36px;
  line-height: 1;
  background: #fff;
  padding: 6px 14px;
  border-radius: 6px;
  border: 2px solid var(--r-ink);
  box-shadow: 2px 2px 0 var(--r-ink);
  transition: .1s;
}
.breadcrumb-bar a:active{
  transform: translate(2px,2px);
  box-shadow: 0 0 0 var(--r-ink);
}
.breadcrumb-bar span{
  flex: 0 0 auto;
  margin: 0 6px;
  opacity: .5;
}

/* MAIN */
.app-main { flex: 1; max-width: 900px; margin: 0 auto; width: 100%; padding: 24px 20px 60px; }
.page-view { display: none; }
.page-view.active { display: block; animation: popRetro 0.3s steps(3, end); }
@keyframes popRetro { 0% { opacity: 0; transform: scale(0.98); } 100% { opacity: 1; transform: scale(1); } }

/* RETRO KARTLAR */
.r-card { background: #fff; border-radius: 12px; padding: 24px; border: var(--r-border); box-shadow: var(--r-shadow); margin-bottom: 32px; position:relative; }
.card-title { margin: 0 0 24px; font-size: 26px; color: var(--r-ink); display: flex; align-items: center; gap: 10px; border-bottom: 3px solid var(--r-ink); padding-bottom: 16px;}

/* KELİMEO OYUNLAR GRID */
.games-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; margin-bottom: 40px; }
.game-card{
  background: #fff; border: var(--r-border); border-radius: 12px; padding: 24px;
  text-align: center; box-shadow: var(--r-shadow); transition: .1s;
  display: flex; flex-direction: column; justify-content: space-between; gap:16px;
}
.game-card:hover { transform: translate(-4px, -4px); box-shadow: var(--r-shadow-hover); }
.game-icon{
  font-size: 48px; margin: 0 auto 12px; display: grid; place-items: center;
  background: var(--r-bg); width: 80px; height: 80px; border-radius: 12px;
  border: var(--r-border); box-shadow: 2px 2px 0 var(--r-ink); transform: rotate(-3deg);
}
.game-card h3 { margin: 0; font-size: 22px; color: var(--r-ink); font-family: monospace; text-transform: uppercase; }
.game-card p { font-size: 15px; color: var(--muted); font-weight: 700; margin: 0; line-height: 1.5; }

/* YATAY SCROLL (ARŞİV) */
.horizontal-scroll { display: flex; gap: 16px; overflow-x: auto; padding: 10px 10px 20px 10px; margin: 0 -10px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
.horizontal-scroll::-webkit-scrollbar { height: 8px; border:2px solid var(--r-ink); background:#fff; }
.horizontal-scroll::-webkit-scrollbar-thumb { background: var(--r-ink); }
.h-card {
  flex: 0 0 150px; scroll-snap-align: start; background: var(--r-cyan); border-radius: 8px; padding: 20px 16px; text-align: center;
  border: var(--r-border); transition: .1s; display: flex; flex-direction: column; align-items: center; box-shadow: var(--r-shadow);
}
.h-card:active { transform: translate(4px,4px); box-shadow: 0 0px 0 var(--r-ink); }
.h-date { font-size: 14px; font-weight: 900; color: var(--r-ink); margin-bottom: 12px; background:#fff; padding:6px 12px; border:2px solid var(--r-ink); border-radius:4px;}
.h-word { font-size: 16px; font-weight: 900; color: var(--r-ink); font-family: monospace; }

/* LİSTELER */
.r-list { list-style: none; padding: 0; margin: 0; }
.r-list-item{
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px; margin-bottom: 16px; border-radius: 8px;
  background: #fff; border: var(--r-border); box-shadow: var(--r-shadow); transition:.1s;
}
.r-list-item:hover { transform:translate(-2px, -2px); box-shadow: var(--r-shadow-hover); }
.score-user { display: flex; align-items: center; gap: 16px; font-weight: 900; font-size: 16px;}
.score-val { background: var(--r-yellow); border: 2px solid var(--r-ink); color: var(--r-ink); padding: 8px 16px; border-radius: 6px; font-weight: 900; font-size: 15px; white-space: nowrap; flex-shrink: 0;}

/* SÖZLÜK FİLTRELERİ & GRID */
.search-box { display:flex; gap:12px; margin-bottom: 24px; flex-wrap: nowrap; }
.search-input { flex:1; min-width: 0; padding: 16px 24px; border-radius: 8px; border: var(--r-border); background: #fff; font-size: 16px; font-weight:800; color: var(--r-ink); outline: none; box-shadow: inset 4px 4px 0 rgba(17,24,39,0.05); font-family: monospace;}
.search-input:focus { background: #fff; box-shadow: inset 4px 4px 0 rgba(17,24,39,0.1), 0 0 0 4px rgba(56, 189, 248, 0.4); }
.search-box .r-btn { flex-shrink: 0; padding: 16px 24px; }

.filter-group { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 32px; }
.r-chip { padding: 10px 20px; border-radius: 8px; background: #fff; border: var(--r-border); font-size: 14px; font-weight: 900; color: var(--r-ink); transition:.1s; box-shadow: var(--r-shadow); text-transform:uppercase;}
.r-chip.active { background: var(--r-pink); color: #fff; }
.r-chip:active, .r-chip.active:active { transform: translate(4px,4px); box-shadow: 0 0px 0 var(--r-ink); }

.dict-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 20px; }
.dict-word-card{
  background: #fff; border: var(--r-border); border-radius: 8px; padding: 20px 16px;
  text-align: center; transition: .1s; display:flex; flex-direction:column; gap:8px; box-shadow: var(--r-shadow);
}
.dict-word-card strong { font-size: 18px; color: var(--r-ink); font-weight: 900; font-family: monospace;}
.dict-word-card span { font-size: 14px; color: var(--r-ink); font-weight: 900; background:var(--r-green); border:2px solid var(--r-ink); padding:4px;}
.dict-word-card:active { box-shadow: 0 0px 0 var(--r-ink); transform: translate(4px,4px); }

/* PROFİL İSTATİSTİKLERİ */
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 24px; }
.stat-box { background: #fff; border: var(--r-border); padding: 20px 10px; border-radius: 8px; display: flex; flex-direction: column; align-items: center; text-align:center; box-shadow: var(--r-shadow);}
.stat-box strong { font-size: 28px; font-weight: 900; color: var(--r-ink); line-height:1; font-family:monospace;}
.stat-box span { font-size: 14px; font-weight: 900; text-transform:uppercase; color: var(--r-ink); margin-top: 12px; background:var(--r-yellow); padding:4px 8px; border:2px solid var(--r-ink);}

.profile-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; margin-top: 40px; text-align: left;}
.profile-list-col { background: #fff; border-radius: 8px; padding: 24px; border:var(--r-border); box-shadow: var(--r-shadow);}
.profile-list-col h3 { margin: 0 0 20px; font-size: 18px; color: var(--r-ink); font-weight:900; border-bottom: 3px solid var(--r-ink); padding-bottom: 12px;}
.mini-list { list-style: none; padding: 0; margin: 0; }
.mini-list li { display: flex; justify-content: space-between; padding: 14px 0; border-bottom: 2px dashed var(--r-ink); font-size: 15px; font-weight:800; color:var(--r-ink); text-transform:uppercase;}
.mini-list li:last-child { border-bottom: none; }
.mini-list li span.val { color: var(--r-ink); font-family:monospace; font-size:16px;}
.mini-list li span.win { color: var(--r-ink); background:var(--r-green); padding:2px 8px; border:2px solid var(--r-ink);}
.mini-list li span.loss { color: #fff; background:var(--r-pink); padding:2px 8px; border:2px solid var(--r-ink);}

/* AVATAR DÜZENLEME İKONU */
.avatar-wrapper { position: relative; display: inline-block; margin: 0 auto 24px; }
.edit-avatar-btn {
  position: absolute; bottom: -5px; right: -10px; background: var(--r-yellow); width: 40px; height: 40px; border-radius: 8px; border:var(--r-border);
  display: none; place-items: center; box-shadow: 2px 2px 0 var(--r-ink); font-size: 18px; transition:.1s; color:var(--r-ink); cursor:pointer;
}
.edit-avatar-btn:active { transform:translate(2px,2px); box-shadow:0 0 0 var(--r-ink);}
.avatar-wrapper.is-owner .edit-avatar-btn { display: grid; }

/* SEO METİNLERİ */
.seo-section { background: var(--r-cyan); border-radius: 8px; padding: 24px; margin-bottom: 32px; border: var(--r-border); text-align:left; box-shadow: var(--r-shadow);}
.seo-section h3 { margin: 0 0 16px; font-size: 20px; color: var(--r-ink); font-weight: 900; background:#fff; display:inline-block; padding:4px 12px; border:2px solid var(--r-ink);}
.seo-text { font-size: 16px; line-height: 1.6; color: var(--r-ink); margin:0; font-weight:700;}

/* FOOTER */
.app-footer { background: #fff; border-top: var(--r-border); padding: 40px 20px; margin-top: auto; }
.footer-inner { max-width: 900px; margin: 0 auto; display: flex; flex-direction: column; gap: 32px; }
.footer-brand .app-logo { font-size: 28px; margin-bottom: 12px; }
.footer-links-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; width: 100%; }
.footer-col h4 { margin: 0 0 16px; font-size: 18px; color: var(--r-ink); font-weight:900; text-transform:uppercase; border-bottom:3px solid var(--r-ink); padding-bottom:8px; display:inline-block;}
.footer-col a { display: block; margin-bottom: 12px; font-size: 15px; font-weight: 800; color:var(--r-ink); transition: .1s; text-transform:uppercase;}
.footer-col a:hover { transform:translate(4px, -2px); text-shadow: 2px 2px 0 var(--r-yellow);}

/* AUTH MODAL */
.auth-modal { position: fixed; inset: 0; background: rgba(17,24,39,.8); backdrop-filter: blur(4px); z-index: 4000; display: none; align-items: center; justify-content: center; padding: 20px; }
.auth-modal.open { display: flex; }
.auth-card{
  background: var(--r-bg); width: 92%; max-width: 400px; max-height: 90vh; overflow-y: auto;
  border-radius: 12px; padding: 32px 24px; text-align: center; border:var(--r-border); box-shadow: 8px 8px 0px #000;
}
.auth-card input { width: 100%; padding: 16px 20px; border-radius: 8px; border: var(--r-border); background: #fff; font-family: monospace; font-size: 16px; font-weight:900; margin-bottom: 16px; outline: none; transition: .1s; box-shadow: inset 4px 4px 0 rgba(17,24,39,0.05);}
.auth-card input:focus { box-shadow: inset 4px 4px 0 rgba(17,24,39,0.1), 0 0 0 4px rgba(56, 189, 248, 0.5); }
.emoji-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 20px 0; }
.emoji-opt { font-size: 28px; background: #fff; border: var(--r-border); border-radius: 8px; padding: 10px; cursor: pointer; transition: .1s; box-shadow: 4px 4px 0 var(--r-ink);}
.emoji-opt:active { transform:translate(4px,4px); box-shadow:0 0 0 var(--r-ink);}
.emoji-opt.selected { background:var(--r-yellow); transform:translate(2px,2px); box-shadow:2px 2px 0 var(--r-ink);}

/* ========================================================
   OYUNUN ORİJİNAL OVERLAY VE STİLLERİ (ADAM ASMACA İÇİN DOKUNULMADI)
======================================================== */
.game-overlay{ position:fixed;inset:0;z-index:3000;display:none; background: var(--r-bg); background-image: radial-gradient(rgba(17, 24, 39, 0.08) 2px, transparent 0); background-size: 24px 24px; min-height:var(--app-h);height:var(--app-h); padding-top:var(--safe-top);padding-bottom:var(--safe-bottom); padding-left:var(--safe-left);padding-right:var(--safe-right); overflow:hidden; }
.game-overlay.open{display:block}
.game-wrap{ height:100%; display:flex; flex-direction:column; max-width:760px; margin:0 auto; padding:6px 10px 10px; gap:12px; }
.game-top{ display:flex; flex-wrap:nowrap; gap:8px; align-items:center; justify-content:space-between; flex-shrink:0; width:100%; }

.top-btn, .sound-btn { border: 2px solid var(--r-ink); box-shadow: 2px 2px 0 var(--r-ink); background: #fff; color: var(--r-ink); border-radius: 8px; flex-shrink: 0; font-family: monospace; transition: .1s; }
.top-btn:active, .sound-btn:active { transform: translate(2px,2px); box-shadow: 0 0 0 var(--r-ink); }
.top-btn{padding:11px 14px;font-weight:900;min-width:48px;text-align:center;}
.sound-btn{padding:11px 8px;font-size:20px;min-width:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;}

.top-title{ flex: 1 1 auto; min-width: 0; height:50px; line-height:50px; padding:0 4px; overflow:hidden; color:var(--r-ink); font-weight:900; font-size:22px; letter-spacing:-.035em; white-space:nowrap; text-overflow:ellipsis; text-align:center; font-family: monospace; text-transform: uppercase;}
.top-title span{ background:var(--r-yellow); padding:0 4px; border:2px solid var(--r-ink); display:inline-block; line-height:1.2; transform:rotate(-2deg); box-shadow:2px 2px 0 var(--r-ink);}

.top-chip{display:flex;justify-content:center;align-items:center;gap:4px;padding:11px 12px;font-weight:900;font-size:14px;white-space:nowrap; border:2px solid var(--r-ink); box-shadow:2px 2px 0 var(--r-ink); background:var(--r-yellow); border-radius:8px; font-family: monospace; text-transform:uppercase; color:var(--r-ink);}
.top-chip span{color:var(--r-pink);}

.ad-slot-game{ flex-shrink:0;display:grid;place-items:center;min-height:50px;max-height:50px;height:50px; padding:0 12px;border-radius:8px;background:#fff;border:2px solid var(--r-ink);color:var(--r-ink); font-weight:900;font-size:12px;text-align:center;box-shadow:var(--r-shadow);overflow:hidden; font-family:monospace; text-transform:uppercase; }
.ad-slot-game strong{font-size:14px;color:var(--r-pink);letter-spacing:.03em;}

.scene{ position:relative;flex:1;min-height:160px; border-radius:12px; background:var(--r-cyan); border:var(--r-border);box-shadow:var(--r-shadow); display: flex; overflow:hidden; }
.scene svg { width: 100%; height: 100%; display: block; overflow: visible; }

.hint{ flex-shrink:0;padding:12px 14px;border-radius:8px;background:#fff;border:2px solid var(--r-ink); box-shadow:var(--r-shadow);text-align:center;font-weight:900;color:var(--r-ink);font-size:16px;cursor:pointer; font-family:monospace; transition:.1s; }
.hint:active{ transform:translate(4px,4px); box-shadow:0 0 0 var(--r-ink); }
.hint-main{display:flex;align-items:center;justify-content:center;gap:10px;min-width:0}
.hint-bulb{ display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;flex:0 0 auto }
.hint.long .hint-bulb{animation:breathe 1.8s ease-in-out infinite}
.hint-text{ color:var(--r-ink);display:block;min-width:0; white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%; text-align:left; text-transform:uppercase;}

.word-display{flex-shrink:0;display:flex;justify-content:center;gap:6px;flex-wrap:wrap;padding:0 4px;min-height:50px}
.letter{ width:40px;height:50px;border-radius:6px;background:#fff;border:2px solid var(--r-ink); box-shadow:2px 2px 0 var(--r-ink);display:grid;place-items:center;font-size:24px;font-weight:900;color:var(--r-ink);transition:.1s ease ; font-family:monospace; text-transform:uppercase;}
.letter.revealed{background:var(--r-green);color:var(--r-ink);transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--r-ink);}

.actions{flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.joker{border:2px solid var(--r-ink);border-radius:8px;padding:12px 10px;color:#fff;text-align:center;font-weight:900;font-size:16px;box-shadow:var(--r-shadow);position:relative;overflow:hidden; font-family:monospace; text-transform:uppercase; transition:.1s;}
.joker.delete{background:var(--r-pink);}
.joker.reveal{background:var(--r-purple);}
.joker:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--r-ink);}
.joker:disabled{opacity:.6;filter:grayscale(.5);transform:none;box-shadow:none; cursor:not-allowed;}
.joker.used::after{content:"KULLANILDI";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(17,24,39,.9);color:#fff;display:grid;place-items:center;font-size:14px;letter-spacing:.04em; font-weight:900;}

.keyboard{flex-shrink:0;display:flex;flex-direction:column;gap:6px;align-self:end;width:100%}
.kb-row{display:flex;justify-content:center;gap:4px}
.key{flex:1;min-width:0;height:48px;padding:0;border:2px solid var(--r-ink);border-radius:6px;background:#fff;color:var(--r-ink);font-weight:900;font-size:18px;box-shadow:0 4px 0 var(--r-ink);cursor:pointer;transition:transform .1s, box-shadow .1s; font-family:monospace; text-transform:uppercase;}
.key:active{transform:translateY(4px);box-shadow:0 0 0 var(--r-ink);}
.key.correct{background:var(--r-green);color:var(--r-ink);box-shadow:0 0 0 var(--r-ink);transform:translateY(4px);}
.key.wrong{background:var(--r-ink);color:#fff;box-shadow:0 0 0 var(--r-ink);transform:translateY(4px); opacity:0.4;}

/* MODALLER - ESKİ ÇALIŞAN SÜRÜMDEN GERİ ALINDI */
.result,.hint-modal{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(17,24,39,.8);
  backdrop-filter:blur(4px);
  z-index:3500;
  padding:20px;
  font-family:system-ui,sans-serif;
}
.result.open,.hint-modal.open{display:flex}
.result-card,.hint-modal-card{
  width:100%;
  max-width:400px;
  max-height:min(90vh,680px);
  overflow:auto;
  padding:32px 24px;
  border-radius:12px;
  background:var(--r-bg);
  border:var(--r-border);
  box-shadow:8px 8px 0 #000;
  text-align:center;
  color:var(--r-ink);
}
.result-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 16px;
  border-radius:6px;
  background:var(--r-cyan);
  border:2px solid var(--r-ink);
  font-size:14px;
  font-weight:900;
  color:var(--r-ink);
  margin-bottom:20px;
  box-shadow:2px 2px 0 var(--r-ink);
  font-family:monospace;
  text-transform:uppercase;
}
.result-card h2,.hint-modal-card h2{
  margin:0 0 16px;
  font-size:36px;
  letter-spacing:-.04em;
  font-family:monospace;
  text-transform:uppercase;
  color:var(--r-ink);
}
.result-card p,.hint-modal-card p{
  margin:0 0 24px;
  color:var(--r-ink);
  font-weight:800;
  line-height:1.5;
  font-size:16px;
}
.result-actions{display:grid;gap:12px}
.score-line{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:12px 24px;
  border-radius:8px;
  background:var(--r-green);
  border:2px solid var(--r-ink);
  color:var(--r-ink);
  font-weight:900;
  font-size:22px;
  margin:0 0 24px;
  box-shadow:4px 4px 0 var(--r-ink);
  font-family:monospace;
}
.result-actions .btn, .hint-modal-card .btn {
  border: 2px solid var(--r-ink) !important;
  box-shadow: 4px 4px 0 var(--r-ink) !important;
  border-radius: 8px !important;
  font-weight: 900 !important;
  font-size: 18px !important;
  text-transform: uppercase !important;
  color: var(--r-ink) !important;
  background: #fff !important;
  transition: .1s !important;
  width: 100% !important;
  padding: 16px !important;
  display: block !important;
  cursor: pointer !important;
  font-family:monospace !important;
}
.result-actions .btn.primary, .hint-modal-card .btn.primary {
  background: var(--r-yellow) !important;
}
.result-actions .btn:active, .hint-modal-card .btn:active {
  transform: translate(4px,4px) !important;
  box-shadow: 0 0 0 var(--r-ink) !important;
}

/* Oyun Animasyonları */
@keyframes breathe{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.14);opacity:.74}}
@keyframes drawPart { 0% { opacity: 0; stroke-dasharray: 100; stroke-dashoffset: 100; } 100% { opacity: 1; stroke-dasharray: 100; stroke-dashoffset: 0; } }
.draw-anim { animation: drawPart 0.5s ease forwards; }
@keyframes floatCloud { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(15px, 0); } }
@keyframes floatCloudSlow { 0%, 100% { transform: translate(0, 0); } 50% { transform: translate(-20px, 0); } }
.cloud-layer-1 { animation: floatCloud 14s ease-in-out infinite; opacity: 0.7; }
.cloud-layer-2 { animation: floatCloudSlow 20s ease-in-out infinite; opacity: 0.5; transform: scale(0.8); }
@keyframes sunSpin { 100% { transform: rotate(360deg); } }
@keyframes sunFloat { 0%, 100% { transform: translate(260px, 45px); } 50% { transform: translate(260px, 40px); } }
@keyframes sunHappyJump { 0%, 100% { transform: translate(260px, 45px); } 50% { transform: translate(260px, 25px); } }
@keyframes sunWorriedShake { 0%{transform:translate(260px,45px)}25%{transform:translate(255px,45px)}50%{transform:translate(265px,45px)}75%{transform:translate(255px,45px)}100%{transform:translate(260px,45px)} }
.brand-sun { animation: sunFloat 4s ease-in-out infinite; }
.sun-spin { animation: sunSpin 15s linear infinite; transform-origin: center; }
@keyframes hangmanHappy { 0%, 100% { transform: translate(180px, 55px) rotate(0deg); } 25% { transform: translate(180px, 52px) rotate(-3deg); } 75% { transform: translate(180px, 52px) rotate(3deg); } }
@keyframes gallowsHappy { 0%, 100% { transform: scaleY(1); } 50% { transform: scaleY(0.98); } }

@media (max-width:640px){
  .footer-links-grid { grid-template-columns: repeat(3, 1fr); gap: 12px; }
  .footer-col h4 { font-size: 14px; margin-bottom: 12px; border-bottom-width: 2px; }
  .footer-col a { font-size: 11px; margin-bottom: 8px; }

  .score-val { font-size: 14px; padding: 6px 10px; }
  .score-user { gap: 10px; font-size: 14px; }

  .search-box { flex-wrap: nowrap; }
  .search-input { padding: 14px 16px; font-size: 14px; min-width: 0; }
  .search-box .r-btn { padding: 14px 16px; font-size: 14px; }

  .auth-card { padding: 32px 20px; }
  .emoji-grid { gap: 8px; margin: 20px 0; }
  .emoji-opt { font-size: 28px; padding: 8px; }

  .kb-row{gap:3px}
  .key{height:44px;font-size:14px;border-radius:8px}
  .letter{width:36px;height:46px;font-size:22px}
  .top-title{font-size:16px}
  .stats-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .app-logo { font-size: 20px; }
}

@media (max-width:390px){
  .game-wrap{gap:8px;padding:6px 8px 8px}
  .game-top{gap:4px}
  .top-btn,.top-title,.top-chip,.sound-btn{border-radius:14px}
  .top-btn{padding:8px 10px;min-width:40px}
  .sound-btn{padding:8px 6px;font-size:18px;min-width:36px}
  .top-chip{padding:8px 10px;font-size:12px}
  .top-title{font-size:14px;padding:0}
  .key{height:40px;font-size:12px;border-radius:6px}
  .kb-row{gap:2px}
  .letter{width:33px;height:42px;font-size:17px;border-radius:10px}
  .joker{font-size:14px;padding:11px 8px}
}

@supports not (height:100dvh){
  .game-overlay{height:100vh;min-height:100vh}
}

/* public_html/assets/css/app.css - GENEL SSR UYARI */
.page-hidden{display:none!important;}
.auth-errors{background:#fff3cd;border:3px solid var(--r-ink);padding:12px 14px;margin:0 0 16px;font-weight:800;box-shadow:var(--r-shadow);}
.auth-success{background:#dcfce7;border:3px solid var(--r-ink);padding:12px 14px;margin:0 0 16px;font-weight:800;box-shadow:var(--r-shadow);}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.auth-form input{width:100%;padding:14px 16px;border:3px solid var(--r-ink);border-radius:16px;font-size:16px;font-weight:800;margin-bottom:12px;box-shadow:var(--r-shadow);background:#fff;}
.auth-form .form-actions{display:flex;flex-direction:column;gap:12px;margin-top:10px;}
.auth-form .avatar-radio{position:absolute;opacity:0;pointer-events:none;}
.auth-form .emoji-opt.is-active{outline:4px solid var(--r-ink);transform:translateY(-2px);}
.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px;margin:20px 0;}
.stat-box{background:#fff;border:3px solid var(--r-ink);border-radius:24px;padding:18px;box-shadow:var(--r-shadow);}
.stat-box .label{display:block;font-size:12px;font-weight:900;opacity:.8;margin-bottom:6px;}
.stat-box .value{display:block;font-size:28px;font-weight:900;}
.search-row{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 18px;}
.search-row input,.search-row select{padding:14px 16px;border:3px solid var(--r-ink);border-radius:16px;font-size:16px;font-weight:800;box-shadow:var(--r-shadow);background:#fff;min-width:180px;}
.pagination{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:24px;}
.pagination a,.pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:46px;height:46px;padding:0 14px;border:3px solid var(--r-ink);border-radius:14px;background:#fff;color:var(--r-ink);text-decoration:none;font-weight:900;box-shadow:var(--r-shadow);}
.pagination .current{background:var(--r-yellow);}
.inline-note{font-size:14px;font-weight:800;opacity:.85;}
.empty-state{padding:28px;border:3px dashed var(--r-ink);border-radius:20px;background:#fff;text-align:center;font-weight:900;}
.word-meta{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.word-meta .r-chip{cursor:default;}
.game-hero{display:flex;flex-direction:column;gap:18px;align-items:flex-start;}
.game-hero .r-btn{min-width:200px;}
.archive-day-grid{display:grid;gap:18px;}
.profile-head{display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.profile-head .profile-avatar-big{width:88px;height:88px;border-radius:24px;border:3px solid var(--r-ink);display:flex;align-items:center;justify-content:center;font-size:44px;background:#fff;box-shadow:var(--r-shadow);}
.top-auth-links{display:flex;gap:10px;flex-wrap:wrap;}
.user-profile-menu a{text-decoration:none;color:inherit;display:flex;align-items:center;gap:8px;}
.link-card{display:block;text-decoration:none;color:inherit;}
.link-card:hover{transform:translateY(-2px);}
.score-save-note{margin-top:14px;font-weight:900;}
.footer-col small{display:block;opacity:.7;margin-top:8px;}
#navProfileBtn{display:none;}
#navProfileBtn.show{display:flex;}
#gameScoreNotice{margin-top:10px;font-weight:900;font-size:14px;}
@media (max-width: 640px){.search-row input,.search-row select{width:100%;}.stat-grid{grid-template-columns:1fr 1fr;}.profile-head{align-items:flex-start;}}

/* SSR hizalama ve mobil taşma düzeltmeleri */
.user-profile-menu{max-width:min(52vw,260px)}
.user-profile-menu span{display:block;min-width:0;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-logo{min-width:0;white-space:nowrap}
.app-nav{min-width:0;flex-shrink:0}
.r-chip{display:inline-flex;align-items:center;justify-content:center;background:#fff;border:var(--r-border);box-shadow:var(--r-shadow);border-radius:8px;padding:10px 18px;font-weight:900;color:var(--r-ink);text-transform:uppercase}
.r-chip.active{background:var(--r-pink);color:#fff}
.stat-box strong{display:block;font-size:18px;font-weight:900}
.stat-box span{display:inline-block;margin-top:8px;background:var(--r-yellow);border:2px solid var(--r-ink);padding:4px 8px;font-size:14px;font-weight:900}
.h-date,.h-word{display:block;font-weight:900;color:var(--r-ink)}
.h-date{font-size:13px;opacity:.8;margin-bottom:8px}
.h-word{font-size:18px}
.auth-errors,.auth-success{margin-bottom:14px;padding:12px 14px;border-radius:8px;border:var(--r-border);box-shadow:var(--r-shadow);font-weight:900}
.auth-errors{background:var(--r-pink);color:#fff}
.auth-success{background:var(--r-green)}

@media (max-width: 720px){
  .app-header{padding:12px 14px;padding-top:max(12px,var(--safe-top));gap:10px}
  .app-logo{font-size:18px;gap:6px;overflow:hidden;text-overflow:ellipsis}
  .app-logo span{padding:0 4px}
  .app-nav{gap:10px}
  #navAuthBtn{padding:10px 14px;font-size:14px}
  .menu-toggle{width:44px;height:44px;flex:0 0 44px}
  .user-profile-menu{padding:3px 10px 3px 3px;max-width:44vw}
  .user-profile-menu span{max-width:88px;font-size:13px}
  .user-avatar{width:32px;height:32px;font-size:18px}
  .breadcrumb-bar{padding:12px 14px 0;min-height:50px}
  .app-main{padding:18px 14px 50px}
  .r-card{padding:18px}
  .card-title{font-size:22px;line-height:1.1}
  .score-user{gap:10px;min-width:0}
  .score-user a{font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .score-val{font-size:14px;padding:8px 12px}
  .dict-word-card strong{font-size:16px}
}
@media (max-width: 420px){
  .app-logo{font-size:16px}
  .app-nav{gap:8px}
  #navAuthBtn{padding:9px 10px;font-size:13px}
  .user-profile-menu{max-width:40vw}
  .r-btn{padding:10px 14px;font-size:14px}
}

.word-detail-stats{grid-template-columns:repeat(3,minmax(0,1fr))!important;margin-top:0;margin-bottom:32px}
.word-detail-stats .stat-box{min-width:0}
.word-detail-clue{overflow-wrap:anywhere;word-break:break-word}
@media (max-width: 640px){
  .word-detail-stats{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .word-detail-stats .stat-box:last-child{grid-column:1 / -1}
}
@media (max-width: 420px){
  .word-detail-stats{grid-template-columns:1fr!important}
  .word-detail-stats .stat-box:last-child{grid-column:auto}
  .word-detail-back{display:inline-flex;max-width:100%;white-space:normal;text-align:center;justify-content:center}
  #singleWordTitle{font-size:34px!important}
}

/* ========================================================
   PARÇIK PİNÇİK ÖZEL OYUN EKRANI STİLLERİ (YEPYENİ VE TEMİZ)
======================================================== */
#parcik-pincik-page {
  background: var(--r-bg);
  background-image: radial-gradient(rgba(17, 24, 39, 0.08) 2px, transparent 0);
  background-size: 24px 24px;
}

.pp-stage {
  flex: 1;
  display: flex; flex-direction: column; justify-content: center; align-items: center;
  background: linear-gradient(180deg, #4fc3f7 0%, #8ad4ff 60%, #eaf6ff 60%, #f8fbff 100%);
  border-radius: 12px; border: var(--r-border); box-shadow: var(--r-shadow);
  padding: 20px 10px;
  overflow: hidden;
  min-height: 250px;
}

.pp-shuffle-note {
  font-size: clamp(16px, 4vw, 24px); color: #fff; text-shadow: 2px 2px 0 var(--r-ink);
  margin-bottom: 20px; text-align: center; font-weight: 900; text-transform: uppercase;
}

.pp-answer, .pp-tiles {
  display: grid;
  grid-template-columns: repeat(var(--pp-cols, 4), minmax(0, 1fr));
  gap: 10px; width: 100%; max-width: 600px; margin: 0 auto;
}
.pp-answer { margin-bottom: 30px; }

.pp-slot, .pp-tile {
  aspect-ratio: 1 / 1;
  border: 3px solid var(--r-ink); border-radius: 12px; box-shadow: 4px 4px 0 var(--r-ink);
  display: flex; align-items: center; justify-content: center;
  font-family: monospace; font-weight: 900; font-size: clamp(20px, 6vw, 42px);
  text-transform: uppercase;
}

.pp-slot { background: #fff; color: var(--r-ink); }
.pp-slot.filled { background: #fff8cf; }

.pp-tile {
  color: #fff; cursor: pointer; user-select: none;
  transition: transform 0.1s, box-shadow 0.1s;
}
.pp-tile:active { transform: translate(4px, 4px); box-shadow: 0 0 0 var(--r-ink); }
.pp-tile.used { opacity: 0.3; transform: translate(4px, 4px); box-shadow: 0 0 0 var(--r-ink); pointer-events: none; }

.pp-tile:nth-child(5n+1) { background: var(--r-green); }
.pp-tile:nth-child(5n+2) { background: var(--r-yellow); color: var(--r-ink); }
.pp-tile:nth-child(5n+3) { background: var(--r-pink); }
.pp-tile:nth-child(5n+4) { background: var(--r-cyan); color: var(--r-ink); }
.pp-tile:nth-child(5n+5) { background: var(--r-purple); }

.pp-controls { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 12px; }
.pp-controls .r-btn { padding: 14px 10px; font-size: clamp(14px, 3.5vw, 18px); white-space: nowrap; }

@media (min-width: 641px) {
  .pp-controls { grid-template-columns: repeat(4, 1fr); }
}

.pp-stage.shake { animation: ppShake 0.3s ease; }
.pp-stage.winflash { animation: ppWin 0.4s ease; }
@keyframes ppShake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-8px)} 40%{transform:translateX(8px)} 60%{transform:translateX(-8px)} 80%{transform:translateX(8px)} }
@keyframes ppWin { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.2)} }

/* ========================================================
   KELİMELE (WORDLE) OYUN EKRANI STİLLERİ
======================================================== */
.klm-stage {
  flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center;
  padding: 10px; min-height: 280px;
}

.klm-board {
  display: grid; grid-template-rows: repeat(6, 1fr); gap: 6px;
  width: 100%; max-width: 300px; aspect-ratio: 5/6; margin: 0 auto;
}

.klm-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; }

.klm-tile {
  border: 3px solid var(--r-ink); border-radius: 8px; box-shadow: 2px 2px 0 var(--r-ink);
  display: flex; align-items: center; justify-content: center;
  font-family: monospace; font-weight: 900; font-size: clamp(24px, 7vw, 36px);
  text-transform: uppercase; background: #fff; color: var(--r-ink);
  transition: transform 0.4s, background 0.4s, color 0.4s;
}

.klm-tile.filled { border-color: var(--r-ink); animation: klmPop 0.1s ease-in-out; }

.klm-tile.correct { background: var(--r-green); color: var(--r-ink); border-color: var(--r-ink); box-shadow: 2px 2px 0 var(--r-ink); }
.klm-tile.present { background: var(--r-yellow); color: var(--r-ink); border-color: var(--r-ink); box-shadow: 2px 2px 0 var(--r-ink); }
.klm-tile.absent { background: var(--muted); color: #fff; border-color: var(--r-ink); box-shadow: none; transform: translate(2px,2px); }

#klmKeyboard .key.correct { background: var(--r-green); color: var(--r-ink); opacity: 1; box-shadow: 0 0 0 var(--r-ink); transform:translateY(4px); }
#klmKeyboard .key.present { background: var(--r-yellow); color: var(--r-ink); opacity: 1; box-shadow: 0 0 0 var(--r-ink); transform:translateY(4px); }
#klmKeyboard .key.absent { background: var(--muted); color: #fff; opacity: 0.5; box-shadow: none; transform: translateY(4px); pointer-events:none;}
#klmKeyboard .key.wide { flex: 1.5; font-size: 14px; background: var(--r-cyan); }

@keyframes klmPop { 0%{transform:scale(0.8)} 50%{transform:scale(1.1)} 100%{transform:scale(1)} }
.klm-stage.shake { animation: ppShake 0.4s; }

/* ========================================================
   ANLAM AVCISI OYUN EKRANI STİLLERİ
======================================================== */
.aa-stage {
  flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center;
  background: linear-gradient(180deg, #b989ff 0%, #eaf6ff 100%);
  border-radius: 12px; border: 4px solid var(--r-ink); box-shadow: 6px 6px 0 var(--r-ink);
  padding: 40px 20px 30px; text-align: center; position: relative; min-height: 250px;
  overflow: hidden;
}

.aa-timer-bar {
  position: absolute; top: 0; left: 0; right: 0; height: 12px;
  background: #fff; border-bottom: 4px solid var(--r-ink);
}
.aa-timer-fill {
  height: 100%; background: var(--r-green); width: 100%;
  transition: width 0.05s linear, background 0.3s;
}

.aa-combo-badge {
  position: absolute; top: 24px; right: -10px; background: var(--r-yellow);
  border: 3px solid var(--r-ink); box-shadow: 4px 4px 0 var(--r-ink);
  padding: 6px 16px; font-weight: 900; border-radius: 8px; font-size: 16px;
  transform: rotate(-5deg); transition: transform 0.1s; color: var(--r-ink);
}
.aa-combo-badge.pop { transform: rotate(-5deg) scale(1.2); background: var(--r-pink); color: #fff; }

.aa-clue-text {
  font-size: clamp(18px, 4.5vw, 26px); color: var(--r-ink); font-weight: 900;
  line-height: 1.5; margin: 0; text-transform: uppercase; font-family: monospace;
}

.aa-choices {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; flex-shrink: 0;
}
.aa-btn {
  background: #fff; border: 4px solid var(--r-ink); border-radius: 12px;
  box-shadow: 4px 4px 0 var(--r-ink); padding: 24px 10px;
  font-family: monospace; font-size: clamp(16px, 4.5vw, 22px); font-weight: 900;
  color: var(--r-ink); text-transform: uppercase; transition: transform 0.1s, box-shadow 0.1s, background 0.2s;
  cursor: pointer; user-select: none; min-height: 80px; display: flex; align-items: center; justify-content: center;
}
.aa-btn:active { transform: translate(4px, 4px); box-shadow: 0 0 0 var(--r-ink); }
.aa-btn.correct { background: var(--r-green); color: var(--r-ink); }
.aa-btn.wrong { background: var(--r-pink); color: #fff; }

.aa-stage.shake { animation: ppShake 0.3s ease; }
.aa-stage.winflash { filter: brightness(1.25); transition: filter 0.2s; }

@media (max-width: 480px) {
  .aa-choices { grid-template-columns: 1fr; gap: 10px; }
  .aa-btn { padding: 16px 10px; min-height: 60px; }
  .aa-stage { padding: 30px 14px 20px; }
  .aa-combo-badge { top: 16px; right: -5px; padding: 4px 12px; font-size: 14px; }
}