{"id":107,"date":"2026-06-08T18:09:28","date_gmt":"2026-06-08T15:09:28","guid":{"rendered":"https:\/\/denizciakademi.com\/?page_id=107"},"modified":"2026-06-08T18:11:09","modified_gmt":"2026-06-08T15:11:09","slug":"mini-oyunlar","status":"publish","type":"page","link":"https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/","title":{"rendered":"Mini Oyunlar"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"107\" class=\"elementor elementor-107\">\n\t\t\t\t<div class=\"elementor-element elementor-element-7b8cfa4 e-flex e-con-boxed e-con e-parent\" data-id=\"7b8cfa4\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-02e0a6c elementor-widget elementor-widget-html\" data-id=\"02e0a6c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Oyunlar - Denizci Akademi<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Orbitron:wght@400;700;900&family=Exo+2:wght@300;400;600;700&display=swap\" rel=\"stylesheet\">\n<style>\n  * { margin: 0; padding: 0; box-sizing: border-box; }\n  body {\n    font-family: 'Exo 2', sans-serif;\n    background: #0a1628;\n    overflow: hidden;\n  }\n  .hero {\n    padding: 48px 24px 40px;\n    text-align: center;\n    position: relative;\n    overflow: hidden;\n  }\n  .hero::before {\n    content: '';\n    position: absolute; inset: 0;\n    background: radial-gradient(ellipse 80% 70% at 50% 0%, rgba(0,180,216,0.1) 0%, transparent 70%);\n    pointer-events: none;\n  }\n  .title-row {\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    gap: 20px;\n    margin-bottom: 16px;\n    position: relative; z-index: 1;\n  }\n  .compass {\n    font-size: clamp(2rem, 5vw, 3rem);\n    animation: spin 10s linear infinite;\n    display: inline-block;\n    filter: drop-shadow(0 0 10px rgba(0,180,216,0.5));\n  }\n  @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }\n  .main-title {\n    font-family: 'Orbitron', sans-serif;\n    font-size: clamp(1.8rem, 6vw, 3.2rem);\n    font-weight: 900;\n    letter-spacing: 3px;\n    background: linear-gradient(135deg, #00b4d8 0%, #a8d8a8 50%, #f4a919 100%);\n    -webkit-background-clip: text;\n    -webkit-text-fill-color: transparent;\n    background-clip: text;\n  }\n  .subtitle {\n    font-size: clamp(0.9rem, 2.5vw, 1.1rem);\n    color: #8fa3b8;\n    font-weight: 300;\n    letter-spacing: 1px;\n    position: relative; z-index: 1;\n  }\n<\/style>\n<\/head>\n<body>\n  <div class=\"hero\">\n    <div class=\"title-row\">\n      <span class=\"compass\">\ud83e\udded<\/span>\n      <h1 class=\"main-title\">DEN\u0130ZC\u0130L\u0130K M\u0130N\u0130 OYUNLARI<\/h1>\n    <\/div>\n    <p class=\"subtitle\">Denizcili\u011fi oyun oynayarak \u00f6\u011fren<\/p>\n  <\/div>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2c15f6e elementor-widget elementor-widget-html\" data-id=\"2c15f6e\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!DOCTYPE html>\n<html lang=\"tr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Mini Oyunlar - Denizci Akademi<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Orbitron:wght@400;700;900&family=Exo+2:wght@300;400;600;700&display=swap\" rel=\"stylesheet\">\n<style>\n  :root {\n    --navy: #0a1628;\n    --navy2: #0d1e35;\n    --navy3: #112244;\n    --teal: #00b4d8;\n    --teal2: #0096c7;\n    --gold: #f4a919;\n    --gold2: #e09010;\n    --gray: #8fa3b8;\n    --offwhite: #f0f4f8;\n    --success: #22c55e;\n    --danger: #ef4444;\n    --white: #ffffff;\n  }\n\n  * { margin: 0; padding: 0; box-sizing: border-box; }\n\n  body {\n    font-family: 'Exo 2', sans-serif;\n    background: var(--navy);\n    color: var(--offwhite);\n    min-height: 100vh;\n    overflow-x: hidden;\n  }\n\n  \/* \u2500\u2500 BACKGROUND \u2500\u2500 *\/\n  .bg-waves {\n    position: fixed; inset: 0; z-index: 0; pointer-events: none;\n    background:\n      radial-gradient(ellipse 80% 50% at 20% 0%, rgba(0,180,216,0.08) 0%, transparent 60%),\n      radial-gradient(ellipse 60% 40% at 80% 100%, rgba(244,169,25,0.05) 0%, transparent 60%);\n  }\n\n\n  \/* \u2500\u2500 HEADER \u2500\u2500 *\/\n  .site-header {\n    position: fixed; top: 0; left: 0; right: 0; z-index: 100;\n    background: rgba(10,22,40,0.95); backdrop-filter: blur(12px);\n    border-bottom: 1px solid rgba(0,180,216,0.2);\n    display: flex; align-items: center; justify-content: space-between;\n    padding: 12px 24px;\n  }\n  .site-logo { font-family: 'Orbitron', sans-serif; font-size: 1rem; color: var(--teal); letter-spacing: 2px; }\n  .site-logo span { color: var(--gold); }\n  .back-home { color: var(--gray); font-size: 0.85rem; text-decoration: none; transition: color 0.2s; }\n  .back-home:hover { color: var(--teal); }\n\n  \/* \u2500\u2500 MAIN MENU \u2500\u2500 *\/\n  #screen-menu { padding-top: 60px; padding-bottom: 20px; }\n  .screen { position: relative; z-index: 1; min-height: auto; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 16px; }\n  .menu-title {\n    font-family: 'Orbitron', sans-serif;\n    font-size: clamp(1.6rem, 5vw, 2.8rem);\n    text-align: center; margin-bottom: 8px;\n    background: linear-gradient(135deg, var(--teal), var(--gold));\n    -webkit-background-clip: text; -webkit-text-fill-color: transparent;\n  }\n  .menu-subtitle { text-align: center; color: var(--gray); margin-bottom: 48px; font-size: 1rem; }\n\n  .game-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; max-width: 960px; width: 100%; }\n\n  .game-card {\n    background: linear-gradient(135deg, var(--navy2), var(--navy3));\n    border: 1px solid rgba(0,180,216,0.2);\n    border-radius: 20px; padding: 32px 24px;\n    cursor: pointer; transition: all 0.3s;\n    position: relative; overflow: hidden;\n  }\n  .game-card::before {\n    content: ''; position: absolute; inset: 0;\n    background: linear-gradient(135deg, rgba(0,180,216,0.05), transparent);\n    opacity: 0; transition: opacity 0.3s;\n  }\n  .game-card:hover { transform: translateY(-6px); border-color: var(--teal); box-shadow: 0 20px 60px rgba(0,180,216,0.15); }\n  .game-card:hover::before { opacity: 1; }\n  .game-icon { font-size: 3rem; margin-bottom: 16px; display: block; }\n  .game-name { font-family: 'Orbitron', sans-serif; font-size: 1.1rem; color: var(--teal); margin-bottom: 8px; }\n  .game-desc { color: var(--gray); font-size: 0.9rem; line-height: 1.5; }\n\n\n  \/* \u2500\u2500 TUR SE\u00c7\u0130M\u0130 \u2500\u2500 *\/\n  .round-title { font-family: 'Orbitron', sans-serif; font-size: 1.5rem; color: var(--teal); text-align: center; margin-bottom: 8px; }\n  .round-sub { color: var(--gray); text-align: center; margin-bottom: 32px; font-size: 0.9rem; }\n  .round-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(80px, 1fr)); gap: 12px; max-width: 500px; width: 100%; margin-bottom: 24px; }\n  .round-btn {\n    aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;\n    background: var(--navy2); border: 1px solid rgba(0,180,216,0.2); border-radius: 12px;\n    cursor: pointer; transition: all 0.2s; font-family: 'Orbitron', sans-serif; font-size: 1.1rem; color: var(--offwhite);\n  }\n  .round-btn span { font-size: 0.6rem; color: var(--gray); margin-top: 4px; font-family: 'Exo 2', sans-serif; }\n  .round-btn:hover { background: var(--navy3); border-color: var(--teal); color: var(--teal); transform: scale(1.05); }\n  .round-btn.locked { opacity: 0.3; cursor: not-allowed; }\n  .round-btn.locked:hover { transform: none; }\n\n  .btn-back { background: none; border: 1px solid rgba(143,163,184,0.3); color: var(--gray); padding: 10px 24px; border-radius: 10px; cursor: pointer; font-family: 'Exo 2', sans-serif; font-size: 0.9rem; transition: all 0.2s; }\n  .btn-back:hover { border-color: var(--gray); color: var(--offwhite); }\n\n  \/* \u2500\u2500 GENEL OYUN UI \u2500\u2500 *\/\n  .game-header { width: 100%; max-width: 600px; display: flex; align-items: center; justify-content: space-between; margin-bottom: 24px; }\n  .game-title-bar { font-family: 'Orbitron', sans-serif; font-size: 0.9rem; color: var(--teal); }\n  .progress-bar-wrap { flex: 1; margin: 0 16px; height: 6px; background: rgba(255,255,255,0.1); border-radius: 3px; overflow: hidden; }\n  .progress-bar-fill { height: 100%; background: linear-gradient(90deg, var(--teal), var(--gold)); border-radius: 3px; transition: width 0.4s; }\n  .score-badge { background: rgba(244,169,25,0.15); border: 1px solid var(--gold); border-radius: 20px; padding: 4px 12px; font-size: 0.8rem; color: var(--gold); font-family: 'Orbitron', sans-serif; }\n\n  \/* \u2500\u2500 SONU\u00c7 EKRANI \u2500\u2500 *\/\n  .result-screen {\n    background: linear-gradient(135deg, var(--navy2), var(--navy3));\n    border: 1px solid rgba(0,180,216,0.25); border-radius: 24px;\n    padding: 40px 32px; text-align: center; max-width: 480px; width: 100%;\n    animation: popIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n  }\n  @keyframes popIn { from { opacity: 0; transform: scale(0.85); } to { opacity: 1; transform: scale(1); } }\n  .result-emoji { font-size: 4rem; margin-bottom: 16px; }\n  .result-word { font-family: 'Orbitron', sans-serif; font-size: 1.6rem; color: var(--gold); margin-bottom: 8px; letter-spacing: 3px; }\n  .result-meaning { color: var(--gray); font-size: 0.95rem; line-height: 1.6; margin-bottom: 8px; }\n  .result-status { font-size: 1.1rem; font-weight: 700; margin-bottom: 24px; }\n  .result-status.win { color: var(--success); }\n  .result-status.lose { color: var(--danger); }\n  .result-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }\n  .btn-primary { background: linear-gradient(135deg, var(--teal), var(--teal2)); color: var(--white); border: none; padding: 12px 28px; border-radius: 12px; font-family: 'Exo 2', sans-serif; font-size: 0.95rem; font-weight: 600; cursor: pointer; transition: all 0.2s; }\n  .btn-primary:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,180,216,0.3); }\n  .btn-secondary { background: none; border: 1px solid var(--gold); color: var(--gold); padding: 12px 28px; border-radius: 12px; font-family: 'Exo 2', sans-serif; font-size: 0.95rem; cursor: pointer; transition: all 0.2s; }\n  .btn-secondary:hover { background: rgba(244,169,25,0.1); }\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     OYUN 1 \u2014 WORDLE TARZI\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  #screen-wordle .meaning-card {\n    background: linear-gradient(135deg, var(--navy2), var(--navy3));\n    border: 1px solid rgba(0,180,216,0.2); border-radius: 16px;\n    padding: 20px 24px; max-width: 600px; width: 100%; margin-bottom: 24px; text-align: center;\n  }\n  #screen-wordle .meaning-label { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 2px; color: var(--teal); margin-bottom: 8px; }\n  #screen-wordle .meaning-text { font-size: 1.1rem; color: var(--offwhite); line-height: 1.5; }\n\n  .letter-boxes { display: flex; flex-direction: column; gap: 8px; align-items: center; margin-bottom: 16px; }\n  .letter-row { display: flex; gap: 8px; justify-content: center; }\n  .btn-show-answer { background: none; border: 1px solid rgba(244,169,25,0.4); color: var(--gold); padding: 8px 20px; border-radius: 10px; font-family: 'Exo 2', sans-serif; font-size: 0.85rem; cursor: pointer; transition: all 0.2s; margin-bottom: 12px; }\n  .btn-show-answer:hover { background: rgba(244,169,25,0.1); }\n  .letter-box {\n    width: 52px; height: 52px; border: 2px solid rgba(143,163,184,0.3); border-radius: 10px;\n    display: flex; align-items: center; justify-content: center;\n    font-family: 'Orbitron', sans-serif; font-size: 1.3rem; font-weight: 700;\n    text-transform: uppercase; transition: all 0.1s; background: var(--navy2);\n  }\n  .letter-box.active { border-color: var(--teal); box-shadow: 0 0 0 2px rgba(0,180,216,0.2); }\n  .letter-box.correct { background: var(--success); border-color: var(--success); color: white; animation: flipIn 0.3s; }\n  .letter-box.wrong-pos { background: var(--gold); border-color: var(--gold); color: var(--navy); animation: flipIn 0.3s; }\n  .letter-box.wrong { background: #334155; border-color: #334155; color: var(--gray); animation: flipIn 0.3s; }\n  .letter-box.shake { animation: shake 0.4s; }\n  @keyframes flipIn { 0% { transform: rotateX(0); } 50% { transform: rotateX(90deg); } 100% { transform: rotateX(0); } }\n  @keyframes shake { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-8px)} 40%{transform:translateX(8px)} 60%{transform:translateX(-6px)} 80%{transform:translateX(6px)} }\n\n  .attempts-info { color: var(--gray); font-size: 0.85rem; margin-bottom: 20px; }\n\n  \/* klavye *\/\n  .keyboard { max-width: 600px; width: 100%; }\n  .kb-row { display: flex; gap: 6px; justify-content: center; margin-bottom: 6px; }\n  .kb-key {\n    min-width: 36px; height: 48px; padding: 0 8px;\n    background: #1e3a5f; border: none; border-radius: 8px;\n    color: var(--offwhite); font-family: 'Exo 2', sans-serif; font-size: 0.9rem; font-weight: 600;\n    cursor: pointer; transition: all 0.15s; text-transform: uppercase;\n  }\n  .kb-key:hover { background: #2a4f7a; }\n  .kb-key.correct { background: var(--success); }\n  .kb-key.wrong-pos { background: var(--gold); color: var(--navy); }\n  .kb-key.wrong { background: #2d3748; color: var(--gray); }\n  .kb-key.wide { min-width: 60px; font-size: 0.75rem; }\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     OYUN 2 \u2014 KART KAYDIRMA\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  .card-arena { position: relative; width: 100%; max-width: 400px; height: 320px; margin-bottom: 24px; }\n  .swipe-card {\n    position: absolute; inset: 0;\n    background: linear-gradient(135deg, var(--navy2), var(--navy3));\n    border: 1px solid rgba(0,180,216,0.25); border-radius: 24px;\n    padding: 32px; display: flex; flex-direction: column; align-items: center; justify-content: center;\n    text-align: center; cursor: grab; user-select: none;\n    transition: box-shadow 0.2s;\n    touch-action: pan-y;\n  }\n  .swipe-card.dragging { cursor: grabbing; transition: none; }\n  .swipe-card .card-term { font-family: 'Orbitron', sans-serif; font-size: 1.3rem; color: var(--teal); margin-bottom: 16px; }\n  .swipe-card .card-def { color: var(--offwhite); font-size: 0.95rem; line-height: 1.6; }\n  .swipe-card .card-q { font-size: 0.8rem; color: var(--gray); margin-top: 12px; }\n\n  .swipe-overlay { position: absolute; inset: 0; border-radius: 24px; display: flex; align-items: center; justify-content: center; font-size: 3rem; font-weight: 900; opacity: 0; transition: opacity 0.1s; pointer-events: none; }\n  .swipe-overlay.right { background: rgba(34,197,94,0.2); border: 3px solid var(--success); color: var(--success); }\n  .swipe-overlay.left { background: rgba(239,68,68,0.2); border: 3px solid var(--danger); color: var(--danger); }\n\n  .swipe-btns { display: flex; gap: 32px; }\n  .swipe-btn {\n    width: 64px; height: 64px; border-radius: 50%; border: 2px solid;\n    display: flex; align-items: center; justify-content: center; font-size: 1.6rem;\n    cursor: pointer; transition: all 0.2s; background: var(--navy2);\n  }\n  .swipe-btn.wrong-btn { border-color: var(--danger); color: var(--danger); }\n  .swipe-btn.wrong-btn:hover { background: rgba(239,68,68,0.15); transform: scale(1.1); }\n  .swipe-btn.right-btn { border-color: var(--success); color: var(--success); }\n  .swipe-btn.right-btn:hover { background: rgba(34,197,94,0.15); transform: scale(1.1); }\n\n  .swipe-hint { color: var(--gray); font-size: 0.8rem; margin-bottom: 16px; }\n\n  \/* \u00f6zet ekran\u0131 *\/\n  .summary-screen {\n    background: linear-gradient(135deg, var(--navy2), var(--navy3));\n    border: 1px solid rgba(0,180,216,0.25); border-radius: 24px;\n    padding: 32px; max-width: 500px; width: 100%;\n    animation: popIn 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\n  }\n  .summary-title { font-family: 'Orbitron', sans-serif; font-size: 1.2rem; color: var(--gold); text-align: center; margin-bottom: 24px; }\n  .summary-stats { display: flex; gap: 16px; justify-content: center; margin-bottom: 24px; }\n  .stat-box { background: rgba(255,255,255,0.05); border-radius: 12px; padding: 16px; text-align: center; flex: 1; }\n  .stat-num { font-family: 'Orbitron', sans-serif; font-size: 2rem; }\n  .stat-num.green { color: var(--success); }\n  .stat-num.red { color: var(--danger); }\n  .stat-label { font-size: 0.75rem; color: var(--gray); margin-top: 4px; }\n  .summary-list { list-style: none; margin-bottom: 24px; }\n  .summary-list li { display: flex; align-items: flex-start; gap: 10px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,0.06); font-size: 0.85rem; }\n  .summary-list li .s-icon { font-size: 1rem; flex-shrink: 0; margin-top: 2px; }\n  .summary-list li .s-term { font-weight: 700; color: var(--offwhite); }\n  .summary-list li .s-def { color: var(--gray); display: block; margin-top: 2px; }\n\n  \/* \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     OYUN 3 \u2014 WORDSCAPES\n  \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 *\/\n  .ws-clue { font-size: 1rem; color: var(--gray); text-align: center; max-width: 500px; margin-bottom: 12px; line-height: 1.5; }\n  .ws-boxes { display: flex; gap: 10px; justify-content: center; margin-bottom: 24px; flex-wrap: wrap; }\n  .ws-box {\n    width: 56px; height: 56px; border: 2px solid rgba(0,180,216,0.3); border-radius: 10px;\n    background: var(--navy2); display: flex; align-items: center; justify-content: center;\n    font-family: 'Orbitron', sans-serif; font-size: 1.4rem; font-weight: 700; color: var(--teal);\n    text-transform: uppercase;\n  }\n  .ws-box.filled { border-color: var(--teal); animation: pop 0.2s; }\n  .ws-box.correct-all { background: var(--success); border-color: var(--success); color: white; }\n  @keyframes pop { 0%{transform:scale(1)} 50%{transform:scale(1.15)} 100%{transform:scale(1)} }\n\n  .ws-current { font-family: 'Orbitron', sans-serif; font-size: 1.4rem; color: var(--gold); letter-spacing: 6px; min-height: 40px; text-align: center; margin-bottom: 16px; text-transform: uppercase; }\n\n  .ws-letter-pool { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; margin-bottom: 20px; }\n  .ws-letter {\n    width: 52px; height: 52px; border-radius: 50%;\n    background: linear-gradient(135deg, #1e3a5f, #0d2644);\n    border: 2px solid rgba(0,180,216,0.3);\n    display: flex; align-items: center; justify-content: center;\n    font-family: 'Orbitron', sans-serif; font-size: 1.2rem; font-weight: 700; color: var(--offwhite);\n    cursor: pointer; transition: all 0.15s; text-transform: uppercase; user-select: none;\n  }\n  .ws-letter:hover:not(.used) { background: linear-gradient(135deg, #2a4f7a, #1e3a5f); border-color: var(--teal); transform: scale(1.1); }\n  .ws-letter.used { opacity: 0.25; cursor: not-allowed; transform: none; }\n\n  .ws-actions { display: flex; gap: 12px; }\n  .ws-btn { padding: 10px 20px; border-radius: 10px; font-family: 'Exo 2', sans-serif; font-size: 0.9rem; cursor: pointer; transition: all 0.2s; }\n  .ws-btn.clear { background: none; border: 1px solid var(--danger); color: var(--danger); }\n  .ws-btn.clear:hover { background: rgba(239,68,68,0.1); }\n  .ws-btn.submit { background: linear-gradient(135deg, var(--teal), var(--teal2)); border: none; color: white; font-weight: 600; }\n  .ws-btn.submit:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,180,216,0.3); }\n  .ws-btn.shuffle { background: none; border: 1px solid var(--gold); color: var(--gold); }\n  .ws-btn.shuffle:hover { background: rgba(244,169,25,0.1); }\n\n  .ws-feedback { text-align: center; font-size: 0.9rem; min-height: 24px; margin-bottom: 12px; font-weight: 600; }\n  .ws-feedback.ok { color: var(--success); }\n  .ws-feedback.err { color: var(--danger); }\n\n  \/* \u2500\u2500 HIDDEN \/ SHOW \u2500\u2500 *\/\n  .hidden { display: none !important; }\n\n  \/* \u2500\u2500 RESPONSIVE \u2500\u2500 *\/\n  @media (max-width: 480px) {\n    .letter-box { width: 44px; height: 44px; font-size: 1.1rem; }\n    .kb-key { min-width: 30px; height: 44px; font-size: 0.8rem; }\n    .ws-box { width: 48px; height: 48px; font-size: 1.2rem; }\n    .ws-letter { width: 46px; height: 46px; font-size: 1rem; }\n    .game-cards { grid-template-columns: 1fr; }\n  }\n<\/style>\n<\/head>\n<body>\n<div class=\"bg-waves\"><\/div>\n\n<!-- HEADER -->\n<header class=\"site-header\">\n  <div class=\"site-logo\">\u2693 DEN\u0130ZC\u0130 <span>AKADEM\u0130<\/span><\/div>\n  <button class=\"back-home\" onclick=\"handleHeaderBack()\" style=\"background:none;border:none;cursor:pointer;\">\u2190 Geri<\/button>\n<\/header>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     EKRAN: ANA MEN\u00dc\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"screen-menu\" class=\"screen\">\n  <div class=\"game-cards\">\n    <div class=\"game-card\" onclick=\"selectGame('wordle')\">\n      <span class=\"game-icon\">\ud83d\udd24<\/span>\n      <div class=\"game-name\">KEL\u0130ME AVCISI<\/div>\n      <div class=\"game-desc\">Anlam\u0131 verilen denizcilik terimini tahmin et. Her turda 5 kelime.<\/div>\n\n    <\/div>\n    <div class=\"game-card\" onclick=\"selectGame('swipe')\">\n      <span class=\"game-icon\">\ud83d\udc46<\/span>\n      <div class=\"game-name\">DO\u011eRU \/ YANLI\u015e<\/div>\n      <div class=\"game-desc\">Kartlar\u0131 sa\u011fa veya sola kayd\u0131r. Do\u011fru mu yanl\u0131\u015f m\u0131? Her 10 soruda \u00f6zet.<\/div>\n\n    <\/div>\n    <div class=\"game-card\" onclick=\"selectGame('wordscapes')\">\n      <span class=\"game-icon\">\ud83e\udde9<\/span>\n      <div class=\"game-name\">HARF BULMACA<\/div>\n      <div class=\"game-desc\">Verilen harflerden do\u011fru terimi bul. Her turda 5 kelime.<\/div>\n\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     EKRAN: TUR SE\u00c7\u0130M\u0130\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"screen-rounds\" class=\"screen hidden\">\n  <h2 class=\"round-title\" id=\"round-game-title\"><\/h2>\n  <p class=\"round-sub\">Hangi turdan ba\u015flamak istiyorsun?<\/p>\n  <div class=\"round-grid\" id=\"round-grid\"><\/div>\n  <button class=\"btn-back\" onclick=\"goMenu()\">\u2190 Geri<\/button>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     EKRAN: OYUN 1 \u2014 WORDLE\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"screen-wordle\" class=\"screen hidden\" style=\"padding-top:80px;\">\n  <div class=\"game-header\" style=\"max-width:600px;width:100%;\">\n    <div class=\"game-title-bar\">\ud83d\udd24 KEL\u0130ME AVCISI<\/div>\n    <div class=\"progress-bar-wrap\"><div class=\"progress-bar-fill\" id=\"w-progress\"><\/div><\/div>\n    <div class=\"score-badge\">\u2b50 <span id=\"w-score\">0<\/span><\/div>\n  <\/div>\n  <div style=\"color:var(--gray);font-size:0.8rem;margin-bottom:8px;text-align:center;\" id=\"w-round-info\"><\/div>\n\n  <div class=\"meaning-card\">\n    <div class=\"meaning-label\">Anlam\u0131<\/div>\n    <div class=\"meaning-text\" id=\"w-meaning\"><\/div>\n  <\/div>\n\n  <div class=\"letter-boxes\" id=\"w-boxes\"><\/div>\n  <div class=\"attempts-info\" id=\"w-attempts\"><\/div>\n  <button class=\"btn-show-answer\" onclick=\"showAnswer()\">\ud83d\udca1 Cevab\u0131 G\u00f6ster<\/button>\n\n  <div class=\"keyboard\" id=\"w-keyboard\">\n    <div class=\"kb-row\" id=\"kb-row1\"><\/div>\n    <div class=\"kb-row\" id=\"kb-row2\"><\/div>\n    <div class=\"kb-row\" id=\"kb-row3\"><\/div>\n  <\/div>\n<\/div>\n\n<!-- WORDLE SONU\u00c7 -->\n<div id=\"screen-wordle-result\" class=\"screen hidden\">\n  <div class=\"result-screen\">\n    <div class=\"result-emoji\" id=\"wr-emoji\"><\/div>\n    <div class=\"result-word\" id=\"wr-word\"><\/div>\n    <div class=\"result-meaning\" id=\"wr-meaning\"><\/div>\n    <div class=\"result-status\" id=\"wr-status\"><\/div>\n    <div class=\"result-btns\">\n      <button class=\"btn-primary\" id=\"wr-next-btn\">Devam Et \u2192<\/button>\n      <button class=\"btn-secondary\" onclick=\"retryWordle()\">\u21ba Tekrar<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- WORDLE TUR SONU -->\n<div id=\"screen-wordle-end\" class=\"screen hidden\">\n  <div class=\"result-screen\">\n    <div class=\"result-emoji\">\ud83c\udfc6<\/div>\n    <div class=\"result-word\" style=\"font-size:1.2rem;\">TUR TAMAMLANDI!<\/div>\n    <div style=\"color:var(--gray);margin:12px 0;\">Do\u011fru: <span id=\"we-correct\" style=\"color:var(--success);font-weight:700;\"><\/span> \/ 5<\/div>\n    <div style=\"color:var(--gray);margin-bottom:24px;\">Puan: <span id=\"we-score\" style=\"color:var(--gold);font-weight:700;font-family:'Orbitron',sans-serif;\"><\/span><\/div>\n    <div class=\"result-btns\">\n      <button class=\"btn-primary\" onclick=\"goMenu()\">Ana Men\u00fc<\/button>\n      <button class=\"btn-secondary\" onclick=\"startWordle(currentRound)\">\u21ba Tekrar<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     EKRAN: OYUN 2 \u2014 KART KAYDIRMA\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"screen-swipe\" class=\"screen hidden\" style=\"padding-top:80px;\">\n  <div class=\"game-header\">\n    <div class=\"game-title-bar\">\ud83d\udc46 DO\u011eRU\/YANLI\u015e<\/div>\n    <div class=\"progress-bar-wrap\"><div class=\"progress-bar-fill\" id=\"s-progress\"><\/div><\/div>\n    <div class=\"score-badge\">\u2b50 <span id=\"s-score\">0<\/span><\/div>\n  <\/div>\n  <div style=\"color:var(--gray);font-size:0.8rem;margin-bottom:12px;text-align:center;\" id=\"s-round-info\"><\/div>\n\n  <p class=\"swipe-hint\">Bu a\u00e7\u0131klama do\u011fru mu yanl\u0131\u015f m\u0131?<\/p>\n  <div class=\"card-arena\" id=\"card-arena\">\n    <div class=\"swipe-card\" id=\"swipe-card\">\n      <div class=\"swipe-overlay right\" id=\"overlay-right\">\u2713 DO\u011eRU<\/div>\n      <div class=\"swipe-overlay left\" id=\"overlay-left\">\u2717 YANLI\u015e<\/div>\n      <div class=\"card-term\" id=\"s-term\"><\/div>\n      <div class=\"card-def\" id=\"s-def\"><\/div>\n      <div class=\"card-q\">Bu tan\u0131m do\u011fru mu?<\/div>\n    <\/div>\n  <\/div>\n  <div class=\"swipe-btns\">\n    <button class=\"swipe-btn wrong-btn\" onclick=\"swipeAnswer(false)\">\u2717<\/button>\n    <button class=\"swipe-btn right-btn\" onclick=\"swipeAnswer(true)\">\u2713<\/button>\n  <\/div>\n<\/div>\n\n<!-- KART \u00d6ZET -->\n<div id=\"screen-swipe-summary\" class=\"screen hidden\">\n  <div class=\"summary-screen\">\n    <div class=\"summary-title\">\ud83d\udcca 10 SORU \u00d6ZET\u0130<\/div>\n    <div class=\"summary-stats\">\n      <div class=\"stat-box\"><div class=\"stat-num green\" id=\"ss-correct\">0<\/div><div class=\"stat-label\">Do\u011fru<\/div><\/div>\n      <div class=\"stat-box\"><div class=\"stat-num red\" id=\"ss-wrong\">0<\/div><div class=\"stat-label\">Yanl\u0131\u015f<\/div><\/div>\n    <\/div>\n    <ul class=\"summary-list\" id=\"ss-list\"><\/ul>\n    <div class=\"result-btns\">\n      <button class=\"btn-primary\" onclick=\"continueSummary()\">Devam Et \u2192<\/button>\n      <button class=\"btn-secondary\" onclick=\"goMenu()\">Ana Men\u00fc<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n     EKRAN: OYUN 3 \u2014 WORDSCAPES\n\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550 -->\n<div id=\"screen-ws\" class=\"screen hidden\" style=\"padding-top:80px;\">\n  <div class=\"game-header\" style=\"max-width:600px;width:100%;\">\n    <div class=\"game-title-bar\">\ud83e\udde9 HARF BULMACA<\/div>\n    <div class=\"progress-bar-wrap\"><div class=\"progress-bar-fill\" id=\"ws-progress\"><\/div><\/div>\n    <div class=\"score-badge\">\u2b50 <span id=\"ws-score\">0<\/span><\/div>\n  <\/div>\n  <div style=\"color:var(--gray);font-size:0.8rem;margin-bottom:8px;text-align:center;\" id=\"ws-round-info\"><\/div>\n\n  <div class=\"ws-clue\" id=\"ws-clue\"><\/div>\n  <div class=\"ws-boxes\" id=\"ws-boxes\"><\/div>\n  <div class=\"ws-current\" id=\"ws-current\">_<\/div>\n  <div class=\"ws-feedback\" id=\"ws-feedback\"><\/div>\n  <div class=\"ws-letter-pool\" id=\"ws-pool\"><\/div>\n  <div class=\"ws-actions\">\n    <button class=\"ws-btn clear\" onclick=\"wsClear()\">Temizle<\/button>\n    <button class=\"ws-btn shuffle\" onclick=\"wsShuffle()\">\ud83d\udd00 Kar\u0131\u015ft\u0131r<\/button>\n    <button class=\"ws-btn submit\" onclick=\"wsSubmit()\">G\u00f6nder \u2713<\/button>\n  <\/div>\n<\/div>\n\n<!-- WS SONU\u00c7 -->\n<div id=\"screen-ws-result\" class=\"screen hidden\">\n  <div class=\"result-screen\">\n    <div class=\"result-emoji\" id=\"wsr-emoji\"><\/div>\n    <div class=\"result-word\" id=\"wsr-word\"><\/div>\n    <div class=\"result-meaning\" id=\"wsr-meaning\"><\/div>\n    <div class=\"result-status\" id=\"wsr-status\"><\/div>\n    <div class=\"result-btns\">\n      <button class=\"btn-primary\" id=\"wsr-next-btn\">Devam Et \u2192<\/button>\n      <button class=\"btn-secondary\" onclick=\"wsRetry()\">\u21ba Tekrar<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- WS TUR SONU -->\n<div id=\"screen-ws-end\" class=\"screen hidden\">\n  <div class=\"result-screen\">\n    <div class=\"result-emoji\">\ud83c\udfc6<\/div>\n    <div class=\"result-word\" style=\"font-size:1.2rem;\">TUR TAMAMLANDI!<\/div>\n    <div style=\"color:var(--gray);margin:12px 0;\">Do\u011fru: <span id=\"wse-correct\" style=\"color:var(--success);font-weight:700;\"><\/span> \/ 5<\/div>\n    <div style=\"color:var(--gray);margin-bottom:24px;\">Puan: <span id=\"wse-score\" style=\"color:var(--gold);font-weight:700;font-family:'Orbitron',sans-serif;\"><\/span><\/div>\n    <div class=\"result-btns\">\n      <button class=\"btn-primary\" onclick=\"goMenu()\">Ana Men\u00fc<\/button>\n      <button class=\"btn-secondary\" onclick=\"startWordscapes(currentRound)\">\u21ba Tekrar<\/button>\n    <\/div>\n  <\/div>\n<\/div>\n\n<script>\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/  NAV\u0130GASYON\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nfunction handleHeaderBack() {\n  const screens = ['screen-wordle','screen-wordle-result','screen-wordle-end',\n                   'screen-swipe','screen-swipe-summary',\n                   'screen-ws','screen-ws-result','screen-ws-end'];\n  const onGame = screens.some(s => !document.getElementById(s).classList.contains('hidden'));\n  if (onGame) { goMenu(); }\n  else if (!document.getElementById('screen-rounds').classList.contains('hidden')) { goMenu(); }\n  else { window.location.href = '\/'; }\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/  VER\u0130 \u2014 DEN\u0130ZC\u0130L\u0130K TER\u0130MLER\u0130\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nconst TERMS = [\n  { word: \"PRUVA\",    meaning: \"Bir teknenin \u00f6n tar\u0131ndan ileri istikameti\" },\n  { word: \"PUPA\",     meaning: \"Geminin arka taraf\u0131, k\u0131\u00e7 b\u00f6lgesi\" },\n  { word: \"ISKELE\",   meaning: \"Teknenin sol yar\u0131s\u0131 veya gemiye girip \u00e7\u0131kmak i\u00e7in kullan\u0131lan merdiven\" },\n  { word: \"SANCAK\",   meaning: \"Bayrak veya teknenin sa\u011f yar\u0131s\u0131, sa\u011f taraf\u0131\" },\n  { word: \"BORDA\",    meaning: \"Su kesiminden yukar\u0131da kalan k\u0131s\u0131m\" },\n  { word: \"OMURGA\",   meaning: \"Bir teknenin postalar\u0131n\u0131n \u00fczerine oturtulup ba\u011fland\u0131\u011f\u0131 ba\u015ftan k\u0131\u00e7a kadar devam eden a\u011fa\u00e7\/madeni par\u00e7a\" },\n  { word: \"RIHTIM\",   meaning: \"Gemilerin yana\u015f\u0131p ba\u011fland\u0131\u011f\u0131 k\u0131y\u0131 yap\u0131s\u0131\" },\n  { word: \"HALAT\",    meaning: \"Bitkisel sentetik veya \u00e7elikten yap\u0131lm\u0131\u015f b\u00fck\u00fcml\u00fc, b\u00fck\u00fclmeye ve \u00e7ekmeye uygun urgan\" },\n  { word: \"DEMIR\",    meaning: \"Demirlemek i\u00e7in kullan\u0131lan, gemiyi dibe sabitleyen a\u011f\u0131r metal par\u00e7a\" },\n  { word: \"POSTA\",    meaning: \"\u00dczerine kaplama tahtalar\u0131n\u0131n tespit edildi\u011fi a\u011fa\u00e7 veya maden e\u011friler (kaburga)\" },\n  { word: \"G\u00dcVERTE\",  meaning: \"Gemilerde ve teknelerde ba\u015ftan k\u0131\u00e7a kadar d\u00f6\u015fenmi\u015f tahta veya madeni platform d\u00f6\u015feme\" },\n  { word: \"D\u00dcMEN\",    meaning: \"Gemiyi istenilen y\u00f6ne \u00e7evirmek i\u00e7in k\u0131\u00e7 tarafa monte edilen yelpaze \u015feklindeki par\u00e7a\" },\n  { word: \"SEREN\",    meaning: \"Direkler \u00fczerinde yelken a\u00e7mak ve i\u015faret \u00e7ekmek i\u00e7in yatay olarak ba\u011flanm\u0131\u015f g\u00f6nder\" },\n  { word: \"PALANGA\",  meaning: \"Bir halat ve anaz iki makaradan olu\u015fan kald\u0131rma mekanizmas\u0131\" },\n  { word: \"PALAMAR\",  meaning: \"Gemilerin r\u0131ht\u0131ma veya iskeleye ba\u011flanmas\u0131nda halattan daha kal\u0131n yomalara verilen isim\" },\n  { word: \"IRGAT\",    meaning: \"Demir almada, halatlar\u0131 dolay\u0131p gemiyi yana\u015ft\u0131rmada kullan\u0131lan mekanik veya insan kuvvetiyle \u00e7al\u0131\u015fan mekanizma\" },\n  { word: \"CANKURTARAN\", meaning: \"Denize d\u00fc\u015fenleri kurtarmak i\u00e7in hafif ve y\u00fczer maddeden yap\u0131lm\u0131\u015f, yuvarlak simit bi\u00e7iminde y\u00fczer ayg\u0131t\" }, \/\/ Uzun \u2014 11 harf\n  { word: \"USTURMA\u00c7A\", meaning: \"Yana\u015fan teknelerin bordalar\u0131n\u0131n g\u00f6\u00e7memesi i\u00e7in araya konan, balon veya silindir bi\u00e7imindeki yast\u0131k\" },\n  { word: \"TRAMOLA\",  meaning: \"Yelkenle seyirde r\u00fczgar\u0131n bir kontradan di\u011fer kontraya \u00f6nce pruvan\u0131n ge\u00e7mesi ile yap\u0131lan d\u00f6n\u00fc\u015f\" },\n  { word: \"SINTINE\",  meaning: \"Bir teknenin su alt\u0131nda kalan \u0131slak k\u0131sm\u0131n\u0131n i\u00e7 taraf\u0131\" },\n  { word: \"CIVADRA\",  meaning: \"Teknenin ba\u015f taraf\u0131nda d\u0131\u015far\u0131ya do\u011fru e\u011fik uzanan sabit seren, floklar\u0131 a\u00e7mak i\u00e7in kullan\u0131l\u0131r\" },\n  { word: \"KAPLAMA\",  meaning: \"Postalar\u0131n \u00fczerine boyuna kaplanan sa\u00e7 veya tahtalar\" },\n  { word: \"KASARA\",   meaning: \"Teknelerin ba\u015f, orta ve k\u0131\u00e7 k\u0131s\u0131mlar\u0131nda g\u00fcverteden daha y\u00fcksek olan k\u0131s\u0131mlar\" },\n  { word: \"KEMERE\",   meaning: \"G\u00fcvertenin d\u00f6\u015fenebilmesi i\u00e7in posta u\u00e7lar\u0131n\u0131 birle\u015ftiren enine konan k\u0131s\u0131mlar\" },\n  { word: \"ISKOTA\",   meaning: \"Yelkenlerin iskota yakalar\u0131n\u0131 kullanmak i\u00e7in halat-palanga donan\u0131m\u0131\" },\n  { word: \"MAPA\",     meaning: \"Sabit halka\" },\n  { word: \"VOLTA\",    meaning: \"Bir halat\u0131n babaya veya biteye bir kez dola\u015ft\u0131rmak\" },\n  { word: \"FLOK\",     meaning: \"Ba\u015f tarafta \u00e7ekilen \u00fc\u00e7 k\u00f6\u015fe yelken\" },\n  { word: \"\u00c7ARMIK\",   meaning: \"Direklerin her iki bordas\u0131na ba\u011flanabilmesi i\u00e7in gerilmi\u015f tel halatlar\" },\n  { word: \"ROTA\",     meaning: \"Geminin \u00fczerinde gitti\u011fi \u00e7izgi\" },\n  { word: \"SAFRA\",    meaning: \"Bir teknede denge sa\u011flanmas\u0131 i\u00e7in sintinesine konan a\u011f\u0131rl\u0131k\" },\n  { word: \"ORSA\",     meaning: \"Yelkenleri elden geldi\u011fi kadar r\u00fczgar\u0131n esti\u011fi tarafa yakla\u015ft\u0131rarak seyretmek\" },\n  { word: \"KARINA\",   meaning: \"Bir teknenin su alt\u0131nda kalan \u0131slak k\u0131sm\u0131n\u0131n d\u0131\u015f k\u0131sm\u0131\" },\n  { word: \"PUSLA\",    meaning: \"Rota istikametlerini g\u00f6steren, kerteriz al\u0131p mevki konmas\u0131na yard\u0131m eden seyir aleti\" },\n  { word: \"LOMBAR\",   meaning: \"Gemiye girip \u00e7\u0131k\u0131lan bordada a\u00e7\u0131lan d\u00f6rt k\u00f6\u015fe kapak\" },\n  { word: \"YALPA\",    meaning: \"Teknenin sancaktan iskeleye, iskeleden sanca\u011fa dalgalar\u0131n bordadan al\u0131nmas\u0131 ile sallanmas\u0131\" },\n  { word: \"KERTE\",    meaning: \"Bir dairenin 32'de biridir (11 derece 15 dakika)\" },\n  { word: \"BUMBA\",    meaning: \"Yan yelkenlerin alt yakalar\u0131n\u0131 germek i\u00e7in kullan\u0131lan bir cins seren\" },\n  { word: \"YEKE\",     meaning: \"D\u00fcmen ba\u015f\u0131na tak\u0131l\u0131p d\u00fcmenin istenilen tarafa bas\u0131lmas\u0131 i\u00e7in kullan\u0131lan demir veya a\u011fa\u00e7tan yap\u0131lm\u0131\u015f kol\" },\n  { word: \"MIL\",      meaning: \"Denizdeki uzunluk \u00f6l\u00e7\u00fcs\u00fc (6080 feet = 1852 metre)\" },\n  { word: \"ISKANDIL\", meaning: \"Denizin derinli\u011fini \u00f6l\u00e7mek i\u00e7in kullan\u0131lan y\u00f6ntem ve alet\" },\n  { word: \"SALPA\",    meaning: \"Demirin deniz dibinden kurtulmas\u0131, a\u011f\u0131rl\u0131\u011f\u0131n\u0131n zincire binmesi\" },\n  { word: \"TAYFA\",    meaning: \"Ticaret gemilerindeki gemiciler\" },\n  { word: \"TERSANE\",  meaning: \"Gemi yap\u0131lan fabrika, tezgah veya sanayi merkezi\" },\n  { word: \"LO\u00c7A\",     meaning: \"Demir zincirinin akmas\u0131 i\u00e7in a\u00e7\u0131lm\u0131\u015f deliklere ge\u00e7irilmi\u015f madeni oluk\" },\n  { word: \"FENER\",    meaning: \"Denizde seyir halindeyken yak\u0131lan ve uzaktan g\u00f6r\u00fclebilen \u0131\u015f\u0131k i\u015fareti\" },\n  { word: \"\u00c7IMA\",     meaning: \"Halat, elincesi veya yomalar\u0131n u\u00e7 k\u0131sm\u0131\" },\n  { word: \"FLAMA\",    meaning: \"\u00dc\u00e7 k\u00f6\u015feli sancak\" },\n  { word: \"FLADOR\",   meaning: \"\u00c7arm\u0131hlar\u0131n gerilmesi i\u00e7in kullan\u0131lan sistem\" },\n  { word: \"RADANSA\",  meaning: \"Halatlar\u0131n \u00e7\u0131malar\u0131nda kasa yapmakta kullan\u0131lan madeni halka bi\u00e7imindeki malzeme\" },\n];\n\n\/\/ Kart oyunu i\u00e7in do\u011fru\/yanl\u0131\u015f \u00e7iftleri\nconst SWIPE_CARDS = [\n  { term: \"PRUVA\",      correct_def: \"Teknenin \u00f6n ve ileri k\u0131sm\u0131d\u0131r\",                    shown_def: \"Teknenin \u00f6n ve ileri k\u0131sm\u0131d\u0131r\",                    is_correct: true },\n  { term: \"PUPA\",       correct_def: \"Geminin arka taraf\u0131, k\u0131\u00e7 b\u00f6lgesidir\",              shown_def: \"Geminin \u00f6n ve ba\u015f taraf\u0131d\u0131r\",                      is_correct: false },\n  { term: \"ISKELE\",     correct_def: \"Teknenin sol yar\u0131s\u0131d\u0131r\",                           shown_def: \"Teknenin sol yar\u0131s\u0131d\u0131r\",                           is_correct: true },\n  { term: \"SANCAK\",     correct_def: \"Teknenin sa\u011f yar\u0131s\u0131d\u0131r\",                           shown_def: \"Teknenin sol yar\u0131s\u0131d\u0131r\",                           is_correct: false },\n  { term: \"BORDA\",      correct_def: \"Su kesiminden yukar\u0131da kalan k\u0131s\u0131md\u0131r\",            shown_def: \"Su kesiminden yukar\u0131da kalan k\u0131s\u0131md\u0131r\",            is_correct: true },\n  { term: \"HALAT\",      correct_def: \"B\u00fck\u00fclmeye ve \u00e7ekmeye uygun urgand\u0131r\",              shown_def: \"K\u00fcrek \u00e7ekmek i\u00e7in kullan\u0131lan alettir\",             is_correct: false },\n  { term: \"RIHTIM\",     correct_def: \"Gemilerin yana\u015f\u0131p ba\u011fland\u0131\u011f\u0131 k\u0131y\u0131 yap\u0131s\u0131d\u0131r\",     shown_def: \"Gemilerin yana\u015f\u0131p ba\u011fland\u0131\u011f\u0131 k\u0131y\u0131 yap\u0131s\u0131d\u0131r\",     is_correct: true },\n  { term: \"G\u00dcVERTE\",    correct_def: \"Ba\u015ftan k\u0131\u00e7a d\u00f6\u015fenmi\u015f platform d\u00f6\u015femedir\",          shown_def: \"Geminin su alt\u0131nda kalan \u0131slak k\u0131sm\u0131d\u0131r\",          is_correct: false },\n  { term: \"D\u00dcMEN\",      correct_def: \"Gemiyi y\u00f6nlendiren k\u0131\u00e7taki yelpaze \u015feklindeki par\u00e7ad\u0131r\", shown_def: \"Gemiyi y\u00f6nlendiren k\u0131\u00e7taki yelpaze \u015feklindeki par\u00e7ad\u0131r\", is_correct: true },\n  { term: \"SEREN\",      correct_def: \"Yelken a\u00e7mak i\u00e7in yatay ba\u011flanm\u0131\u015f g\u00f6nderdir\",      shown_def: \"Direkleri dik tutan tel halatlar\u0131n ad\u0131d\u0131r\",        is_correct: false },\n  { term: \"OMURGA\",     correct_def: \"Ba\u015ftan k\u0131\u00e7a uzanan teknenin ana iskeleti\",         shown_def: \"Ba\u015ftan k\u0131\u00e7a uzanan teknenin ana iskeleti\",         is_correct: true },\n  { term: \"PALANGA\",    correct_def: \"Halat ve iki makaradan olu\u015fan kald\u0131rma mekanizmas\u0131\", shown_def: \"Tekneyi dibe ba\u011flayan demir sistemdir\",          is_correct: false },\n  { term: \"YALPA\",      correct_def: \"Teknenin sancak-iskele aras\u0131nda dalgalarla sallanmas\u0131\", shown_def: \"Teknenin sancak-iskele aras\u0131nda dalgalarla sallanmas\u0131\", is_correct: true },\n  { term: \"KARINA\",     correct_def: \"Teknenin su alt\u0131nda kalan d\u0131\u015f k\u0131sm\u0131d\u0131r\",           shown_def: \"Teknenin g\u00fcverte \u00fcst\u00fcndeki k\u0131sm\u0131d\u0131r\",              is_correct: false },\n  { term: \"TRAMOLA\",    correct_def: \"Pruvan\u0131n r\u00fczgara al\u0131narak kontra de\u011fi\u015ftirme d\u00f6n\u00fc\u015f\u00fcd\u00fcr\", shown_def: \"Pruvan\u0131n r\u00fczgara al\u0131narak kontra de\u011fi\u015ftirme d\u00f6n\u00fc\u015f\u00fcd\u00fcr\", is_correct: true },\n  { term: \"IRGAT\",      correct_def: \"Demir almada ve gemiyi yana\u015ft\u0131rmada kullan\u0131lan mekanizmad\u0131r\", shown_def: \"Denizin derinli\u011fini \u00f6l\u00e7mek i\u00e7in kullan\u0131l\u0131r\", is_correct: false },\n  { term: \"SINTINE\",    correct_def: \"Teknenin su alt\u0131nda kalan \u0131slak k\u0131sm\u0131n\u0131n i\u00e7 taraf\u0131\", shown_def: \"Teknenin su alt\u0131nda kalan \u0131slak k\u0131sm\u0131n\u0131n i\u00e7 taraf\u0131\", is_correct: true },\n  { term: \"SAFRA\",      correct_def: \"Teknede denge i\u00e7in sintineye konan a\u011f\u0131rl\u0131kt\u0131r\",    shown_def: \"Yelkeni k\u00fc\u00e7\u00fcltmek i\u00e7in yap\u0131lan i\u015flemdir\",          is_correct: false },\n  { term: \"PUSLA\",      correct_def: \"Rota ve kerteriz almaya yarayan seyir aletidir\",   shown_def: \"Rota ve kerteriz almaya yarayan seyir aletidir\",   is_correct: true },\n  { term: \"\u00c7ARMIK\",     correct_def: \"Direklerin bordaya ba\u011flanan tel halatlar\u0131d\u0131r\",     shown_def: \"Yelkenlerin k\u00f6\u015felerine verilen isimdir\",            is_correct: false },\n];\n\n\/\/ Wordscapes i\u00e7in kelimeler\nconst WS_WORDS = [\n  { word: \"PRUVA\",    clue: \"Bir teknenin \u00f6n taraf\u0131, ileri istikameti\" },\n  { word: \"PUPA\",     clue: \"Geminin arka taraf\u0131, k\u0131\u00e7 b\u00f6lgesi\" },\n  { word: \"BORDA\",    clue: \"Su kesiminden yukar\u0131da kalan teknenin yan k\u0131sm\u0131\" },\n  { word: \"HALAT\",    clue: \"B\u00fck\u00fclmeye ve \u00e7ekmeye uygun, bitkisel veya \u00e7elikten yap\u0131lm\u0131\u015f urgan\" },\n  { word: \"RIHTIM\",   clue: \"Gemilerin yana\u015f\u0131p ba\u011fland\u0131\u011f\u0131 k\u0131y\u0131 yap\u0131s\u0131\" },\n  { word: \"SEREN\",    clue: \"Yelken a\u00e7mak i\u00e7in direklere yatay ba\u011flanm\u0131\u015f g\u00f6nder\" },\n  { word: \"D\u00dcMEN\",    clue: \"Gemiyi y\u00f6nlendiren, k\u0131\u00e7ta monte edilen yelpaze \u015feklindeki par\u00e7a\" },\n  { word: \"G\u00dcVERTE\",  clue: \"Gemilerde ba\u015ftan k\u0131\u00e7a d\u00f6\u015fenmi\u015f platform veya d\u00f6\u015feme\" },\n  { word: \"KARINA\",   clue: \"Bir teknenin su alt\u0131nda kalan \u0131slak d\u0131\u015f k\u0131sm\u0131\" },\n  { word: \"TRAMOLA\",  clue: \"Yelkenle seyirde pruvan\u0131n r\u00fczgara al\u0131narak kontra de\u011fi\u015ftirme d\u00f6n\u00fc\u015f\u00fc\" },\n  { word: \"SINTINE\",  clue: \"Teknenin su alt\u0131nda kalan \u0131slak k\u0131sm\u0131n\u0131n i\u00e7 taraf\u0131\" },\n  { word: \"PALAMAR\",  clue: \"Gemilerin r\u0131ht\u0131ma ba\u011flanmas\u0131nda halattan kal\u0131n yomalara verilen isim\" },\n  { word: \"YALPA\",    clue: \"Teknenin dalgalarla sancaktan iskeleye sallanmas\u0131\" },\n  { word: \"PUSLA\",    clue: \"Rota ve kerteriz almaya yarayan m\u0131knat\u0131sl\u0131 seyir aleti\" },\n  { word: \"SAFRA\",    clue: \"Teknede denge sa\u011flamak i\u00e7in sintineye konan a\u011f\u0131rl\u0131k\" },\n];\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/  YARDIMCI\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nlet currentGame = null;\nlet currentRound = 1;\nconst WORDS_PER_ROUND = 5;\nconst TOTAL_ROUNDS = 20;\n\nfunction showScreen(id) {\n  document.querySelectorAll('.screen').forEach(s => s.classList.add('hidden'));\n  document.getElementById(id).classList.remove('hidden');\n}\n\nfunction goMenu() { showScreen('screen-menu'); }\n\nfunction shuffle(arr) {\n  const a = [...arr];\n  for (let i = a.length - 1; i > 0; i--) {\n    const j = Math.floor(Math.random() * (i + 1));\n    [a[i], a[j]] = [a[j], a[i]];\n  }\n  return a;\n}\n\nfunction getWordsForRound(pool, round) {\n  const start = ((round - 1) * WORDS_PER_ROUND) % pool.length;\n  const result = [];\n  for (let i = 0; i < WORDS_PER_ROUND; i++) {\n    result.push(pool[(start + i) % pool.length]);\n  }\n  return result;\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/  OYUN SE\u00c7\u0130M\u0130 & TUR MEN\u00dcS\u00dc\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nfunction selectGame(game) {\n  currentGame = game;\n  const titles = { wordle: '\ud83d\udd24 KEL\u0130ME AVCISI', swipe: '\ud83d\udc46 DO\u011eRU\/YANLI\u015e', wordscapes: '\ud83e\udde9 HARF BULMA\u00c7A' };\n  document.getElementById('round-game-title').textContent = titles[game];\n\n  const grid = document.getElementById('round-grid');\n  grid.innerHTML = '';\n  for (let i = 1; i <= TOTAL_ROUNDS; i++) {\n    const btn = document.createElement('div');\n    btn.className = 'round-btn';\n    btn.innerHTML = `${i}<span>Tur<\/span>`;\n    btn.onclick = () => startGameRound(game, i);\n    grid.appendChild(btn);\n  }\n  showScreen('screen-rounds');\n}\n\nfunction startGameRound(game, round) {\n  currentRound = round;\n  if (game === 'wordle') startWordle(round);\n  else if (game === 'swipe') startSwipe(round);\n  else if (game === 'wordscapes') startWordscapes(round);\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/  OYUN 1 \u2014 WORDLE TARZI\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nlet wWords = [], wIndex = 0, wScore = 0;\nlet wCurrent = '', wGuesses = [], wMaxGuesses = 6, wGuessCount = 0;\nlet wGameOver = false;\n\nfunction startWordle(round) {\n  wWords = getWordsForRound(TERMS.filter((v,i,a) => a.findIndex(x=>x.word===v.word)===i), round);\n  wIndex = 0; wScore = 0;\n  loadWordleWord();\n  showScreen('screen-wordle');\n}\n\nfunction loadWordleWord() {\n  const item = wWords[wIndex];\n  wCurrent = item.word.toUpperCase();\n  wGuesses = [];\n  wGuessCount = 0;\n  wGameOver = false;\n\n  document.getElementById('w-meaning').textContent = item.meaning;\n  document.getElementById('w-score').textContent = wScore;\n  document.getElementById('w-round-info').textContent = `Kelime ${wIndex+1}\/5 \u2014 Tur ${currentRound}`;\n  document.getElementById('w-progress').style.width = `${(wIndex\/5)*100}%`;\n  document.getElementById('w-attempts').textContent = `${wMaxGuesses} hakk\u0131n\u0131z var`;\n\n  renderWordleBoxes();\n  buildKeyboard();\n}\n\nlet wCurrentInput = '';\n\nfunction renderWordleBoxes() {\n  const cont = document.getElementById('w-boxes');\n  cont.innerHTML = '';\n  const len = wCurrent.length;\n  \/\/ Her sat\u0131rda max 5 kutu\n  const perRow = 5;\n  const rows = Math.ceil((len * wMaxGuesses) \/ perRow);\n  \/\/ Sat\u0131r sat\u0131r olu\u015ftur: her tahmin i\u00e7in bir sat\u0131r\n  for (let r = 0; r < wMaxGuesses; r++) {\n    const rowDiv = document.createElement('div');\n    rowDiv.className = 'letter-row';\n    rowDiv.id = `w-row-${r}`;\n    for (let c = 0; c < len; c++) {\n      const box = document.createElement('div');\n      box.className = 'letter-box';\n      box.id = `wbox-${r}-${c}`;\n      rowDiv.appendChild(box);\n    }\n    cont.appendChild(rowDiv);\n  }\n  updateActiveBoxes();\n}\n\nfunction showAnswer() {\n  wGameOver = true;\n  showWordleResult(false);\n}\n\nfunction updateActiveBoxes() {\n  const len = wCurrent.length;\n  const curRow = wGuesses.length;\n  for (let c = 0; c < len; c++) {\n    const box = document.getElementById(`wbox-${curRow}-${c}`);\n    if (!box) continue;\n    box.textContent = wCurrentInput[c] || '';\n    box.className = 'letter-box' + (c === wCurrentInput.length && !wGameOver ? ' active' : '');\n  }\n}\n\nfunction buildKeyboard() {\n  const rows = [\n    ['Q','W','E','R','T','Y','U','I','O','P'],\n    ['A','S','D','F','G','H','J','K','L'],\n    ['S\u0130L','Z','X','C','V','B','N','M','G\u00d6NDER']\n  ];\n  rows.forEach((row, ri) => {\n    const el = document.getElementById(`kb-row${ri+1}`);\n    el.innerHTML = '';\n    row.forEach(key => {\n      const btn = document.createElement('button');\n      btn.className = 'kb-key' + (key.length > 1 ? ' wide' : '');\n      btn.textContent = key;\n      btn.dataset.key = key;\n      btn.onclick = () => handleKey(key === 'G\u00d6NDER' ? 'ENTER' : key === 'S\u0130L' ? 'BACKSPACE' : key);\n      el.appendChild(btn);\n    });\n  });\n}\n\nfunction handleKey(key) {\n  if (wGameOver) return;\n  if (key === 'ENTER') { submitWordleGuess(); return; }\n  if (key === 'BACKSPACE') { wCurrentInput = wCurrentInput.slice(0,-1); updateActiveBoxes(); return; }\n  if (wCurrentInput.length < wCurrent.length) {\n    wCurrentInput += key.toUpperCase();\n    updateActiveBoxes();\n  }\n}\n\ndocument.addEventListener('keydown', e => {\n  if (!document.getElementById('screen-wordle').classList.contains('hidden')) {\n    if (e.key === 'Enter') handleKey('ENTER');\n    else if (e.key === 'Backspace') handleKey('BACKSPACE');\n    else if (\/^[a-zA-Z\u011f\u00fc\u015f\u0131\u00f6\u00e7\u011e\u00dc\u015e\u0130\u00d6\u00c7]$\/.test(e.key)) handleKey(e.key.toUpperCase());\n  }\n});\n\nfunction submitWordleGuess() {\n  if (wCurrentInput.length !== wCurrent.length) {\n    shakeBoxes(); return;\n  }\n  const guess = wCurrentInput.toUpperCase();\n  const result = evaluateGuess(guess, wCurrent);\n  wGuesses.push({ guess, result });\n  wGuessCount++;\n\n  \/\/ Ge\u00e7ici renklendirme (en son tahmin sat\u0131r\u0131 olarak g\u00f6ster)\n  colorLastGuess(guess, result);\n  updateKeyboard(guess, result);\n  wCurrentInput = '';\n  document.getElementById('w-attempts').textContent = `${wMaxGuesses - wGuessCount} hakk\u0131n\u0131z kald\u0131`;\n\n  const won = result.every(r => r === 'correct');\n  if (won || wGuessCount >= wMaxGuesses) {\n    wGameOver = true;\n    if (won) wScore += 10;\n    setTimeout(() => showWordleResult(won), 600);\n  } else {\n    updateActiveBoxes();\n  }\n}\n\nfunction evaluateGuess(guess, answer) {\n  const result = Array(answer.length).fill('wrong');\n  const ansArr = answer.split('');\n  const gArr = guess.split('');\n  \/\/ exact\n  gArr.forEach((ch, i) => { if (ch === ansArr[i]) { result[i] = 'correct'; ansArr[i] = null; } });\n  \/\/ present\n  gArr.forEach((ch, i) => {\n    if (result[i] !== 'correct') {\n      const ai = ansArr.indexOf(ch);\n      if (ai !== -1) { result[i] = 'wrong-pos'; ansArr[ai] = null; }\n    }\n  });\n  return result;\n}\n\nfunction colorLastGuess(guess, result) {\n  const rowIdx = wGuesses.length - 1;\n  guess.split('').forEach((ch, c) => {\n    const box = document.getElementById(`wbox-${rowIdx}-${c}`);\n    if (!box) return;\n    box.textContent = ch;\n    box.className = 'letter-box ' + result[c];\n  });\n  \/\/ Sonraki sat\u0131r aktif\n  updateActiveBoxes();\n}\n\nfunction updateKeyboard(guess, result) {\n  guess.split('').forEach((ch, i) => {\n    const btn = document.querySelector(`[data-key=\"${ch}\"]`);\n    if (!btn) return;\n    if (result[i] === 'correct') btn.className = 'kb-key correct';\n    else if (result[i] === 'wrong-pos' && !btn.classList.contains('correct')) btn.className = 'kb-key wrong-pos';\n    else if (!btn.classList.contains('correct') && !btn.classList.contains('wrong-pos')) btn.className = 'kb-key wrong';\n  });\n}\n\nfunction shakeBoxes() {\n  const boxes = document.querySelectorAll('#w-boxes .letter-box.active, #w-boxes .letter-box:nth-child(-n+' + wCurrent.length + ')');\n  boxes.forEach(b => { b.classList.add('shake'); setTimeout(()=>b.classList.remove('shake'),400); });\n}\n\nfunction showWordleResult(won) {\n  document.getElementById('wr-emoji').textContent = won ? '\ud83c\udf89' : '\ud83d\ude14';\n  document.getElementById('wr-word').textContent = wCurrent;\n  document.getElementById('wr-meaning').textContent = wWords[wIndex].meaning;\n  document.getElementById('wr-status').textContent = won ? '\u2713 Do\u011fru Bildiniz!' : '\u2717 Bu seferlik olmad\u0131';\n  document.getElementById('wr-status').className = 'result-status ' + (won ? 'win' : 'lose');\n\n  const nextBtn = document.getElementById('wr-next-btn');\n  if (wIndex < wWords.length - 1) {\n    nextBtn.textContent = 'Devam Et \u2192';\n    nextBtn.onclick = () => { wIndex++; loadWordleWord(); showScreen('screen-wordle'); };\n  } else {\n    nextBtn.textContent = 'Turu Bitir \ud83c\udfc1';\n    nextBtn.onclick = () => showWordleEnd();\n  }\n  showScreen('screen-wordle-result');\n}\n\nfunction showWordleEnd() {\n  document.getElementById('we-correct').textContent = wScore \/ 10;\n  document.getElementById('we-score').textContent = wScore;\n  showScreen('screen-wordle-end');\n}\n\nfunction retryWordle() {\n  wIndex; \/\/ ayn\u0131 kelimeyi tekrar\n  const savedIndex = wIndex;\n  wCurrentInput = '';\n  loadWordleWord();\n  showScreen('screen-wordle');\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/  OYUN 2 \u2014 KART KAYDIRMA\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nlet sCards = [], sIndex = 0, sScore = 0;\nlet sBatchCorrect = 0, sBatchWrong = 0, sBatchHistory = [];\nlet sBatchStart = 0;\n\nfunction startSwipe(round) {\n  \/\/ Her tur 5 kart g\u00f6ster, ama \u00f6zet her 10'da bir\n  const allCards = shuffle([...SWIPE_CARDS]);\n  const start = ((round - 1) * 5) % allCards.length;\n  sCards = [];\n  for (let i = 0; i < 20; i++) sCards.push(allCards[(start + i) % allCards.length]);\n  sIndex = 0; sScore = 0; sBatchCorrect = 0; sBatchWrong = 0; sBatchHistory = []; sBatchStart = 0;\n  loadSwipeCard();\n  showScreen('screen-swipe');\n  initSwipeDrag();\n}\n\nfunction loadSwipeCard() {\n  if (sIndex >= sCards.length) { goMenu(); return; }\n  const card = sCards[sIndex];\n  document.getElementById('s-term').textContent = card.term;\n  document.getElementById('s-def').textContent = card.shown_def;\n  document.getElementById('s-score').textContent = sScore;\n  document.getElementById('s-round-info').textContent = `Soru ${sIndex+1}\/${sCards.length} \u2014 Tur ${currentRound}`;\n  document.getElementById('s-progress').style.width = `${(sIndex\/sCards.length)*100}%`;\n\n  const swipeCard = document.getElementById('swipe-card');\n  swipeCard.style.transform = '';\n  document.getElementById('overlay-right').style.opacity = 0;\n  document.getElementById('overlay-left').style.opacity = 0;\n}\n\nfunction swipeAnswer(userSaysCorrect) {\n  const card = sCards[sIndex];\n  const isRight = (userSaysCorrect === card.is_correct);\n  if (isRight) { sScore += 5; sBatchCorrect++; }\n  else { sBatchWrong++; }\n\n  sBatchHistory.push({ term: card.term, def: card.correct_def, shown: card.shown_def, userRight: isRight, cardCorrect: card.is_correct });\n\n  \/\/ Animasyon\n  const swipeCard = document.getElementById('swipe-card');\n  swipeCard.style.transition = 'transform 0.4s, opacity 0.4s';\n  swipeCard.style.transform = userSaysCorrect ? 'translateX(200%) rotate(20deg)' : 'translateX(-200%) rotate(-20deg)';\n  swipeCard.style.opacity = '0';\n\n  sIndex++;\n  setTimeout(() => {\n    swipeCard.style.transition = '';\n    swipeCard.style.opacity = '1';\n\n    \/\/ \u00d6zet her 10 soruda\n    if ((sIndex - sBatchStart) > 0 && (sIndex - sBatchStart) % 10 === 0) {\n      showSwipeSummary();\n    } else {\n      loadSwipeCard();\n    }\n  }, 420);\n}\n\nfunction showSwipeSummary() {\n  document.getElementById('ss-correct').textContent = sBatchCorrect;\n  document.getElementById('ss-wrong').textContent = sBatchWrong;\n  const list = document.getElementById('ss-list');\n  list.innerHTML = '';\n  sBatchHistory.slice(-10).forEach(h => {\n    const li = document.createElement('li');\n    li.innerHTML = `\n      <span class=\"s-icon\">${h.userRight ? '\u2705' : '\u274c'}<\/span>\n      <div>\n        <span class=\"s-term\">${h.term}<\/span>\n        <span class=\"s-def\">Do\u011fru tan\u0131m: ${h.def}<\/span>\n        ${!h.cardCorrect ? `<span class=\"s-def\" style=\"color:var(--danger)\">G\u00f6sterilen yanl\u0131\u015ft\u0131!<\/span>` : ''}\n      <\/div>`;\n    list.appendChild(li);\n  });\n  showScreen('screen-swipe-summary');\n}\n\nfunction continueSummary() {\n  sBatchStart = sIndex;\n  sBatchCorrect = 0; sBatchWrong = 0; sBatchHistory = [];\n  if (sIndex >= sCards.length) { goMenu(); return; }\n  loadSwipeCard();\n  showScreen('screen-swipe');\n}\n\n\/\/ S\u00fcr\u00fckleme\nfunction initSwipeDrag() {\n  const card = document.getElementById('swipe-card');\n  let startX = 0, isDragging = false;\n\n  function onStart(x) { startX = x; isDragging = true; card.classList.add('dragging'); }\n  function onMove(x) {\n    if (!isDragging) return;\n    const dx = x - startX;\n    card.style.transform = `translateX(${dx}px) rotate(${dx * 0.05}deg)`;\n    document.getElementById('overlay-right').style.opacity = Math.max(0, dx \/ 100);\n    document.getElementById('overlay-left').style.opacity = Math.max(0, -dx \/ 100);\n  }\n  function onEnd(x) {\n    if (!isDragging) return; isDragging = false; card.classList.remove('dragging');\n    const dx = x - startX;\n    if (dx > 80) swipeAnswer(true);\n    else if (dx < -80) swipeAnswer(false);\n    else { card.style.transform = ''; document.getElementById('overlay-right').style.opacity=0; document.getElementById('overlay-left').style.opacity=0; }\n  }\n\n  card.addEventListener('mousedown', e => onStart(e.clientX));\n  document.addEventListener('mousemove', e => { if (isDragging) onMove(e.clientX); });\n  document.addEventListener('mouseup', e => onEnd(e.clientX));\n  card.addEventListener('touchstart', e => onStart(e.touches[0].clientX), {passive:true});\n  card.addEventListener('touchmove', e => onMove(e.touches[0].clientX), {passive:true});\n  card.addEventListener('touchend', e => onEnd(e.changedTouches[0].clientX));\n}\n\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\n\/\/  OYUN 3 \u2014 WORDSCAPES\n\/\/ \u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\u2550\nlet wsWords = [], wsIndex = 0, wsScore = 0;\nlet wsCurrentWord = '', wsCurrentLetters = [], wsUsed = [], wsInput = '';\nlet wsCorrectCount = 0;\n\nfunction startWordscapes(round) {\n  wsWords = getWordsForRound(shuffle([...WS_WORDS]), round);\n  wsIndex = 0; wsScore = 0; wsCorrectCount = 0;\n  loadWsWord();\n  showScreen('screen-ws');\n}\n\nfunction loadWsWord() {\n  const item = wsWords[wsIndex];\n  wsCurrentWord = item.word.toUpperCase();\n  wsInput = '';\n  wsUsed = [];\n\n  \/\/ Harfleri kar\u0131\u015ft\u0131r + fazladan 2-3 harf ekle\n  const extra = 'ABCDEIKLMNOPRSTUYZ';\n  let letters = wsCurrentWord.split('');\n  const extraCount = Math.floor(Math.random() * 2) + 2;\n  for (let i = 0; i < extraCount; i++) letters.push(extra[Math.floor(Math.random() * extra.length)]);\n  wsCurrentLetters = shuffle(letters);\n\n  document.getElementById('ws-clue').textContent = item.clue;\n  document.getElementById('ws-score').textContent = wsScore;\n  document.getElementById('ws-round-info').textContent = `Kelime ${wsIndex+1}\/5 \u2014 Tur ${currentRound}`;\n  document.getElementById('ws-progress').style.width = `${(wsIndex\/5)*100}%`;\n  document.getElementById('ws-feedback').textContent = '';\n  document.getElementById('ws-current').textContent = '_';\n\n  renderWsBoxes();\n  renderWsPool();\n}\n\nfunction renderWsBoxes() {\n  const cont = document.getElementById('ws-boxes');\n  cont.innerHTML = '';\n  wsCurrentWord.split('').forEach((ch, i) => {\n    const box = document.createElement('div');\n    box.className = 'ws-box';\n    box.id = `wsbox-${i}`;\n    cont.appendChild(box);\n  });\n}\n\nfunction renderWsPool() {\n  const cont = document.getElementById('ws-pool');\n  cont.innerHTML = '';\n  wsCurrentLetters.forEach((ch, i) => {\n    const btn = document.createElement('div');\n    btn.className = 'ws-letter' + (wsUsed.includes(i) ? ' used' : '');\n    btn.textContent = ch;\n    btn.onclick = () => wsAddLetter(ch, i, btn);\n    cont.appendChild(btn);\n  });\n}\n\nfunction wsAddLetter(ch, idx, btn) {\n  if (wsUsed.includes(idx)) return;\n  if (wsInput.length >= wsCurrentWord.length) return;\n  wsUsed.push(idx);\n  wsInput += ch;\n  btn.classList.add('used');\n  updateWsCurrent();\n}\n\nfunction updateWsCurrent() {\n  document.getElementById('ws-current').textContent = wsInput || '_';\n  \/\/ kutular\u0131 doldur\n  wsCurrentWord.split('').forEach((_, i) => {\n    const box = document.getElementById(`wsbox-${i}`);\n    if (box) box.textContent = wsInput[i] || '';\n  });\n}\n\nfunction wsClear() { wsInput = ''; wsUsed = []; renderWsPool(); updateWsCurrent(); }\n\nfunction wsShuffle() { wsCurrentLetters = shuffle(wsCurrentLetters); wsInput = ''; wsUsed = []; renderWsPool(); updateWsCurrent(); }\n\nfunction wsSubmit() {\n  if (wsInput.length !== wsCurrentWord.length) {\n    setWsFeedback('Kelimeyi tamamla!', false); return;\n  }\n  const won = wsInput.toUpperCase() === wsCurrentWord;\n  if (won) {\n    wsScore += 10; wsCorrectCount++;\n    document.getElementById('ws-boxes').querySelectorAll('.ws-box').forEach(b => b.classList.add('correct-all'));\n    setWsFeedback('\u2713 Do\u011fru!', true);\n  } else {\n    setWsFeedback(`\u2717 Yanl\u0131\u015f! Do\u011frusu: ${wsCurrentWord}`, false);\n  }\n  setTimeout(() => showWsResult(won), 800);\n}\n\nfunction setWsFeedback(msg, ok) {\n  const fb = document.getElementById('ws-feedback');\n  fb.textContent = msg;\n  fb.className = 'ws-feedback ' + (ok ? 'ok' : 'err');\n}\n\nfunction showWsResult(won) {\n  document.getElementById('wsr-emoji').textContent = won ? '\ud83c\udf89' : '\ud83d\ude14';\n  document.getElementById('wsr-word').textContent = wsCurrentWord;\n  document.getElementById('wsr-meaning').textContent = wsWords[wsIndex].clue;\n  document.getElementById('wsr-status').textContent = won ? '\u2713 Do\u011fru Bildiniz!' : '\u2717 Bu seferlik olmad\u0131';\n  document.getElementById('wsr-status').className = 'result-status ' + (won ? 'win' : 'lose');\n\n  const nextBtn = document.getElementById('wsr-next-btn');\n  if (wsIndex < wsWords.length - 1) {\n    nextBtn.textContent = 'Devam Et \u2192';\n    nextBtn.onclick = () => { wsIndex++; loadWsWord(); showScreen('screen-ws'); };\n  } else {\n    nextBtn.textContent = 'Turu Bitir \ud83c\udfc1';\n    nextBtn.onclick = () => {\n      document.getElementById('wse-correct').textContent = wsCorrectCount;\n      document.getElementById('wse-score').textContent = wsScore;\n      showScreen('screen-ws-end');\n    };\n  }\n  showScreen('screen-ws-result');\n}\n\nfunction wsRetry() { loadWsWord(); showScreen('screen-ws'); }\n<\/script>\n<\/body>\n<\/html>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-9b7e4f0 e-con e-atomic-element e-flexbox-base e-a4c5772 \" data-id=\"9b7e4f0\" data-element_type=\"e-flexbox\" data-e-type=\"e-flexbox\" data-interaction-id=\"9b7e4f0\">\n    \n<\/div>\n<div class=\"elementor-element elementor-element-8dafd7f e-flex e-con-boxed e-con e-parent\" data-id=\"8dafd7f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Oyunlar &#8211; Denizci Akademi \ud83e\udded DEN\u0130ZC\u0130L\u0130K M\u0130N\u0130 OYUNLARI Denizcili\u011fi oyun oynayarak \u00f6\u011fren Mini Oyunlar &#8211; Denizci Akademi \u2693 DEN\u0130ZC\u0130 AKADEM\u0130 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"no-sidebar","site-content-layout":"","ast-site-content-layout":"full-width-container","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"class_list":["post-107","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mini Oyunlar - Denizci Akademi<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mini Oyunlar - Denizci Akademi\" \/>\n<meta property=\"og:description\" content=\"Oyunlar &#8211; Denizci Akademi \ud83e\udded DEN\u0130ZC\u0130L\u0130K M\u0130N\u0130 OYUNLARI Denizcili\u011fi oyun oynayarak \u00f6\u011fren Mini Oyunlar &#8211; Denizci Akademi \u2693 DEN\u0130ZC\u0130 AKADEM\u0130 [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/\" \/>\n<meta property=\"og:site_name\" content=\"Denizci Akademi\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-08T15:11:09+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data1\" content=\"29 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/denizciakademi.com\\\/index.php\\\/mini-oyunlar\\\/\",\"url\":\"https:\\\/\\\/denizciakademi.com\\\/index.php\\\/mini-oyunlar\\\/\",\"name\":\"Mini Oyunlar - Denizci Akademi\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/denizciakademi.com\\\/#website\"},\"datePublished\":\"2026-06-08T15:09:28+00:00\",\"dateModified\":\"2026-06-08T15:11:09+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/denizciakademi.com\\\/index.php\\\/mini-oyunlar\\\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/denizciakademi.com\\\/index.php\\\/mini-oyunlar\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/denizciakademi.com\\\/index.php\\\/mini-oyunlar\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\\\/\\\/denizciakademi.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mini Oyunlar\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/denizciakademi.com\\\/#website\",\"url\":\"https:\\\/\\\/denizciakademi.com\\\/\",\"name\":\"Denizci Akademi\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/denizciakademi.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mini Oyunlar - Denizci Akademi","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/","og_locale":"tr_TR","og_type":"article","og_title":"Mini Oyunlar - Denizci Akademi","og_description":"Oyunlar &#8211; Denizci Akademi \ud83e\udded DEN\u0130ZC\u0130L\u0130K M\u0130N\u0130 OYUNLARI Denizcili\u011fi oyun oynayarak \u00f6\u011fren Mini Oyunlar &#8211; Denizci Akademi \u2693 DEN\u0130ZC\u0130 AKADEM\u0130 [&hellip;]","og_url":"https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/","og_site_name":"Denizci Akademi","article_modified_time":"2026-06-08T15:11:09+00:00","twitter_card":"summary_large_image","twitter_misc":{"Tahmini okuma s\u00fcresi":"29 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/","url":"https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/","name":"Mini Oyunlar - Denizci Akademi","isPartOf":{"@id":"https:\/\/denizciakademi.com\/#website"},"datePublished":"2026-06-08T15:09:28+00:00","dateModified":"2026-06-08T15:11:09+00:00","breadcrumb":{"@id":"https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/denizciakademi.com\/index.php\/mini-oyunlar\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/denizciakademi.com\/"},{"@type":"ListItem","position":2,"name":"Mini Oyunlar"}]},{"@type":"WebSite","@id":"https:\/\/denizciakademi.com\/#website","url":"https:\/\/denizciakademi.com\/","name":"Denizci Akademi","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/denizciakademi.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"}]}},"_links":{"self":[{"href":"https:\/\/denizciakademi.com\/index.php\/wp-json\/wp\/v2\/pages\/107","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/denizciakademi.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/denizciakademi.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/denizciakademi.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/denizciakademi.com\/index.php\/wp-json\/wp\/v2\/comments?post=107"}],"version-history":[{"count":7,"href":"https:\/\/denizciakademi.com\/index.php\/wp-json\/wp\/v2\/pages\/107\/revisions"}],"predecessor-version":[{"id":114,"href":"https:\/\/denizciakademi.com\/index.php\/wp-json\/wp\/v2\/pages\/107\/revisions\/114"}],"wp:attachment":[{"href":"https:\/\/denizciakademi.com\/index.php\/wp-json\/wp\/v2\/media?parent=107"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}