/**
 * Reset + tipografi + taşma önleme (küçük ekranda metin iç içe binmesin).
 */
*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    height: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
    overflow: hidden;
}

body {
    margin: 0;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    font-size: var(--gf-text-base);
    line-height: var(--gf-leading-normal);
    color: var(--gf-color-text);
    background: var(--gf-color-bg);
    overflow-x: hidden;
    -webkit-tap-highlight-color: transparent;
}

/* Uzun kelime / URL / e-posta taşmasını kes */
.gf-break,
p,
li,
td,
th,
figcaption,
label,
button,
input,
textarea,
select {
    overflow-wrap: anywhere;
    word-wrap: break-word;
}

/* Flex/grid çocuklarında metin taşması için */
.gf-min-w-0 {
    min-width: 0;
}

/* İçerik alanları: başlık + paragraf aralığı */
.gf-flow > * + * {
    margin-top: var(--gf-stack-md);
}

.gf-flow--tight > * + * {
    margin-top: var(--gf-stack-sm);
}

/* Orta sütun okuma genişliği (metin blokları) */
.gf-prose {
    max-width: 65ch;
}

.gf-prose p {
    margin: 0;
}

.gf-prose > * + * {
    margin-top: var(--gf-stack-md);
}

img,
svg,
video,
canvas {
    max-width: 100%;
    height: auto;
}

table {
    max-width: 100%;
}
