{"id":162,"date":"2026-06-08T10:59:35","date_gmt":"2026-06-08T07:59:35","guid":{"rendered":"http:\/\/halebeyzabulut.com\/?page_id=162"},"modified":"2026-06-08T10:59:36","modified_gmt":"2026-06-08T07:59:36","slug":"bitkime-ne-oldu","status":"publish","type":"page","link":"https:\/\/halebeyzabulut.com\/index.php\/bitkime-ne-oldu\/","title":{"rendered":"Bitkime ne oldu?"},"content":{"rendered":"<p><!DOCTYPE html><br \/>\n<html lang=\"tr\"><br \/>\n<head><br \/>\n<meta charset=\"UTF-8\"><br \/>\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><br \/>\n<title>Bitkime Ne Oldu? \u2014 Ay\u015fe Kaya Peyzaj<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&#038;family=DM+Mono:wght@300;400&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }<\/p>\n<p>  :root {\n    --cream: #f5f0e8;\n    --earth: #3d3328;\n    --moss: #4a5c3a;\n    --sage: #8a9e78;\n    --sand: #c8b89a;\n    --terracotta: #b5674d;\n    --light-moss: #d4ddc8;\n    --white: #fdfcf9;\n    --danger: #c0392b;\n    --warn: #d48a2a;\n    --ok: #4a7c4e;\n  }<\/p>\n<p>  html { scroll-behavior: smooth; }\n  body {\n    font-family: 'Cormorant Garamond', serif;\n    background: var(--cream);\n    color: var(--earth);\n    min-height: 100vh;\n  }<\/p>\n<p>  \/* Header *\/\n  header {\n    background: var(--earth);\n    padding: 20px 48px;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n  }\n  .logo {\n    font-size: 0.85rem;\n    font-family: 'DM Mono', monospace;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--cream);\n    text-decoration: none;\n    opacity: 0.7;\n  }\n  .header-title {\n    font-size: 1.1rem;\n    font-weight: 300;\n    color: var(--cream);\n    letter-spacing: 0.05em;\n  }\n  .header-title em { font-style: italic; color: var(--sage); }\n  .header-badge {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.6rem;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--sage);\n    border: 1px solid var(--sage);\n    padding: 4px 10px;\n    opacity: 0.7;\n  }<\/p>\n<p>  \/* Main layout *\/\n  .app-wrap {\n    max-width: 900px;\n    margin: 0 auto;\n    padding: 60px 24px 80px;\n  }<\/p>\n<p>  \/* Hero text *\/\n  .app-hero {\n    text-align: center;\n    margin-bottom: 56px;\n  }\n  .app-hero h1 {\n    font-size: clamp(2.5rem, 5vw, 4rem);\n    font-weight: 300;\n    line-height: 1.1;\n    letter-spacing: -0.02em;\n    margin-bottom: 16px;\n  }\n  .app-hero h1 em { font-style: italic; color: var(--moss); }\n  .app-hero p {\n    font-size: 1.1rem;\n    font-weight: 300;\n    color: #7a6e62;\n    max-width: 480px;\n    margin: 0 auto;\n    line-height: 1.7;\n  }<\/p>\n<p>  \/* Upload zone *\/\n  .upload-section {\n    margin-bottom: 40px;\n  }\n  .upload-zone {\n    border: 1.5px dashed var(--sand);\n    background: var(--white);\n    border-radius: 2px;\n    padding: 56px 32px;\n    text-align: center;\n    cursor: pointer;\n    transition: border-color 0.3s, background 0.3s;\n    position: relative;\n    overflow: hidden;\n  }\n  .upload-zone:hover, .upload-zone.drag-over {\n    border-color: var(--moss);\n    background: #f0f4ec;\n  }\n  .upload-zone input {\n    position: absolute; inset: 0; opacity: 0; cursor: pointer;\n  }\n  .upload-icon {\n    font-size: 3rem;\n    margin-bottom: 16px;\n    display: block;\n    animation: float 4s ease-in-out infinite;\n  }\n  .upload-title {\n    font-size: 1.3rem;\n    font-weight: 400;\n    margin-bottom: 8px;\n  }\n  .upload-sub {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.65rem;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--sand);\n  }\n  .upload-preview {\n    display: none;\n    position: relative;\n  }\n  .upload-preview img {\n    max-height: 280px;\n    max-width: 100%;\n    object-fit: contain;\n    border-radius: 2px;\n  }\n  .preview-remove {\n    position: absolute;\n    top: 8px; right: 8px;\n    background: var(--earth);\n    color: var(--cream);\n    border: none;\n    width: 28px; height: 28px;\n    font-size: 0.8rem;\n    cursor: pointer;\n    display: flex; align-items: center; justify-content: center;\n    border-radius: 50%;\n    opacity: 0.8;\n    transition: opacity 0.2s;\n  }\n  .preview-remove:hover { opacity: 1; }<\/p>\n<p>  \/* Symptom pills *\/\n  .symptoms-section {\n    margin-bottom: 32px;\n  }\n  .section-label {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.65rem;\n    letter-spacing: 0.25em;\n    text-transform: uppercase;\n    color: var(--terracotta);\n    margin-bottom: 20px;\n    display: flex; align-items: center; gap: 12px;\n  }\n  .section-label::after {\n    content: '';\n    flex: 1; height: 1px; background: var(--light-moss);\n  }\n  .symptom-groups { display: flex; flex-direction: column; gap: 20px; }\n  .symptom-group-label {\n    font-size: 0.85rem;\n    font-weight: 400;\n    color: var(--earth);\n    margin-bottom: 10px;\n    opacity: 0.6;\n    font-style: italic;\n  }\n  .pills-wrap { display: flex; flex-wrap: wrap; gap: 8px; }\n  .pill {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.65rem;\n    letter-spacing: 0.1em;\n    padding: 8px 16px;\n    border: 1px solid var(--sand);\n    background: transparent;\n    color: var(--earth);\n    cursor: pointer;\n    transition: all 0.2s;\n    border-radius: 100px;\n    user-select: none;\n  }\n  .pill:hover { border-color: var(--moss); color: var(--moss); }\n  .pill.selected {\n    background: var(--moss);\n    border-color: var(--moss);\n    color: var(--cream);\n  }<\/p>\n<p>  \/* Notes *\/\n  .notes-section { margin-bottom: 40px; }\n  .notes-input {\n    width: 100%;\n    background: var(--white);\n    border: 1px solid var(--light-moss);\n    border-radius: 2px;\n    padding: 16px 20px;\n    font-family: 'Cormorant Garamond', serif;\n    font-size: 1.05rem;\n    font-weight: 300;\n    color: var(--earth);\n    outline: none;\n    resize: none;\n    min-height: 80px;\n    transition: border-color 0.3s;\n    line-height: 1.7;\n  }\n  .notes-input::placeholder { color: var(--sand); font-style: italic; }\n  .notes-input:focus { border-color: var(--moss); }<\/p>\n<p>  \/* Submit button *\/\n  .btn-diagnose {\n    width: 100%;\n    background: var(--earth);\n    color: var(--cream);\n    border: none;\n    padding: 20px 40px;\n    font-family: 'DM Mono', monospace;\n    font-size: 0.75rem;\n    letter-spacing: 0.25em;\n    text-transform: uppercase;\n    cursor: pointer;\n    transition: background 0.3s;\n    display: flex; align-items: center; justify-content: center; gap: 16px;\n  }\n  .btn-diagnose:hover:not(:disabled) { background: var(--moss); }\n  .btn-diagnose:disabled { opacity: 0.5; cursor: not-allowed; }\n  .btn-icon { font-size: 1.1rem; }<\/p>\n<p>  \/* Loading *\/\n  .loading-wrap {\n    display: none;\n    text-align: center;\n    padding: 60px 24px;\n  }\n  .loading-wrap.active { display: block; }\n  .leaf-spin {\n    font-size: 3rem;\n    display: inline-block;\n    animation: spin 2s linear infinite;\n    margin-bottom: 24px;\n  }\n  .loading-text {\n    font-size: 1.1rem;\n    font-weight: 300;\n    color: var(--earth);\n    font-style: italic;\n  }\n  .loading-sub {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.6rem;\n    letter-spacing: 0.2em;\n    color: var(--sand);\n    margin-top: 8px;\n    text-transform: uppercase;\n  }<\/p>\n<p>  \/* Result card *\/\n  .result-wrap {\n    display: none;\n    animation: fadeUp 0.6s ease forwards;\n  }\n  .result-wrap.active { display: block; }<\/p>\n<p>  .result-card {\n    background: var(--white);\n    border: 1px solid var(--light-moss);\n    border-radius: 2px;\n    overflow: hidden;\n    margin-bottom: 24px;\n  }\n  .result-header {\n    padding: 32px 40px;\n    display: flex;\n    justify-content: space-between;\n    align-items: flex-start;\n    border-bottom: 1px solid var(--light-moss);\n  }\n  .result-diagnosis {\n    font-size: 1.6rem;\n    font-weight: 400;\n    line-height: 1.2;\n    margin-bottom: 6px;\n  }\n  .result-diagnosis em { font-style: italic; color: var(--moss); }\n  .result-plant-name {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.65rem;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    color: var(--sand);\n  }\n  .severity-badge {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.6rem;\n    letter-spacing: 0.15em;\n    text-transform: uppercase;\n    padding: 6px 14px;\n    border-radius: 100px;\n    flex-shrink: 0;\n    margin-left: 16px;\n    margin-top: 4px;\n  }\n  .severity-low { background: #e8f5e9; color: var(--ok); }\n  .severity-mid { background: #fff3e0; color: var(--warn); }\n  .severity-high { background: #fdecea; color: var(--danger); }<\/p>\n<p>  .result-body { padding: 32px 40px; }\n  .result-section { margin-bottom: 32px; }\n  .result-section:last-child { margin-bottom: 0; }\n  .result-section-title {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.6rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--terracotta);\n    margin-bottom: 14px;\n  }\n  .result-text {\n    font-size: 1.05rem;\n    line-height: 1.8;\n    font-weight: 300;\n    color: #5a4e42;\n  }\n  .result-steps {\n    display: flex;\n    flex-direction: column;\n    gap: 10px;\n    list-style: none;\n  }\n  .result-step {\n    display: flex;\n    gap: 14px;\n    align-items: flex-start;\n    font-size: 1rem;\n    line-height: 1.7;\n    font-weight: 300;\n    color: #5a4e42;\n  }\n  .step-dot {\n    width: 6px; height: 6px;\n    background: var(--moss);\n    border-radius: 50%;\n    margin-top: 10px;\n    flex-shrink: 0;\n  }\n  .result-tags {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 8px;\n  }\n  .result-tag {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.6rem;\n    letter-spacing: 0.1em;\n    padding: 6px 14px;\n    background: var(--light-moss);\n    color: var(--moss);\n    border-radius: 100px;\n    opacity: 0.8;\n  }<\/p>\n<p>  \/* CTA card *\/\n  .cta-card {\n    background: var(--earth);\n    padding: 40px;\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    gap: 24px;\n  }\n  .cta-text h3 {\n    font-size: 1.3rem;\n    font-weight: 300;\n    color: var(--cream);\n    margin-bottom: 6px;\n  }\n  .cta-text h3 em { font-style: italic; color: var(--sage); }\n  .cta-text p {\n    font-size: 0.9rem;\n    font-weight: 300;\n    color: var(--sand);\n    opacity: 0.8;\n  }\n  .cta-btn {\n    font-family: 'DM Mono', monospace;\n    font-size: 0.65rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--cream);\n    background: var(--moss);\n    border: none;\n    padding: 14px 28px;\n    cursor: pointer;\n    white-space: nowrap;\n    transition: background 0.3s;\n    text-decoration: none;\n    display: inline-block;\n  }\n  .cta-btn:hover { background: var(--sage); }<\/p>\n<p>  \/* Reset *\/\n  .btn-reset {\n    display: block;\n    margin: 0 auto;\n    background: none;\n    border: 1px solid var(--sand);\n    padding: 12px 32px;\n    font-family: 'DM Mono', monospace;\n    font-size: 0.65rem;\n    letter-spacing: 0.2em;\n    text-transform: uppercase;\n    color: var(--sand);\n    cursor: pointer;\n    transition: all 0.3s;\n    margin-top: 24px;\n  }\n  .btn-reset:hover { border-color: var(--earth); color: var(--earth); }<\/p>\n<p>  \/* Error *\/\n  .error-box {\n    display: none;\n    background: #fdecea;\n    border: 1px solid #f5c6c3;\n    padding: 20px 24px;\n    margin-bottom: 24px;\n    font-size: 0.95rem;\n    color: var(--danger);\n    font-weight: 300;\n  }\n  .error-box.active { display: block; }<\/p>\n<p>  \/* Animations *\/\n  @keyframes float {\n    0%,100% { transform: translateY(0); }\n    50% { transform: translateY(-8px); }\n  }\n  @keyframes spin {\n    from { transform: rotate(0deg); }\n    to { transform: rotate(360deg); }\n  }\n  @keyframes fadeUp {\n    from { opacity: 0; transform: translateY(20px); }\n    to { opacity: 1; transform: translateY(0); }\n  }<\/p>\n<p>  \/* Footer *\/\n  .app-footer {\n    text-align: center;\n    padding: 24px;\n    font-family: 'DM Mono', monospace;\n    font-size: 0.6rem;\n    letter-spacing: 0.15em;\n    color: var(--sand);\n    opacity: 0.6;\n    border-top: 1px solid var(--light-moss);\n    margin-top: 40px;\n  }<\/p>\n<p>  @media (max-width: 600px) {\n    header { padding: 16px 20px; }\n    .header-badge { display: none; }\n    .app-wrap { padding: 40px 16px 60px; }\n    .result-header { padding: 24px; flex-direction: column; }\n    .result-body { padding: 24px; }\n    .cta-card { flex-direction: column; text-align: center; }\n  }\n<\/style>\n<p><\/head><br \/>\n<body><\/p>\n<header>\n  <a href=\"#\" class=\"logo\">AK \u2014 Peyzaj<\/a><br \/>\n  <span class=\"header-title\">Bitkime <em>Ne Oldu?<\/em><\/span><br \/>\n  <span class=\"header-badge\">AI Destekli<\/span><br \/>\n<\/header>\n<div class=\"app-wrap\">\n  <!-- Hero --><\/p>\n<div class=\"app-hero\">\n<h1>Bitkine <em>ne oldu<\/em>?<\/h1>\n<p>Foto\u011fraf y\u00fckle, belirtileri se\u00e7 \u2014 peyzaj uzmanl\u0131\u011f\u0131yla desteklenmi\u015f yapay zeka te\u015fhis koysun.<\/p>\n<\/p><\/div>\n<p>  <!-- Form --><\/p>\n<div id=\"formArea\">\n<p>    <!-- Upload --><\/p>\n<div class=\"upload-section\">\n<div class=\"section-label\">Foto\u011fraf Y\u00fckle<\/div>\n<div class=\"upload-zone\" id=\"uploadZone\">\n        <input type=\"file\" id=\"fileInput\" accept=\"image\/*\"><\/p>\n<div id=\"uploadPlaceholder\">\n          <span class=\"upload-icon\">\ud83c\udf3f<\/span><\/p>\n<div class=\"upload-title\">Bitkinin foto\u011fraf\u0131n\u0131 buraya s\u00fcr\u00fckle<\/div>\n<div class=\"upload-sub\">veya t\u0131kla \u2014 JPG, PNG, WEBP<\/div>\n<\/p><\/div>\n<div class=\"upload-preview\" id=\"uploadPreview\">\n          <img decoding=\"async\" id=\"previewImg\" src=\"\" alt=\"Y\u00fcklenen foto\u011fraf\"><br \/>\n          <button class=\"preview-remove\" id=\"removeImg\" type=\"button\">\u2715<\/button>\n        <\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>    <!-- Symptoms --><\/p>\n<div class=\"symptoms-section\">\n<div class=\"section-label\">Belirtileri Se\u00e7 <span style=\"font-style:italic;opacity:0.5;text-transform:none;letter-spacing:0;\">(birden fazla se\u00e7ilebilir)<\/span><\/div>\n<div class=\"symptom-groups\">\n<div>\n<div class=\"symptom-group-label\">Yaprak g\u00f6r\u00fcn\u00fcm\u00fc<\/div>\n<div class=\"pills-wrap\">\n<div class=\"pill\" data-symptom=\"Yapraklar sarar\u0131yor\">\ud83d\udfe1 Yapraklar sarar\u0131yor<\/div>\n<div class=\"pill\" data-symptom=\"Yapraklar kahverengile\u015fiyor\">\ud83d\udfeb Yapraklar kahverengile\u015fiyor<\/div>\n<div class=\"pill\" data-symptom=\"Yapraklarda lekeler var\">\ud83d\udd34 Lekeler var<\/div>\n<div class=\"pill\" data-symptom=\"Yapraklar k\u0131vr\u0131l\u0131yor\">\ud83c\udf00 Yapraklar k\u0131vr\u0131l\u0131yor<\/div>\n<div class=\"pill\" data-symptom=\"Yapraklar d\u00f6k\u00fcl\u00fcyor\">\ud83c\udf42 Yapraklar d\u00f6k\u00fcl\u00fcyor<\/div>\n<div class=\"pill\" data-symptom=\"Yapraklarda delik var\">\ud83d\udd73\ufe0f Delik var<\/div>\n<div class=\"pill\" data-symptom=\"Yapraklar soluk ve mat g\u00f6r\u00fcn\u00fcyor\">\ud83e\udd0d Soluk ve mat<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div>\n<div class=\"symptom-group-label\">Bitki genel durumu<\/div>\n<div class=\"pills-wrap\">\n<div class=\"pill\" data-symptom=\"Bitki solup sark\u0131yor\">\ud83d\ude14 Solup sark\u0131yor<\/div>\n<div class=\"pill\" data-symptom=\"B\u00fcy\u00fcme durdu\">\u23f8\ufe0f B\u00fcy\u00fcme durdu<\/div>\n<div class=\"pill\" data-symptom=\"G\u00f6vde yumu\u015fak ve \u00e7\u00fcr\u00fck\">\ud83e\udda0 G\u00f6vde \u00e7\u00fcr\u00fck<\/div>\n<div class=\"pill\" data-symptom=\"K\u00f6kler g\u00f6r\u00fcn\u00fcr ve kuru\">\ud83c\udf31 K\u00f6kler kuru<\/div>\n<div class=\"pill\" data-symptom=\"Toprak \u00e7ok \u0131slak\">\ud83d\udca7 Toprak \u00e7ok \u0131slak<\/div>\n<div class=\"pill\" data-symptom=\"Toprak \u00e7ok kuru ve sertle\u015fmi\u015f\">\ud83c\udfdc\ufe0f Toprak \u00e7ok kuru<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div>\n<div class=\"symptom-group-label\">Zararl\u0131lar ve mantarlar<\/div>\n<div class=\"pills-wrap\">\n<div class=\"pill\" data-symptom=\"B\u00f6cek ya da ha\u015fere g\u00f6r\u00fcyorum\">\ud83d\udc1b B\u00f6cek\/ha\u015fere<\/div>\n<div class=\"pill\" data-symptom=\"Beyaz tozlu veya k\u00fcfl\u00fc g\u00f6r\u00fcn\u00fcm\">\u2b1c K\u00fcfl\u00fc g\u00f6r\u00fcn\u00fcm<\/div>\n<div class=\"pill\" data-symptom=\"Yap\u0131\u015fkan veya yap\u0131\u015fkanl\u0131 y\u00fczey\">\ud83d\udd78\ufe0f Yap\u0131\u015fkanl\u0131 y\u00fczey<\/div>\n<div class=\"pill\" data-symptom=\"\u0130nce \u00f6r\u00fcmcek a\u011flar\u0131 var\">\ud83d\udd77\ufe0f \u00d6r\u00fcmcek a\u011flar\u0131<\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<p>    <!-- Notes --><\/p>\n<div class=\"notes-section\">\n<div class=\"section-label\">Ek Bilgi<\/div>\n<p>      <textarea class=\"notes-input\" id=\"notesInput\" placeholder=\"Bitkinin ad\u0131, ne kadar s\u00fcredir bu durum b\u00f6yle, nerede duruyor (i\u00e7 mekan\/d\u0131\u015f mekan), sulama s\u0131kl\u0131\u011f\u0131... ne biliyorsan yaz.\"><\/textarea>\n    <\/div>\n<p>    <!-- Error --><\/p>\n<div class=\"error-box\" id=\"errorBox\"><\/div>\n<p>    <!-- Submit --><br \/>\n    <button class=\"btn-diagnose\" id=\"btnDiagnose\"><br \/>\n      <span class=\"btn-icon\">\ud83d\udd2c<\/span><br \/>\n      Te\u015fhis Koy<br \/>\n    <\/button>\n  <\/div>\n<p>  <!-- Loading --><\/p>\n<div class=\"loading-wrap\" id=\"loadingWrap\">\n<div class=\"leaf-spin\">\ud83c\udf43<\/div>\n<div class=\"loading-text\">Bitkini inceliyorum&#8230;<\/div>\n<div class=\"loading-sub\">Peyzaj bilgisiyle analiz ediliyor<\/div>\n<\/p><\/div>\n<p>  <!-- Result --><\/p>\n<div class=\"result-wrap\" id=\"resultWrap\">\n<div class=\"result-card\">\n<div class=\"result-header\">\n<div>\n<div class=\"result-diagnosis\" id=\"resultDiagnosis\"><\/div>\n<div class=\"result-plant-name\" id=\"resultPlantName\"><\/div>\n<\/p><\/div>\n<p>        <span class=\"severity-badge\" id=\"severityBadge\"><\/span>\n      <\/div>\n<div class=\"result-body\">\n<div class=\"result-section\">\n<div class=\"result-section-title\">Sorunun Nedeni<\/div>\n<div class=\"result-text\" id=\"resultCause\"><\/div>\n<\/p><\/div>\n<div class=\"result-section\">\n<div class=\"result-section-title\">Ne Yapmal\u0131s\u0131n?<\/div>\n<ul class=\"result-steps\" id=\"resultSteps\"><\/ul>\n<\/p><\/div>\n<div class=\"result-section\">\n<div class=\"result-section-title\">\u00d6nleyici Tedbirler<\/div>\n<div class=\"result-text\" id=\"resultPrevention\"><\/div>\n<\/p><\/div>\n<div class=\"result-section\">\n<div class=\"result-section-title\">\u0130lgili Konular<\/div>\n<div class=\"result-tags\" id=\"resultTags\"><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<\/p><\/div>\n<div class=\"cta-card\">\n<div class=\"cta-text\">\n<h3>Daha detayl\u0131 yard\u0131m m\u0131 gerekiyor?<\/h3>\n<p>Peyzaj mimar\u0131 olarak yerinde de\u011ferlendirme yapabilirim.<\/p>\n<\/p><\/div>\n<p>      <a href=\"mailto:ayse@peyzajmimari.com\" class=\"cta-btn\">Randevu Al \u2192<\/a>\n    <\/div>\n<p>    <button class=\"btn-reset\" id=\"btnReset\">\u2190 Yeni Te\u015fhis<\/button>\n  <\/div>\n<div class=\"app-footer\">Ay\u015fe Kaya Peyzaj Mimarl\u0131\u011f\u0131 \u00b7 AI destekli te\u015fhis arac\u0131 \u00b7 Profesyonel de\u011ferlendirmenin yerini tutmaz<\/div>\n<\/div>\n<p><script>\n  \/\/ State\n  let selectedSymptoms = [];\n  let uploadedImageBase64 = null;<\/p>\n<p>  \/\/ Upload zone\n  const uploadZone = document.getElementById('uploadZone');\n  const fileInput = document.getElementById('fileInput');\n  const uploadPlaceholder = document.getElementById('uploadPlaceholder');\n  const uploadPreview = document.getElementById('uploadPreview');\n  const previewImg = document.getElementById('previewImg');\n  const removeImg = document.getElementById('removeImg');<\/p>\n<p>  uploadZone.addEventListener('dragover', e => { e.preventDefault(); uploadZone.classList.add('drag-over'); });\n  uploadZone.addEventListener('dragleave', () => uploadZone.classList.remove('drag-over'));\n  uploadZone.addEventListener('drop', e => {\n    e.preventDefault();\n    uploadZone.classList.remove('drag-over');\n    if (e.dataTransfer.files[0]) handleFile(e.dataTransfer.files[0]);\n  });\n  fileInput.addEventListener('change', e => { if (e.target.files[0]) handleFile(e.target.files[0]); });<\/p>\n<p>  function handleFile(file) {\n    const reader = new FileReader();\n    reader.onload = e => {\n      uploadedImageBase64 = e.target.result.split(',')[1];\n      previewImg.src = e.target.result;\n      uploadPlaceholder.style.display = 'none';\n      uploadPreview.style.display = 'block';\n    };\n    reader.readAsDataURL(file);\n  }<\/p>\n<p>  removeImg.addEventListener('click', e => {\n    e.stopPropagation();\n    uploadedImageBase64 = null;\n    previewImg.src = '';\n    fileInput.value = '';\n    uploadPlaceholder.style.display = 'block';\n    uploadPreview.style.display = 'none';\n  });<\/p>\n<p>  \/\/ Symptom pills\n  document.querySelectorAll('.pill').forEach(pill => {\n    pill.addEventListener('click', () => {\n      const s = pill.dataset.symptom;\n      if (pill.classList.contains('selected')) {\n        pill.classList.remove('selected');\n        selectedSymptoms = selectedSymptoms.filter(x => x !== s);\n      } else {\n        pill.classList.add('selected');\n        selectedSymptoms.push(s);\n      }\n    });\n  });<\/p>\n<p>  \/\/ Diagnose\n  document.getElementById('btnDiagnose').addEventListener('click', async () => {\n    const notes = document.getElementById('notesInput').value.trim();\n    const errorBox = document.getElementById('errorBox');\n    errorBox.classList.remove('active');<\/p>\n<p>    if (!uploadedImageBase64 && selectedSymptoms.length === 0 && !notes) {\n      errorBox.textContent = 'L\u00fctfen en az bir foto\u011fraf y\u00fckle, belirti se\u00e7 veya a\u00e7\u0131klama yaz.';\n      errorBox.classList.add('active');\n      return;\n    }<\/p>\n<p>    \/\/ Show loading\n    document.getElementById('formArea').style.display = 'none';\n    document.getElementById('loadingWrap').classList.add('active');<\/p>\n<p>    try {\n      const symptomsText = selectedSymptoms.length > 0\n        ? Se\u00e7ilen belirtiler: ${selectedSymptoms.join(', ')}.\n        : '';\n      const notesText = notes ? Kullan\u0131c\u0131 notu: ${notes} : '';<\/p>\n<p>      const userPrompt = `Sen deneyimli bir T\u00fcrk peyzaj mimar\u0131s\u0131n. Bir kullan\u0131c\u0131 hasta bitkisi hakk\u0131nda yard\u0131m istiyor.<\/p>\n<p>${symptomsText}\n${notesText}\n${uploadedImageBase64 ? 'Kullan\u0131c\u0131 bitkinin foto\u011fraf\u0131n\u0131 da y\u00fckledi.' : ''}<\/p>\n<p>L\u00fctfen te\u015fhiz koy ve SADECE a\u015fa\u011f\u0131daki JSON format\u0131nda yan\u0131t ver, hi\u00e7bir a\u00e7\u0131klama veya markdown ekleme:<\/p>\n<p>{\n  \"diagnosis\": \"K\u0131sa te\u015fhis ba\u015fl\u0131\u011f\u0131 (\u00f6rn: A\u015f\u0131r\u0131 Sulama \/ K\u00f6kbo\u011faz\u0131 \u00c7\u00fcr\u00fcmesi)\",\n  \"plant_guess\": \"Bitki tahmini veya 'Belirtilmemi\u015f'\",\n  \"severity\": \"low | mid | high\",\n  \"severity_label\": \"Hafif | Orta | Acil\",\n  \"cause\": \"Sorunun nedeni 2-3 c\u00fcmle T\u00fcrk\u00e7e a\u00e7\u0131klama\",\n  \"steps\": [\"Ad\u0131m 1\", \"Ad\u0131m 2\", \"Ad\u0131m 3\", \"Ad\u0131m 4\"],\n  \"prevention\": \"\u00d6nleyici tedbirler 1-2 c\u00fcmle\",\n  \"tags\": [\"Etiket1\", \"Etiket2\", \"Etiket3\"]\n}`;<\/p>\n<p>      const messages = [];\n      if (uploadedImageBase64) {\n        messages.push({\n          role: 'user',\n          content: [\n            { type: 'image', source: { type: 'base64', media_type: 'image\/jpeg', data: uploadedImageBase64 } },\n            { type: 'text', text: userPrompt }\n          ]\n        });\n      } else {\n        messages.push({ role: 'user', content: userPrompt });\n      }<\/p>\n<p>      const response = await fetch('https:\/\/api.anthropic.com\/v1\/messages', {\n        method: 'POST',\n        headers: { 'Content-Type': 'application\/json' },\n        body: JSON.stringify({\n          model: 'claude-sonnet-4-20250514',\n          max_tokens: 1000,\n          system: 'Sen deneyimli bir T\u00fcrk peyzaj mimar\u0131s\u0131n. Bitki hastal\u0131klar\u0131 ve bak\u0131m\u0131 konusunda uzmans\u0131n. SADECE ge\u00e7erli JSON ile yan\u0131t ver, ba\u015fka hi\u00e7bir \u015fey yazma.',\n          messages\n        })\n      });<\/p>\n<p>      const data = await response.json();\n      const rawText = data.content.map(i => i.text || '').join('');\n      const clean = rawText.replace(\/json|\/g, '').trim();\n      const result = JSON.parse(clean);<\/p>\n<p>      \/\/ Render result\n      document.getElementById('resultDiagnosis').innerHTML = result.diagnosis.replace(\/\\\/\/g, ' \/ <em>') + (result.diagnosis.includes('\/') ? '<\/em>' : '');\n      document.getElementById('resultPlantName').textContent = result.plant_guess !== 'Belirtilmemi\u015f' ? result.plant_guess : '';<\/p>\n<p>      const badge = document.getElementById('severityBadge');\n      badge.textContent = result.severity_label;\n      badge.className = 'severity-badge';\n      badge.classList.add(result.severity === 'low' ? 'severity-low' : result.severity === 'high' ? 'severity-high' : 'severity-mid');<\/p>\n<p>      document.getElementById('resultCause').textContent = result.cause;<\/p>\n<p>      const stepsList = document.getElementById('resultSteps');\n      stepsList.innerHTML = '';\n      result.steps.forEach(step => {\n        const li = document.createElement('li');\n        li.className = 'result-step';\n        li.innerHTML = <span class=\"step-dot\"><\/span><span>${step}<\/span>;\n        stepsList.appendChild(li);\n      });<\/p>\n<p>      document.getElementById('resultPrevention').textContent = result.prevention;<\/p>\n<p>      const tagsWrap = document.getElementById('resultTags');\n      tagsWrap.innerHTML = '';\n      result.tags.forEach(tag => {\n        const span = document.createElement('span');\n        span.className = 'result-tag';\n        span.textContent = tag;\n        tagsWrap.appendChild(span);\n      });<\/p>\n<p>      document.getElementById('loadingWrap').classList.remove('active');\n      document.getElementById('resultWrap').classList.add('active');<\/p>\n<p>    } catch (err) {\n      document.getElementById('loadingWrap').classList.remove('active');\n      document.getElementById('formArea').style.display = 'block';\n      errorBox.textContent = 'Bir hata olu\u015ftu, l\u00fctfen tekrar deneyin.';\n      errorBox.classList.add('active');\n    }\n  });<\/p>\n<p>  \/\/ Reset\n  document.getElementById('btnReset').addEventListener('click', () => {\n    uploadedImageBase64 = null;\n    selectedSymptoms = [];\n    fileInput.value = '';\n    previewImg.src = '';\n    uploadPlaceholder.style.display = 'block';\n    uploadPreview.style.display = 'none';\n    document.querySelectorAll('.pill.selected').forEach(p => p.classList.remove('selected'));\n    document.getElementById('notesInput').value = '';\n    document.getElementById('errorBox').classList.remove('active');\n    document.getElementById('resultWrap').classList.remove('active');\n    document.getElementById('formArea').style.display = 'block';\n    window.scrollTo({ top: 0, behavior: 'smooth' });\n  });\n<\/script><br \/>\n<\/body><br \/>\n<\/html><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bitkime Ne Oldu? \u2014 Ay\u015fe Kaya Peyzaj AK \u2014 Peyzaj Bitkime Ne Oldu? AI Destekli Bitkine ne oldu? Foto\u011fraf y\u00fckle, belirtileri se\u00e7 \u2014 peyzaj uzmanl\u0131\u011f\u0131yla desteklenmi\u015f yapay zeka te\u015fhis koysun. Foto\u011fraf Y\u00fckle \ud83c\udf3f Bitkinin foto\u011fraf\u0131n\u0131 buraya s\u00fcr\u00fckle veya t\u0131kla \u2014 JPG, PNG, WEBP \u2715 Belirtileri Se\u00e7 (birden fazla se\u00e7ilebilir) Yaprak g\u00f6r\u00fcn\u00fcm\u00fc \ud83d\udfe1 Yapraklar sarar\u0131yor \ud83d\udfeb&hellip;&nbsp;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"neve_meta_sidebar":"","neve_meta_container":"","neve_meta_enable_content_width":"","neve_meta_content_width":0,"neve_meta_title_alignment":"","neve_meta_author_avatar":"","neve_post_elements_order":"","neve_meta_disable_header":"","neve_meta_disable_footer":"","neve_meta_disable_title":"","_themeisle_gutenberg_block_has_review":false,"footnotes":""},"class_list":["post-162","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/halebeyzabulut.com\/index.php\/wp-json\/wp\/v2\/pages\/162","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/halebeyzabulut.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/halebeyzabulut.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/halebeyzabulut.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/halebeyzabulut.com\/index.php\/wp-json\/wp\/v2\/comments?post=162"}],"version-history":[{"count":2,"href":"https:\/\/halebeyzabulut.com\/index.php\/wp-json\/wp\/v2\/pages\/162\/revisions"}],"predecessor-version":[{"id":164,"href":"https:\/\/halebeyzabulut.com\/index.php\/wp-json\/wp\/v2\/pages\/162\/revisions\/164"}],"wp:attachment":[{"href":"https:\/\/halebeyzabulut.com\/index.php\/wp-json\/wp\/v2\/media?parent=162"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}