/* ==========================================================================
   FETİH VAKTİ — KİMLİK PORTALI
   Oyunun bordo / altın / parşömen dili (dist/styles.css --ks-c-* değerleri).
   Oyun kabuğundan bağımsız; harita, kaynak ya da köy durumu yok.
   ========================================================================== */
:root {
    --ks-a-bordo-1: #7a1113;
    --ks-a-bordo-2: #5a0c0e;
    --ks-a-bordo-3: #3d0708;
    --ks-a-kahve-3: #2b1806;
    --ks-a-parsomen-1: #f3e3bf;
    --ks-a-parsomen-2: #e8d2a4;
    --ks-a-parsomen-3: #dcbf87;
    --ks-a-altin-1: #f2d489;
    --ks-a-altin-2: #c8992f;
    --ks-a-altin-3: #8c6716;
    --ks-a-ink: #2d1b0c;
    --ks-a-ink-2: #5b4225;
    --ks-a-hata: #8f1416;
    --ks-a-basari: #2f5d1f;
    --ks-a-odak: #1d4f91;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
    margin: 0;
    min-height: 100vh;
    background: radial-gradient(ellipse at top, var(--ks-a-bordo-1), var(--ks-a-bordo-3) 70%);
    color: var(--ks-a-ink);
    font-family: Georgia, "Times New Roman", serif;
    line-height: 1.5;
}

.ks-auth {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 48px 16px;
}

.ks-auth-card {
    width: 100%;
    max-width: 420px;
    background: linear-gradient(var(--ks-a-parsomen-1), var(--ks-a-parsomen-2));
    border: 2px solid var(--ks-a-altin-2);
    border-radius: 10px;
    box-shadow: 0 0 0 4px var(--ks-a-kahve-3), 0 12px 32px rgba(0, 0, 0, 0.45);
    padding: 28px 24px 24px;
}

.ks-auth-brand {
    margin: 0 0 4px;
    color: var(--ks-a-bordo-2);
    font-size: 14px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    text-align: center;
}

.ks-auth-env {
    margin: 0 auto 8px;
    width: max-content;
    max-width: 100%;
    padding: 2px 10px;
    border-radius: 999px;
    background: var(--ks-a-altin-1);
    color: var(--ks-a-ink);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.ks-auth h1 {
    margin: 0 0 8px;
    color: var(--ks-a-bordo-2);
    font-size: 26px;
    text-align: center;
}

.ks-auth-lead {
    margin: 0 0 16px;
    color: var(--ks-a-ink-2);
    font-size: 15px;
    text-align: center;
}

.ks-auth-status {
    margin: 0 0 16px;
    font-size: 15px;
    overflow-wrap: anywhere;
}
.ks-auth-status:empty { display: none; }
.ks-auth-status.is-hata,
.ks-auth-status.is-basari,
.ks-auth-status.is-bilgi {
    padding: 10px 12px;
    border-radius: 6px;
    border: 1px solid var(--ks-a-parsomen-3);
    background: #fbf3de;
}
.ks-auth-status.is-hata { color: var(--ks-a-hata); border-color: var(--ks-a-hata); }
.ks-auth-status.is-basari { color: var(--ks-a-basari); border-color: var(--ks-a-basari); }

.ks-auth form[hidden],
.ks-auth-panel[hidden] { display: none; }

.ks-auth-field { margin: 0 0 14px; }

.ks-auth-field label {
    display: block;
    margin: 0 0 4px;
    font-weight: bold;
    font-size: 15px;
}

.ks-auth-field input {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid var(--ks-a-altin-3);
    border-radius: 6px;
    background: #fffaf0;
    color: var(--ks-a-ink);
    font: inherit;
    font-size: 16px;
}

.ks-auth-hint {
    margin: -8px 0 14px;
    color: var(--ks-a-ink-2);
    font-size: 13px;
}

.ks-auth-submit {
    display: block;
    width: 100%;
    min-height: 46px;
    padding: 10px 16px;
    border: 1px solid var(--ks-a-altin-2);
    border-radius: 6px;
    background: linear-gradient(var(--ks-a-bordo-1), var(--ks-a-bordo-2));
    color: var(--ks-a-altin-1);
    font: inherit;
    font-size: 17px;
    font-weight: bold;
    cursor: pointer;
}
.ks-auth-submit:disabled { opacity: 0.6; cursor: progress; }
/* Step 4C-R: özetteki "Köyüme Git" bağlantısı düğme görünümünde. */
a.ks-auth-git {
    display: block;
    box-sizing: border-box;
    margin: 14px 0 6px;
    text-align: center;
    text-decoration: none;
}

.ks-auth-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-top: 18px;
    text-align: center;
}
.ks-auth-links a { color: var(--ks-a-bordo-1); font-size: 15px; }

/* Klavye odağı her zaman görünür. */
.ks-auth a:focus-visible,
.ks-auth input:focus-visible,
.ks-auth-submit:focus-visible {
    outline: 3px solid var(--ks-a-odak);
    outline-offset: 2px;
}

@media (max-width: 420px) {
    .ks-auth { padding: 24px 12px; }
    .ks-auth-card { padding: 22px 16px 18px; }
    .ks-auth h1 { font-size: 23px; }
}

/* Oyun karşılaması (Step 4A): oyun adı, dünyaya katılma, özet */
.ks-auth-step[hidden],
.ks-auth-secondary[hidden] { display: none; }

.ks-auth-step {
    margin: 16px 0 0;
    padding: 16px 0 0;
    border-top: 1px solid var(--ks-a-parsomen-3);
}

.ks-auth-step-title {
    margin: 0 0 8px;
    color: var(--ks-a-bordo-2);
    font-size: 20px;
    text-align: center;
}

.ks-auth-world {
    margin: 0 0 12px;
    text-align: center;
    font-size: 17px;
    overflow-wrap: anywhere;
}

.ks-auth-label {
    display: block;
    color: var(--ks-a-ink-2);
    font-size: 13px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.ks-auth-summary {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 6px 12px;
    margin: 0 0 12px;
    padding: 12px;
    border: 1px solid var(--ks-a-altin-2);
    border-radius: 6px;
    background: #fbf3de;
}
.ks-auth-summary dt { font-weight: bold; color: var(--ks-a-ink-2); }
.ks-auth-summary dd { margin: 0; overflow-wrap: anywhere; min-width: 0; }

.ks-auth-secondary {
    display: block;
    width: 100%;
    min-height: 44px;
    margin: 12px 0 0;
    padding: 8px 16px;
    border: 1px solid var(--ks-a-altin-3);
    border-radius: 6px;
    background: var(--ks-a-parsomen-1);
    color: var(--ks-a-bordo-2);
    font: inherit;
    font-size: 16px;
    cursor: pointer;
}
.ks-auth-secondary:focus-visible {
    outline: 3px solid var(--ks-a-odak);
    outline-offset: 2px;
}

/* Paylaşılan dünya haritası önizlemesi (Step 4B): yalnız dönen köyler çizilir;
   ızgara ve merkez çizgisi arka plandır (10 × 10 blok), hücre başına öğe yoktur. */
.ks-map-status {
    margin: 0 0 8px;
    font-size: 14px;
    text-align: center;
    color: var(--ks-a-ink-2);
    overflow-wrap: anywhere;
}
.ks-map-status:empty { display: none; }

.ks-map-board {
    position: relative;
    width: 100%;
    max-width: 360px;
    aspect-ratio: 1 / 1;
    margin: 0 auto 8px;
    border: 2px solid var(--ks-a-altin-2);
    border-radius: 6px;
    background-color: #efdcae;
    background-image:
        linear-gradient(rgba(91, 66, 37, 0.16) 1px, transparent 1px),
        linear-gradient(90deg, rgba(91, 66, 37, 0.16) 1px, transparent 1px);
    background-size: 10% 10%;
    overflow: hidden;
}
.ks-map-board::before,
.ks-map-board::after {
    content: '';
    position: absolute;
    background: rgba(122, 17, 19, 0.25);
    pointer-events: none;
}
.ks-map-board::before { left: 50%; top: 0; bottom: 0; width: 1px; }
.ks-map-board::after { top: 50%; left: 0; right: 0; height: 1px; }

.ks-map-village {
    position: absolute;
    z-index: 1;
    width: 14px;
    height: 14px;
    margin: -7px 0 0 -7px;
    padding: 0;
    border: 2px solid var(--ks-a-parsomen-1);
    border-radius: 50%;
    background: var(--ks-a-bordo-1);
    cursor: pointer;
}
.ks-map-village::after {
    content: '';
    position: absolute;
    inset: -9px;
}
.ks-map-village.is-mine {
    z-index: 2;
    width: 18px;
    height: 18px;
    margin: -9px 0 0 -9px;
    border-color: var(--ks-a-bordo-2);
    background: var(--ks-a-altin-2);
}
.ks-map-village.is-selected,
.ks-map-village:focus-visible {
    outline: 3px solid var(--ks-a-odak);
    outline-offset: 1px;
}

.ks-map-legend {
    margin: 0 0 10px;
    font-size: 13px;
    color: var(--ks-a-ink-2);
    text-align: center;
    overflow-wrap: anywhere;
}
.ks-map-key {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 4px 0 8px;
    border-radius: 50%;
    background: var(--ks-a-bordo-1);
    vertical-align: middle;
}
.ks-map-key.is-mine { background: var(--ks-a-altin-2); border: 1px solid var(--ks-a-bordo-2); }
.ks-map-range { display: block; margin-top: 4px; }
#ks-map-detail[hidden] { display: none; }

/* ==========================================================================
   v10.53.0 (UI-2) — PORTAL DÜZENİ: üstte afiş + logo; giriş / kayıt sayfalarında solda kutu, sağda tanıtım ve rehber (Bilge Alp);
   açık parşömen zemin, iki yanda sepya kenar süsleri (geniş ekranda). Görseller assets/gorsel/ (yerel; CSP img-src 'self').
   ========================================================================== */
body {
    background-color: #dcc595;
    background-image:
        radial-gradient(ellipse at 50% 0%, rgba(255, 246, 220, .55), rgba(255, 246, 220, 0) 60%),
        linear-gradient(180deg, #e6d3a6 0%, #dcc595 50%, #cdb281 100%);
    background-attachment: fixed;
    font-family: Tahoma, Verdana, Arial, sans-serif;
    color: #1e1408;
}
@media (min-width: 1100px) {
    body::before, body::after {
        content: ""; position: fixed; bottom: 0; z-index: 0; pointer-events: none;
        width: min(22vw, 330px); height: min(78vh, 500px); opacity: .55;
        background-repeat: no-repeat; background-size: contain; background-position: center bottom;
    }
    body::before { left: 0; background-image: url('gorsel/kabuk-sol.webp'); }
    body::after { right: 0; background-image: url('gorsel/kabuk-sag.webp'); }
}
.ks-auth-ust {
    position: relative; z-index: 1;
    height: 180px;
    background: #3a1e05 url('gorsel/giris-afis.webp') center / cover no-repeat;
    border-bottom: 3px solid #6f4a1c;
    box-shadow: inset 0 -40px 50px rgba(30, 12, 2, .45), 0 3px 8px rgba(40, 20, 5, .4);
    display: flex; justify-content: center; align-items: flex-end;
}
.ks-auth-logo {
    display: block; width: min(420px, 82vw); height: auto; margin-bottom: -46px;
    filter: drop-shadow(0 4px 6px rgba(0, 0, 0, .55));
}
.ks-auth { position: relative; z-index: 1; padding: 64px 16px 40px; gap: 28px; flex-wrap: wrap; }
.ks-auth.has-tanitim { align-items: stretch; }
.ks-auth-card {
    background: #f2e8d0;
    border: 1px solid #6f4a1c;
    border-radius: 4px;
    box-shadow: 0 0 0 1px #b79c6a, 0 0 0 3px #6f4a1c, 0 8px 22px rgba(60, 30, 5, .35);
}
.ks-auth-brand { color: #6f4a1c; font-family: Tahoma, Verdana, Arial, sans-serif; }
.ks-auth h1 { color: #1e1408; font-family: Tahoma, Verdana, Arial, sans-serif; font-size: 22px; }
.ks-auth-links a { color: #7a2a14; font-weight: 700; }
.ks-auth-submit {
    color: #fff;
    background: linear-gradient(180deg, #947a62 0%, #7b5c3d 22%, #6c4824 30%, #4f3218 100%);
    border: 1px solid #000; border-radius: 5px;
    box-shadow: inset 0 1px 0 rgba(255, 235, 200, .25), 0 1px 1px rgba(0, 0, 0, .35);
    font-family: Tahoma, Verdana, Arial, sans-serif; font-weight: 700; text-shadow: 0 1px 0 #000;
}
.ks-auth-tanitim { display: none; }
@media (min-width: 820px) {
    .ks-auth.has-tanitim { justify-content: center; }
    .ks-auth-tanitim {
        display: flex; align-items: flex-end; gap: 10px;
        width: 100%; max-width: 440px;
        background: rgba(255, 245, 218, .72);
        border: 1px solid #b79c6a; border-radius: 4px;
        padding: 18px 18px 0 6px;
    }
    .ks-auth-rehber { display: block; width: 150px; height: auto; flex: 0 0 auto; }
    .ks-auth-tanitim-metin { align-self: center; padding-bottom: 18px; }
    .ks-auth-tanitim h2 { margin: 0 0 8px; font-size: 18px; color: #7a170e; line-height: 1.3; }
    .ks-auth-tanitim p { margin: 0 0 10px; font-size: 14px; line-height: 1.5; }
    .ks-auth-tanitim ul { margin: 0; padding-left: 18px; font-size: 13.5px; line-height: 1.5; }
    .ks-auth-tanitim li { margin-bottom: 4px; }
}
@media (max-width: 420px) {
    .ks-auth-ust { height: 130px; }
    .ks-auth-logo { margin-bottom: -34px; }
    .ks-auth { padding-top: 52px; }
}
html { background-color: #dcc595; }

/* ---- v10.54.0 (Faz 24): dünya seçme ekranı — Dünyalarım / Yeni dünyalar kartları ---- */
body[data-ks-auth="game"] .ks-auth-card { max-width: 640px; }
/* dünya düğmeleri gibi: her dünya küçük bir parşömen düğmesi (adı büyük, eylemi küçük); ayrıntılar altında. Kapanmış dünya listelenmez. */
.ks-dunya-liste { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.ks-dunya-kart { flex: 0 1 190px; min-width: 0; display: flex; flex-direction: column; align-items: stretch; gap: 3px; text-align: center; }
.ks-dunya-kart .ks-dunya-dugme {
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    box-sizing: border-box; width: 100%; min-height: 58px; margin: 0; padding: 8px 10px;
    border: 1px solid #a07c3a; border-radius: 4px; text-decoration: none; text-shadow: none;
    background: linear-gradient(180deg, #fbefcc 0%, #ead29a 55%, #dcbd78 100%); color: #3b2508;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .7), 0 1px 2px rgba(70, 45, 10, .35);
}
.ks-dunya-kart.is-benim .ks-dunya-dugme { background: linear-gradient(180deg, #fff3c4 0%, #f2d278 55%, #e0b54c 100%); border-color: #8a6420; }
.ks-dunya-kart a.ks-dunya-dugme:hover, .ks-dunya-kart button.ks-dunya-dugme:not(:disabled):hover { background: linear-gradient(180deg, #fff8dc 0%, #f6dc92 55%, #e8c262 100%); }
.ks-dunya-kart button.ks-dunya-dugme:disabled, .ks-dunya-kart.is-pasif .ks-dunya-dugme {
    opacity: 1; cursor: default; color: #6b5a3e; background: linear-gradient(180deg, #ece3cc 0%, #d9ccae 100%); border-color: #b3a07a;
}
.ks-dunya-ad { font-size: 1rem; font-weight: 700; line-height: 1.2; overflow-wrap: anywhere; }
.ks-dunya-eylem { font-size: .75rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #7a4a10; }
.ks-dunya-kart button:disabled .ks-dunya-eylem, .ks-dunya-kart.is-pasif .ks-dunya-eylem { color: #7d6c4c; }
.ks-dunya-bilgi, .ks-dunya-not, .ks-dunya-sayac { margin: 0; font-size: .8rem; line-height: 1.35; color: #5a4020; overflow-wrap: anywhere; }
.ks-dunya-sayac { font-weight: 700; color: #6f4a1c; }
@media (max-width: 480px) {
    .ks-dunya-kart { flex-basis: 100%; }
}


/* ==========================================================================
   v10.55.0 — PORTAL DÜZENİ (giriş, kayıt, dünya seçme): üstte menü şeridi, çerçeveli afiş + logo,
   solda (Bilge Alp karakteri taşar) tanıtım + "Hemen ücretsiz üye ol!" + oyundan görüntüler, sağda giriş / hoş geldin kutusu,
   altta duyurular. görseller ve metinler bizim (assets/gorsel/).
   ========================================================================== */
body.ks-portal::before, body.ks-portal::after { display: none; }
body.ks-portal .ks-auth-ust {
    height: auto; background: none; border: 0; box-shadow: none;
    display: flex; flex-direction: column; align-items: center; padding: 0 12px;
}
.ks-portal-menu {
    display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 0;
    width: 100%; max-width: 990px; padding: 7px 14px 8px;
    background: linear-gradient(180deg, #f8ecd0 0%, #ecd9ae 100%);
    border: 2px solid #8a5a24; border-top: 0; border-radius: 0 0 6px 6px;
    box-shadow: inset 0 0 0 1px #f9eed4, 0 2px 4px rgba(60, 35, 10, .3);
}
.ks-portal-menu a { color: #7a3a00; font-weight: 700; font-size: 15px; text-decoration: none; padding: 0 2px; }
.ks-portal-menu a:hover { text-decoration: underline; }
.ks-portal-menu a + a::before { content: "-"; display: inline-block; margin: 0 10px; color: #7a3a00; font-weight: 400; }
.ks-portal-afis {
    position: relative; width: 100%; max-width: 990px; height: 150px; margin-top: 4px;
    display: flex; align-items: center; justify-content: center;
    background: #3a1e05 url('gorsel/giris-afis.webp') center / cover no-repeat;
    border: 3px solid #8a5a24; border-bottom: 0; border-radius: 4px 4px 0 0;
    box-shadow: inset 0 0 0 2px #c79b55, inset 0 -30px 40px rgba(30, 12, 2, .35);
}
body.ks-portal .ks-auth-logo { width: min(330px, 70vw); margin: 0; }

body.ks-portal .ks-auth { padding: 0 12px 24px; gap: 0; }
body.ks-portal .ks-auth-card {
    max-width: none; border-radius: 0; padding: 18px 20px 20px;
    background: linear-gradient(180deg, #f7ead0 0%, #f1dfba 100%);
    border: 3px solid #8a5a24;
    box-shadow: inset 0 0 0 2px #e6c88e, inset 0 0 0 3px #a87a3c, 0 6px 14px rgba(60, 30, 5, .3);
}
body.ks-portal .ks-auth h1 { font-size: 21px; text-align: left; margin-bottom: 10px; }
body.ks-portal .ks-auth-brand { display: none; }
body.ks-portal .ks-auth-lead { text-align: left; font-size: 14px; }
.ks-auth-rehber { display: none; }
.ks-portal-uye {
    display: block; margin: 14px 0 16px; padding: 10px 14px; text-align: center; text-decoration: none;
    color: #fff; font-size: 22px; font-weight: 700; text-shadow: 0 1px 0 #3a0000;
    background: linear-gradient(180deg, #e3403a 0%, #b81a14 45%, #8f0e0a 100%);
    border: 2px solid #f0c060; outline: 2px solid #6a1408; border-radius: 3px;
    box-shadow: 0 2px 4px rgba(60, 10, 0, .45);
}
.ks-portal-uye:hover { background: linear-gradient(180deg, #ef5048 0%, #c8221c 45%, #9e140e 100%); }
.ks-portal-goruntu { list-style: none; margin: 8px 0 0; padding: 0 !important; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ks-portal-goruntu li { margin: 0; text-align: center; font-size: 12px; color: #5a4020; }
.ks-portal-goruntu img {
    display: block; width: 100%; height: auto; aspect-ratio: 8 / 5; object-fit: cover;
    border: 2px solid #8a5a24; box-shadow: 0 0 0 2px #e8cf96, 0 2px 4px rgba(60, 30, 5, .35); margin-bottom: 4px;
}
.ks-portal-haber {
    position: relative; z-index: 1; max-width: 940px; margin: 8px auto 40px; padding: 14px 22px 6px;
    background: linear-gradient(180deg, #f7ead0 0%, #efdcb4 100%);
    border: 3px solid #a07c3a; border-radius: 3px; box-shadow: inset 0 0 0 2px #f2e2bd, 0 4px 10px rgba(60, 30, 5, .25);
}
.ks-portal-haber h2 { margin: 0 0 8px; font-size: 17px; color: #7a170e; }
.ks-portal-haber-oge { padding: 8px 0; border-top: 1px solid #d4b97f; }
.ks-portal-haber-oge p { margin: 0 0 2px; font-size: 14px; line-height: 1.45; }
.ks-portal-haber-tarih { font-weight: 700; color: #5a4020; }

/* Dünya seçme (oyun) sayfası: "Hoş geldin, …" başlık; dünya düğmeleri küçük */
.ks-portal-hosgeldin { margin: 0 0 4px; font-size: 21px; font-weight: 700; color: #1e1408; text-align: left; overflow-wrap: anywhere; }
.ks-portal-sen { margin: 0 0 12px; font-size: 13px; }
.ks-portal-sen a { color: #7a3a00; font-weight: 700; }
body.ks-portal #ks-dunyalar { margin-top: 8px; padding-top: 8px; }
body.ks-portal #ks-dunyalar .ks-auth-step-title { margin: 6px 0 6px; font-size: 15px; text-align: left; color: #1e1408; }
body.ks-portal .ks-dunya-liste { justify-content: flex-start; gap: 8px; }
body.ks-portal .ks-dunya-kart { flex: 0 1 auto; min-width: 120px; max-width: 100%; text-align: left; }
body.ks-portal .ks-dunya-kart .ks-dunya-dugme { min-height: 40px; padding: 5px 12px; }
body.ks-portal .ks-dunya-ad { font-size: 14px; }
body.ks-portal .ks-dunya-eylem { font-size: 10.5px; }
body.ks-portal .ks-dunya-bilgi, body.ks-portal .ks-dunya-not, body.ks-portal .ks-dunya-sayac { font-size: 12px; }

@media (min-width: 820px) {
    body.ks-portal .ks-auth.has-tanitim {
        display: grid; grid-template-columns: minmax(0, 1fr) 380px; align-items: stretch;
        max-width: 990px; margin: 0 auto; padding: 0; position: relative;
    }
    body.ks-portal .ks-auth-card { grid-column: 2; grid-row: 1; border-left-width: 2px; }
    body.ks-portal .ks-auth-tanitim {
        grid-column: 1; grid-row: 1; display: block; width: auto; max-width: none;
        padding: 18px 22px 22px 28px; border-radius: 0;
        background: linear-gradient(180deg, #f7ead0 0%, #f1dfba 100%);
        border: 3px solid #8a5a24; border-right-width: 2px;
        box-shadow: inset 0 0 0 2px #e6c88e, inset 0 0 0 3px #a87a3c, 0 6px 14px rgba(60, 30, 5, .3);
    }
    body.ks-portal .ks-auth-tanitim h2 { margin: 0 0 8px; font-size: 22px; color: #1e1408; }
    body.ks-portal .ks-auth-tanitim h3 { margin: 6px 0 0; font-size: 15px; color: #1e1408; }
    body.ks-portal .ks-auth-tanitim p { margin: 0; font-size: 14px; line-height: 1.5; }
}
@media (min-width: 1300px) {
    /* Karakter, tanıtım kutusunun solundan taşar */
    body.ks-portal .ks-auth-rehber {
        display: block; position: absolute; z-index: 2; left: -115px; top: -60px;
        width: auto; height: 440px; pointer-events: none;
        filter: drop-shadow(0 6px 8px rgba(40, 20, 5, .45));
    }
    body.ks-portal .ks-auth-tanitim { padding-left: 128px; }
}
@media (max-width: 819px) {
    body.ks-portal .ks-auth { flex-direction: column; align-items: center; }
    body.ks-portal .ks-auth-card { max-width: 520px; }
    .ks-portal-afis { height: 110px; }
    .ks-portal-haber { margin: 14px 12px 30px; }
    .ks-portal-menu a { font-size: 13px; }
    .ks-portal-menu a + a::before { margin: 0 6px; }
}

/* ---- v10.55.0 portal (2): dolu sayfa — özellik listesi, büyütülebilir görüntüler, ikonlu duyurular, alt bilgi, bilgi sayfaları ---- */
.ks-portal-ozellik { margin: 10px 0 0; padding-left: 18px; font-size: 13.5px; line-height: 1.5; }
.ks-portal-ozellik li { margin-bottom: 3px; }
.ks-portal-goruntu a { position: relative; display: block; }
.ks-portal-goruntu a::after {
    content: ""; position: absolute; right: 6px; bottom: 10px; width: 18px; height: 18px; border-radius: 50%;
    border: 3px solid #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .5), inset 0 0 0 1px rgba(0, 0, 0, .35); background: rgba(255, 255, 255, .15);
}
.ks-portal-goruntu a::before {
    content: ""; position: absolute; z-index: 1; right: 1px; bottom: 5px; width: 9px; height: 4px; background: #fff;
    transform: rotate(45deg); box-shadow: 0 0 0 1px rgba(0, 0, 0, .45);
}
.ks-portal-goruntu a:hover img { filter: brightness(1.08); }
.ks-portal-haber-oge { display: flex; gap: 16px; align-items: flex-start; }
.ks-portal-haber-oge > div { min-width: 0; }
.ks-portal-haber-oge a { color: #7a3a00; font-weight: 700; font-size: 14px; }
.ks-portal-haber-ikon {
    flex: 0 0 48px; height: 48px; margin-top: 2px; border-radius: 50%;
    background: #e9d7a8 url('gorsel/rehber-portre.webp') center 20% / cover no-repeat;
    border: 2px solid #8a6a3a; box-shadow: inset 0 0 0 2px #efe0bd, 0 1px 2px rgba(60, 30, 5, .3);
}
.ks-portal-alt {
    position: relative; z-index: 1; max-width: 940px; margin: 0 auto 30px; padding: 14px 22px 0;
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px 24px; border-top: 1px solid #b89a63;
}
.ks-portal-alt h2 { margin: 0 0 4px; font-size: 16px; color: #5a3a10; }
.ks-portal-alt a { display: block; color: #7a3a00; font-weight: 700; font-size: 14px; text-decoration: none; line-height: 1.6; }
.ks-portal-alt a:hover { text-decoration: underline; }
.ks-portal-telif { grid-column: 1 / -1; margin: 10px 0 0; font-size: 12px; color: #6a5434; text-align: center; }
/* Bilgi sayfaları (Kurallar, Dünya Bilgisi, Yardım): tek geniş çerçeve */
body.ks-portal .ks-auth.ks-portal-bilgi { display: block; max-width: 1014px; margin: 0 auto; padding: 0 12px 20px; }
.ks-portal-bilgi .ks-auth-card { padding: 20px 28px 24px; }
.ks-portal-bilgi h2 { margin: 18px 0 6px; font-size: 17px; color: #7a170e; }
.ks-portal-bilgi p { margin: 0 0 8px; font-size: 14.5px; line-height: 1.55; }
.ks-portal-bilgi a { color: #7a3a00; font-weight: 700; }
.ks-portal-tablo { width: 100%; max-width: 640px; border-collapse: collapse; font-size: 14px; margin: 4px 0 6px; background: #fbf3de; }
.ks-portal-tablo th, .ks-portal-tablo td { padding: 6px 10px; border: 1px solid #c9ab70; text-align: left; vertical-align: top; }
.ks-portal-tablo th { background: #ead6a6; color: #3b2508; white-space: nowrap; }
@media (max-width: 819px) {
    .ks-portal-alt { grid-template-columns: 1fr 1fr; margin: 0 12px 24px; padding: 12px 6px 0; }
    .ks-portal-haber-ikon { flex-basis: 38px; height: 38px; }
    .ks-portal-bilgi .ks-auth-card { padding: 16px 14px 18px; }
    /* Telefonda tanıtım (üye ol + görüntüler) giriş kutusunun altında; karakter yok */
    body.ks-portal .ks-auth.has-tanitim .ks-auth-tanitim {
        display: block; width: 100%; max-width: 520px; margin-top: 12px; padding: 14px 16px 16px;
        background: linear-gradient(180deg, #f7ead0 0%, #f1dfba 100%); border: 3px solid #8a5a24; border-radius: 0;
        box-shadow: inset 0 0 0 2px #e6c88e, inset 0 0 0 3px #a87a3c;
    }
    body.ks-portal .ks-auth-tanitim h2 { margin: 0 0 6px; font-size: 19px; }
    body.ks-portal .ks-auth-tanitim h3 { margin: 4px 0 0; font-size: 15px; }
    body.ks-portal .ks-auth-tanitim p { margin: 0; font-size: 14px; line-height: 1.5; }
    .ks-portal-uye { font-size: 19px; }
    .ks-portal-goruntu { gap: 8px; }
    .ks-portal-tablo th { white-space: normal; }
}
.ks-portal-menu a:focus-visible, .ks-portal-alt a:focus-visible, .ks-portal-haber a:focus-visible, .ks-auth-tanitim a:focus-visible {
    outline: 3px solid var(--ks-a-odak); outline-offset: 2px;
}

/* ---- v10.55.0 Dünya Bilgisi (/dunya-bilgisi/): ortada tablo, sağda "Görünüm seç" ve "Dünya seç" kutuları, solda karakter ---- */
body.ks-portal .ks-auth.ks-portal-dunya { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 0 14px; align-items: start; }
body.ks-portal .ks-portal-dunya > .ks-auth-card { grid-column: 1; grid-row: 1; border-left-width: 3px; }
body.ks-portal .ks-portal-dunya > .ks-portal-yan { grid-column: 2; grid-row: 1; }
.ks-portal-dunya .ks-auth-card h1 { text-align: center; padding: 6px 10px; margin: 0 0 12px; color: #fff3d0; font-size: 17px;
    background: linear-gradient(180deg, #8a3a22, #5e1f10); border: 1px solid #3d1206; border-radius: 4px; box-shadow: inset 0 1px 0 rgba(255, 220, 180, .3); }
.ks-dunya-tablo { max-width: none; }
.ks-dunya-tablo th { width: 36%; white-space: normal; }
.ks-dunya-birlik { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: 4px; }
.ks-dunya-birlik li { display: flex; flex-direction: column; align-items: center; padding: 3px 4px; border: 1px solid #c9ab70; background: #fffaf0; border-radius: 3px; text-align: center; }
.ks-dunya-birlik-ad { font-size: 11px; color: #6a5434; }
.ks-dunya-hammadde { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 14px; }
.ks-dunya-hammadde li { padding: 2px 8px; border: 1px solid #c9ab70; background: #fffaf0; border-radius: 3px; }
.ks-dunya-guncel { margin: 10px 0 0; font-size: 12px; color: #6a5434; text-align: center; }
.ks-portal-yan { display: flex; flex-direction: column; gap: 12px; }
.ks-portal-yan-kutu { background: linear-gradient(180deg, #f7ead0, #efdcb4); border: 2px solid #8a5a24; box-shadow: inset 0 0 0 1px #f2e2bd, 0 3px 8px rgba(60, 30, 5, .25); }
.ks-portal-yan-kutu h2 { margin: 0; padding: 5px 10px; font-size: 14px; color: #3b2508; background: linear-gradient(180deg, #ead6a6, #d8bd82); border-bottom: 1px solid #a07c3a; }
.ks-portal-yan-kutu ul { list-style: none; margin: 0; padding: 0; }
.ks-portal-yan-kutu li + li { border-top: 1px solid #d4b97f; }
.ks-portal-yan-kutu a { display: block; padding: 5px 10px; color: #7a3a00; font-weight: 700; font-size: 13.5px; text-decoration: none; }
.ks-portal-yan-kutu a:hover { background: #fbf1d8; text-decoration: underline; }
.ks-portal-yan-kutu a.is-secili { color: #a01a10; background: #fff7e2; }
.ks-portal-yan-kutu a:focus-visible { outline: 3px solid var(--ks-a-odak); outline-offset: -3px; }
@media (min-width: 1300px) {
    body.ks-portal .ks-portal-dunya .ks-auth-rehber { left: -160px; top: -40px; }
}
@media (max-width: 819px) {
    body.ks-portal .ks-auth.ks-portal-dunya { grid-template-columns: 1fr; gap: 12px; }
    body.ks-portal .ks-portal-dunya > .ks-auth-card, body.ks-portal .ks-portal-dunya > .ks-portal-yan { grid-column: 1; grid-row: auto; }
    .ks-portal-yan { order: -1; flex-direction: row; flex-wrap: wrap; }
    .ks-portal-yan-kutu { flex: 1 1 150px; }
    .ks-dunya-tablo th { width: 42%; }
}
@media (min-width: 1300px) and (max-width: 1519px) { body.ks-portal .ks-portal-dunya .ks-auth-rehber { display: none; } }
@media (min-width: 1520px) { body.ks-portal .ks-portal-dunya .ks-auth-rehber { left: -215px; } }

/* ---- v10.55.1: portal sıkı düzen — sıkı ölçü (13 px metin), sayfa tek ekrana sığar (125 % Windows ölçeğinde de) ---- */
body.ks-portal { font-size: 13px; line-height: 1.4; }
body.ks-portal .ks-portal-menu { max-width: 940px; padding: 4px 12px 5px; }
body.ks-portal .ks-portal-menu a { font-size: 13px; }
body.ks-portal .ks-portal-menu a + a::before { margin: 0 8px; }
body.ks-portal .ks-portal-afis { max-width: 940px; height: 112px; margin-top: 3px; }
body.ks-portal .ks-auth-logo { width: min(250px, 60vw); }
body.ks-portal .ks-auth { padding-bottom: 14px; }
body.ks-portal .ks-auth-card { padding: 12px 16px 14px; }
body.ks-portal .ks-auth h1, body.ks-portal .ks-portal-hosgeldin { font-size: 17px; margin-bottom: 6px; }
body.ks-portal .ks-auth-lead { font-size: 13px; margin-bottom: 10px; }
body.ks-portal .ks-auth-status { font-size: 13px; margin-bottom: 10px; }
body.ks-portal .ks-auth-status.is-hata, body.ks-portal .ks-auth-status.is-basari, body.ks-portal .ks-auth-status.is-bilgi { padding: 6px 9px; }
body.ks-portal .ks-auth-field { margin-bottom: 9px; }
body.ks-portal .ks-auth-field label { font-size: 13px; margin-bottom: 2px; }
body.ks-portal .ks-auth-field input { min-height: 34px; padding: 6px 9px; font-size: 14px; }
body.ks-portal .ks-auth-hint { font-size: 12px; margin: -4px 0 9px; }
body.ks-portal .ks-auth-submit { min-height: 36px; padding: 6px 12px; font-size: 15px; }
body.ks-portal .ks-auth-links { margin-top: 10px; gap: 4px; }
body.ks-portal .ks-auth-links a { font-size: 13px; }
body.ks-portal .ks-auth-step-title { font-size: 15px; }
.ks-portal-ozellik { margin-top: 6px; font-size: 12.5px; line-height: 1.4; }
.ks-portal-uye { margin: 10px 0 10px; padding: 6px 12px; font-size: 18px; }
.ks-portal-goruntu { gap: 10px; margin-top: 5px; }
.ks-portal-goruntu li { font-size: 11.5px; }
.ks-portal-haber { max-width: 900px; margin: 6px auto 14px; padding: 8px 16px 2px; }
.ks-portal-haber h2 { font-size: 14px; margin-bottom: 4px; }
.ks-portal-haber-oge { padding: 5px 0; gap: 12px; }
.ks-portal-haber-oge p, .ks-portal-haber-oge a { font-size: 12.5px; }
.ks-portal-haber-ikon { flex-basis: 36px; height: 36px; }
.ks-portal-alt { max-width: 900px; margin-bottom: 16px; padding-top: 8px; }
.ks-portal-alt h2 { font-size: 13px; }
.ks-portal-alt a { font-size: 12.5px; line-height: 1.5; }
.ks-portal-telif { font-size: 11px; margin-top: 6px; }
@media (min-width: 820px) {
    body.ks-portal .ks-auth.has-tanitim { max-width: 940px; grid-template-columns: minmax(0, 1fr) 330px; }
    body.ks-portal .ks-auth-tanitim { padding: 12px 18px 14px 22px; }
    body.ks-portal .ks-auth-tanitim h2 { font-size: 18px; margin-bottom: 5px; }
    body.ks-portal .ks-auth-tanitim h3 { font-size: 13px; margin-top: 4px; }
    body.ks-portal .ks-auth-tanitim p { font-size: 13px; line-height: 1.45; }
    body.ks-portal .ks-auth.ks-portal-dunya { max-width: 964px; }
}
@media (min-width: 1300px) {
    body.ks-portal .ks-auth-rehber { height: 360px; left: -100px; top: -50px; }
    body.ks-portal .ks-auth-tanitim { padding-left: 108px; }
}
@media (min-width: 1520px) { body.ks-portal .ks-portal-dunya .ks-auth-rehber { left: -190px; } }

/* ---- v10.55.1: oyundan görüntüler büyütme penceresi (sayfadan çıkılmaz; × / Esc / dışına tıklama kapatır) ---- */
.ks-resim-kutu[hidden] { display: none; }
.ks-resim-kutu { position: fixed; inset: 0; z-index: 50; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(20, 10, 2, .78); }
.ks-resim-kutu figure { position: relative; margin: 0; max-width: min(92vw, 900px); max-height: 88vh; padding: 8px; background: #f2e8d0; border: 3px solid #8a5a24; box-shadow: 0 10px 30px rgba(0, 0, 0, .6); }
.ks-resim-kutu img { display: block; max-width: 100%; max-height: calc(88vh - 46px); width: auto; height: auto; }
.ks-resim-kutu figcaption { margin-top: 5px; font-size: 13px; text-align: center; color: #3b2508; font-weight: 700; }
.ks-resim-kapat { position: absolute; top: -14px; right: -14px; width: 30px; height: 30px; border-radius: 50%; border: 2px solid #f0c060; background: #8f0e0a; color: #fff; font: 700 18px/1 Verdana, sans-serif; cursor: pointer; box-shadow: 0 2px 5px rgba(0, 0, 0, .5); }
.ks-resim-kapat:focus-visible { outline: 3px solid var(--ks-a-odak); outline-offset: 2px; }

/* ---- v10.55.3: dünya düğmeleri küçük (yazı boyunda), boşluk dengeli ---- */
body.ks-portal .ks-dunya-liste { gap: 6px 8px; margin-bottom: 8px; }
body.ks-portal .ks-dunya-kart { flex: 0 0 auto; min-width: 0; max-width: 100%; align-items: flex-start; gap: 2px; }
body.ks-portal .ks-dunya-kart .ks-dunya-dugme { display: inline-flex; width: auto; min-height: 0; padding: 3px 12px 2px; gap: 0; border-radius: 3px; }
body.ks-portal .ks-dunya-ad { font-size: 13px; line-height: 1.25; }
body.ks-portal .ks-dunya-eylem { font-size: 9px; letter-spacing: .05em; }
body.ks-portal .ks-dunya-bilgi, body.ks-portal .ks-dunya-not, body.ks-portal .ks-dunya-sayac { font-size: 11.5px; line-height: 1.3; }
body.ks-portal #ks-dunyalar .ks-auth-step-title { margin: 4px 0 4px; font-size: 13.5px; }
body.ks-portal #ks-dunyalar > .ks-auth-hint { font-size: 11px; margin: 4px 0 0; }
body.ks-portal .ks-portal-sen { margin-bottom: 8px; font-size: 12px; }
body.ks-portal .ks-auth-status:not(:empty) { font-size: 12px; }

/* ---- v10.55.3 telefon: mobil düzen — tek çerçeve; giriş / kayıt sayfasında önce tanıtım (üye ol + görüntüler) sonra form,
        dünya sayfasında önce "Hoş geldin" + dünyalar sonra tanıtım; araları ince çizgi ---- */
.ks-portal-giris-kisayol { display: none; }
@media (max-width: 819px) {
    body.ks-portal .ks-auth.has-tanitim { gap: 0; padding: 0 10px 12px; }
    body.ks-portal .ks-auth.has-tanitim .ks-auth-card,
    body.ks-portal .ks-auth.has-tanitim .ks-auth-tanitim { max-width: 560px; width: 100%; margin: 0; box-shadow: inset 0 0 0 2px #e6c88e, inset 0 0 0 3px #a87a3c; }
    body.ks-portal .ks-auth.has-tanitim .ks-auth-tanitim { border-top-width: 0; padding: 12px 16px 14px; }
    body[data-ks-auth="login"] .ks-auth.has-tanitim .ks-auth-tanitim, body[data-ks-auth="signup"] .ks-auth.has-tanitim .ks-auth-tanitim { order: -1; border-top-width: 3px; border-bottom-width: 0; }
    body[data-ks-auth="login"] .ks-auth.has-tanitim .ks-auth-card, body[data-ks-auth="signup"] .ks-auth.has-tanitim .ks-auth-card { border-top: 1px solid #c9a86a; }
    body[data-ks-auth="game"] .ks-auth.has-tanitim .ks-auth-tanitim { border-top: 1px solid #c9a86a; }
    body.ks-portal .ks-auth-tanitim { position: relative; }
    .ks-portal-giris-kisayol { display: block; position: absolute; top: 14px; right: 16px; font-weight: 700; font-size: 13px; color: #7a3a00; }
    body.ks-portal .ks-auth-tanitim h3 { text-align: center; }
    .ks-portal-goruntu { max-width: 420px; margin-left: auto; margin-right: auto; }
    .ks-portal-uye { font-size: 16px; padding: 6px 10px; }
    body.ks-portal .ks-portal-afis { height: 84px; }
    body.ks-portal .ks-auth-logo { width: min(190px, 52vw); }
}
@media (max-width: 819px) {
    body.ks-portal .ks-auth.has-tanitim .ks-auth-tanitim h2 { font-size: 17px; margin: 0 0 5px; }
    body.ks-portal .ks-auth.has-tanitim .ks-auth-tanitim p { font-size: 13px; line-height: 1.45; }
    body.ks-portal .ks-auth.has-tanitim .ks-auth-tanitim h3 { font-size: 13px; }
}
/* Faz 26: ön kayıtlı dünya — "Kaydoldun ✓" yeşil, kapalı */
body.ks-portal .ks-dunya-kart.is-kayitli button.ks-dunya-dugme:disabled { color: #2f5d1f; background: linear-gradient(180deg, #eef6dc 0%, #d4e6b4 100%); border-color: #7a9a4a; }
body.ks-portal .ks-dunya-kart.is-kayitli .ks-dunya-eylem { color: #2f5d1f; }

/* ---- v10.57.0: Yönetim sayfası (/yonetim/) — sade, geniş tablolu çalışma alanı; portal renkleri ---- */
.ks-yonetim-ana { max-width: 1240px; margin: 0 auto; padding: 12px 16px 40px; box-sizing: border-box; }
.ks-yonetim-ana h1 { margin: 6px 0 4px; font-size: 22px; color: #3b2508; }
.ky-sekmeler { display: flex; flex-wrap: wrap; gap: 6px; margin: 8px 0 12px; }
.ky-sekmeler a { padding: 6px 12px; border: 1px solid #8a6a3a; border-radius: 3px; background: #ead6a6; color: #3b2508; font-weight: 700; text-decoration: none; font-size: 13px; }
.ky-sekmeler a[aria-current="page"] { background: #7a2a14; color: #fbf3de; }
.ky-sekmeler a:focus-visible, .ky-dugme:focus-visible { outline: 2px solid #1d4ed8; outline-offset: 2px; }
.ky-kutu { background: #fbf3de; border: 1px solid #c9ab70; border-radius: 4px; padding: 10px 12px; margin: 0 0 12px; }
.ky-kutu h2 { margin: 0 0 8px; font-size: 16px; color: #7a2a14; }
.ky-kartlar { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; margin: 0 0 12px; }
.ky-kart { background: #fbf3de; border: 1px solid #c9ab70; border-radius: 4px; padding: 10px; display: flex; flex-direction: column; gap: 2px; }
.ky-kart b { font-size: 22px; color: #3b2508; font-variant-numeric: tabular-nums; }
.ky-kart span { font-size: 12px; color: #6b4a1f; }
.ky-tablo-kap { overflow-x: auto; }
.ks-portal-tablo.ky-tablo { max-width: none; font-size: 13px; }
.ks-portal-tablo.ky-tablo td { word-break: break-word; }
.ky-form { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: flex-end; }
.ky-alan { display: flex; flex-direction: column; gap: 3px; font-size: 12px; color: #3b2508; font-weight: 700; }
.ky-alan input, .ky-alan select, .ky-alan textarea { font: inherit; font-weight: 400; font-size: 14px; padding: 5px 7px; border: 1px solid #8a6a3a; border-radius: 3px; background: #fff; min-width: 160px; }
.ky-alan textarea { min-width: min(560px, 80vw); }
.ky-alan input:disabled { background: #eee3c8; color: #7a6a50; }
.ky-not { flex-basis: 100%; margin: 2px 0; font-size: 12px; color: #6b4a1f; }
.ky-islemler { display: flex; flex-wrap: wrap; gap: 4px; }
.ky-dugme { font: inherit; font-size: 12.5px; font-weight: 700; padding: 5px 10px; border: 1px solid #000; border-radius: 3px; cursor: pointer;
    background: linear-gradient(180deg, #5b3b22 0%, #3a2312 45%, #22130a 100%); color: #f2e8d0; box-shadow: inset 0 0 0 1px #8a6a3a; }
.ky-dugme:hover { color: #fff; }
.ky-dugme.is-tehlike { background: linear-gradient(180deg, #a0261a, #7a170e 55%, #561009); }
.ky-dunya-baslik { margin: 4px 0 8px; font-size: 18px; color: #3b2508; }
@media (max-width: 640px) {
    .ks-yonetim-ana { padding: 8px 10px 30px; }
    .ks-portal-tablo.ky-tablo th, .ks-portal-tablo.ky-tablo td { white-space: nowrap; word-break: normal; padding: 5px 8px; }
    .ky-alan input, .ky-alan select { min-width: 0; width: 100%; }
    .ky-alan { flex: 1 1 100%; }
}

/* v10.59.3: Hesabım — iki form (şifre, e-posta) alt başlıklı ve aralıklı */
.ks-auth-alt { margin: 18px 0 8px; font-size: 1.05rem; }
#ks-account-email-form { margin-top: 22px; padding-top: 6px; border-top: 1px solid rgba(138, 106, 58, .35); }
.ks-account-sil { margin-top: 22px; padding-top: 6px; border-top: 1px solid rgba(138, 106, 58, .35); }
.ks-auth-onay { display: flex; gap: 8px; align-items: flex-start; margin: 4px 0 12px; font-size: .92rem; line-height: 1.35; }
.ks-auth-onay input { margin-top: 3px; flex: 0 0 auto; }
.ks-auth-submit.ks-auth-tehlike { background: linear-gradient(180deg, #b5402f 0%, #8a1c12 45%, #5e100a 100%); border-color: #000; }
#ks-account-delete-cancel { margin-top: 4px; }
.ks-account-sil[hidden], #ks-account-delete-cancel[hidden] { display: none; }
.ks-account-sil-baglanti { margin: 14px 0 0; font-size: 13px; text-align: center; }
.ks-account-sil-baglanti a { color: #7a2a14; font-weight: 700; }
#ks-account-email { word-break: break-all; }

/* 30.10: Duyurular — ana sayfa boş hâli / tümü bağlantısı ve duyuru sayfası */
.ks-portal-haber-bos { margin: 6px 0 0; font-size: 14px; color: #5a4020; }
.ks-portal-haber-tumu { margin: 8px 0 0; text-align: right; font-size: 14px; }
.ks-portal-haber-tumu a { color: #7a3a00; font-weight: 700; }
.ks-duyuru { padding: 10px 0; border-top: 1px solid #d4b97f; }
.ks-duyuru:first-child { border-top: 0; }
.ks-duyuru h2 { margin: 0 0 2px; font-size: 18px; }
.ks-duyuru h2 a { color: #7a170e; text-decoration: none; }
.ks-duyuru h2 a:hover { text-decoration: underline; }
.ks-duyuru-tarih { margin: 0 0 6px; font-weight: 700; color: #5a4020; font-size: 14px; }
.ks-duyuru-metin { margin: 0; white-space: pre-line; line-height: 1.55; overflow-wrap: anywhere; }

/* Faz 55: Forum (/forum/) — bölüm / konu tabloları, yazılar (düz metin, satır sonları korunur), formlar */
.ks-forum .ks-auth-card { max-width: 980px; }
.ks-forum-tablo { width: 100%; border-collapse: collapse; margin: 8px 0 12px; font-size: 14px; }
.ks-forum-tablo th { text-align: left; padding: 6px 8px; background: linear-gradient(180deg, #dcc38c, #b79c6a); color: #1e1408; border: 1px solid #a8844a; }
.ks-forum-tablo td { padding: 7px 8px; border: 1px solid #d4b97f; vertical-align: top; background: #fbf2dc; }
.ks-forum-tablo tr.is-sabit td { background: #f5e6bd; }
.ks-forum-bolum-ad, .ks-forum-konu-ad { display: block; font-weight: 700; color: #7a170e; text-decoration: none; overflow-wrap: anywhere; }
.ks-forum-bolum-ad:hover, .ks-forum-konu-ad:hover { text-decoration: underline; }
.ks-forum-aciklama { display: block; margin: 2px 0 0; color: #5a4020; font-size: 13px; }
.ks-forum-sayi { width: 64px; text-align: center; font-variant-numeric: tabular-nums; }
.ks-forum-son { width: 220px; font-size: 13px; }
.ks-forum-son a { display: block; color: #7a3a00; overflow-wrap: anywhere; }
.ks-forum-tarih, .ks-forum-yazar { display: block; color: #6b5a44; font-size: 12px; }
.ks-forum-yol { margin: 0 0 8px; font-size: 14px; }
.ks-forum-yol a, .ks-forum-geri { color: #7a3a00; font-weight: 700; }
.ks-forum-yazi { margin: 0 0 10px; border: 1px solid #d4b97f; border-radius: 4px; background: #fbf2dc; }
.ks-forum-yazi-ust { display: flex; flex-wrap: wrap; gap: 4px 12px; align-items: baseline; padding: 6px 10px; background: #efdcae; border-bottom: 1px solid #d4b97f; }
.ks-forum-yazi-ust .ks-forum-yazar { display: inline; color: #7a2a14; font-size: 14px; }
.ks-forum-yazi-ust .ks-forum-tarih { display: inline; }
.ks-forum-metin { margin: 0; padding: 10px; white-space: pre-line; line-height: 1.5; overflow-wrap: anywhere; }
.ks-forum-eylem { display: flex; gap: 6px; justify-content: flex-end; padding: 0 10px 8px; }
.ks-forum-kucuk { padding: 2px 10px; border: 1px solid #a8844a; border-radius: 3px; background: #f2e8d0; color: #7a2a14; font-size: 12px; cursor: pointer; }
.ks-forum-form { display: grid; gap: 8px; margin: 14px 0 0; padding: 12px; border: 1px solid #d4b97f; border-radius: 4px; background: #fbf2dc; }
.ks-forum-form h2 { margin: 0; font-size: 16px; }
.ks-forum-form label { display: grid; gap: 4px; font-weight: 700; color: #7a2a14; }
.ks-forum-form input, .ks-forum-form textarea { width: 100%; box-sizing: border-box; font: inherit; padding: 6px 8px; border: 1px solid #a8844a; border-radius: 3px; background: #fffaf0; }
.ks-forum-duzen { margin: 0 10px 10px; }
.ks-forum-sayfalar { display: flex; flex-wrap: wrap; gap: 4px; margin: 4px 0 8px; }
.ks-forum-sayfalar a, .ks-forum-sayfalar span { min-width: 26px; padding: 2px 6px; text-align: center; border: 1px solid #a8844a; border-radius: 3px; color: #7a2a14; text-decoration: none; }
.ks-forum-sayfalar .is-secili { background: #7a170e; color: #fff; border-color: #7a170e; }
.ks-forum-not { margin: 12px 0 0; color: #5a4020; }
@media (max-width: 600px) {
    .ks-forum-son { width: auto; }
    .ks-forum-tablo th:nth-child(3), .ks-forum-tablo td:nth-child(3) { display: none; }
    .ks-forum-tablo { font-size: 13px; }
}
/* ---- 31.10: Kurallar sayfası ---- */
.ks-portal-bilgi .ks-kural-tarih { margin: -2px 0 8px; font-size: 12px; color: #6a5434; }
.ks-portal-bilgi .ks-kural-icindekiler { margin: 10px 0 14px; padding: 8px 14px 10px; border: 1px solid #b79c6a; border-radius: 3px; background: #fbf1d6; }
.ks-portal-bilgi .ks-kural-icindekiler h2 { margin: 0 0 4px; font-size: 14px; }
.ks-portal-bilgi .ks-kural-icindekiler ol { margin: 0; padding-left: 24px; columns: 2; column-gap: 28px; font-size: 13px; line-height: 1.75; }
.ks-portal-bilgi .ks-kural { margin: 0 0 12px; border: 1px solid #b08a50; border-radius: 4px 4px 0 0; background: #fffaf0; scroll-margin-top: 10px; }
.ks-portal-bilgi .ks-kural h2 { margin: 0; padding: 6px 10px; border-radius: 3px 3px 0 0; font-size: 14.5px; color: #fff; background: linear-gradient(180deg, #a5400e, #7c2a06); text-shadow: 0 1px 0 #3a1003; }
.ks-portal-bilgi .ks-kural-no { margin-right: 4px; color: #f6dea0; }
.ks-portal-bilgi .ks-kural-maddeler { list-style: none; margin: 0; padding: 7px 10px 8px; font-size: 13px; line-height: 1.55; }
.ks-portal-bilgi .ks-kural-maddeler li { margin: 0 0 5px; padding-left: 36px; text-indent: -36px; }
.ks-portal-bilgi .ks-kural-maddeler li > b:first-child { display: inline-block; width: 32px; text-indent: 0; color: #7a170e; }
.ks-portal-bilgi .ks-kural-tarih ~ .ks-auth-lead { font-size: 13.5px; }
.ks-portal-bilgi .ks-kural-son { margin-top: 14px; font-size: 13px; }
@media (max-width: 600px) {
    .ks-portal-bilgi .ks-kural-icindekiler ol { columns: 1; }
    .ks-portal-bilgi .ks-kural-maddeler { padding: 6px 8px 8px; }
}
/* ---- 31.10: kayıt sayfasında BETA notu (oyundaki Hata bildir düğmesine yönlendirir) ---- */
.ks-auth-beta { margin: 14px 0 0; padding: 8px 10px; border: 1px solid #d0a94a; border-radius: 3px; background: #fff6d8; color: #4a3418; font-size: 12.5px; line-height: 1.45; text-align: left; }
.ks-auth-beta-etiket { display: inline-block; margin-right: 4px; padding: 1px 6px; border-radius: 2px; background: #a5400e; color: #fff; font-weight: 700; font-size: 11px; letter-spacing: .04em; }
.ks-auth-beta a { color: #7a3a00; font-weight: 700; }

/* ---- 31.10: Google ile giriş (giriş ve kayıt formunun altında; beyaz düğme, Google'ın çok renkli G işareti) ---- */
.ks-auth-ayrac { display: flex; align-items: center; gap: 8px; margin: 12px 0 8px; color: #6b5536; font-size: 12px; }
.ks-auth-ayrac::before, .ks-auth-ayrac::after { content: ""; flex: 1; border-top: 1px solid #c9b48a; }
.ks-auth-google { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 40px; padding: 8px 12px;
  background: #fff; color: #3c4043; border: 1px solid #b9a77f; border-radius: 4px; font: 600 14px/1.2 Arial, sans-serif; cursor: pointer; }
.ks-auth-google:hover { background: #f7f3ea; }
.ks-auth-google:focus-visible { outline: 2px solid #8e1b14; outline-offset: 2px; }
.ks-auth-google:disabled { opacity: .6; cursor: default; }
.ks-auth-google img { width: 18px; height: 18px; }
