  @import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

  :root {
    --bg: #000000;
    --surface: #141414;
    --surface2: #1f1f1f;
    --border: #2a2a2a;
    --accent: #c8853a;
    --accent2: #e8a855;
    --text: #f5f5f5;
    --text2: #9a9a9a;
    --text3: #686868;
    --green: #4caf7d;
    --red: #e05c5c;
    --radius: 16px;
    --radius-sm: 10px;
  }

  [data-theme="light"] {
    --bg: #ffffff;
    --surface: #f7f7f7;
    --surface2: #efefef;
    --border: #e0e0e0;
    --accent: #c8853a;
    --accent2: #e8a855;
    --text: #14130f;
    --text2: #5a5a5a;
    --text3: #7a7a7a;
    --green: #1f7a44;
    --red: #c93f3f;
  }

  * { box-sizing: border-box; margin: 0; padding: 0; -webkit-tap-highlight-color: transparent; -webkit-touch-callout: none; -webkit-user-select: none; user-select: none; }
  /* Sadece yazı girişleri seçilebilir kalsın */
  input, textarea, [contenteditable] { -webkit-user-select: text; user-select: text; -webkit-touch-callout: default; }
  html, body { height: 100%; height: 100dvh; background: var(--bg); color: var(--text); font-family: 'Inter', sans-serif; overflow: hidden; width: 100%; margin: 0; }
  html { position: relative; }

  /* ── SCREENS ── */
  .screen { position: absolute; inset: 0; display: flex; flex-direction: column; overflow: hidden; transition: opacity .25s, transform .25s; -webkit-backface-visibility: hidden; backface-visibility: hidden; }
  .screen.hidden { display: none !important; }
  .screen.hidden .leaflet-container, .screen.hidden .leaflet-control-container { display: none !important; }
  .screen.tab-switch { transition: none; }

  /* ── ONBOARDING ── */
  .ob-dot { width:8px;height:8px;border-radius:50%;background:var(--border);transition:all .3s; }
  .ob-dot.active { width:24px;border-radius:4px;background:var(--accent); }
  @keyframes float { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-12px)} }

  /* ── LOGIN ── */
  #login { background: var(--bg); align-items: center; justify-content: center; gap: 0; }
  .login-bg { position: absolute; inset: 0; background: radial-gradient(ellipse 80% 60% at 50% 20%, #3d2a0e44, transparent), radial-gradient(ellipse 60% 40% at 80% 80%, #1a3a2a33, transparent); }
  .login-content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; padding: 40px 32px; width: 100%; max-width: 380px; }

  .login-title { font-size: 32px; font-weight: 700; letter-spacing: -1px; margin-bottom: 8px; }
  .login-title span { color: var(--accent); }
  .login-sub { color: var(--text2); font-size: 15px; text-align: center; margin-bottom: 48px; line-height: 1.5; }



  .btn-google { width: 100%; padding: 16px; border-radius: var(--radius); border: 1px solid var(--border); background: var(--surface); color: var(--text); font-size: 16px; font-weight: 600; cursor: pointer; display: flex; align-items: center; justify-content: center; gap: 12px; transition: background .2s, transform .1s; font-family: 'Inter', sans-serif; }
  .btn-google:hover { background: var(--surface2); }
  .btn-google:active { transform: scale(.97); }
  .btn-google svg { width: 22px; height: 22px; flex-shrink: 0; }
  .demo-btn { margin-top: 10px; background: transparent; border: 1px solid var(--border); color: var(--text2); font-weight: 600; border-radius: 12px; padding: 10px; width: 100%; font-size: 13px; cursor: pointer; font-family: 'Inter', sans-serif; transition: opacity .2s, transform .1s; }
  .demo-btn:active { transform: scale(.97); opacity: .9; }
  .login-note { margin-top: 14px; margin-bottom: 12px; font-size: 10px; line-height: 1.4; color: var(--text3); text-align: center; padding: 0 90px; }

  /* ── SUPABASE CONFIG ── */
  #config-screen { background: var(--bg); justify-content: center; align-items: center; padding: 24px; }
  .config-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 28px; width: 100%; max-width: 400px; }
  .config-card h2 { font-size: 20px; font-weight: 700; margin-bottom: 8px; }
  .config-card p { color: var(--text2); font-size: 13px; margin-bottom: 24px; line-height: 1.5; }
  .input-group { margin-bottom: 16px; }
  .input-group label { display: block; font-size: 13px; font-weight: 500; color: var(--text2); margin-bottom: 6px; }
  .input-group input { width: 100%; background: var(--bg); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px 14px; color: var(--text); font-size: 14px; font-family: 'Inter', sans-serif; outline: none; transition: border-color .2s; }
  .input-group input:focus { border-color: var(--accent); }
  .save-config-btn { width: 100%; padding: 13px; background: var(--accent); color: #0f0e0c; font-weight: 700; border: none; border-radius: var(--radius-sm); font-size: 15px; cursor: pointer; font-family: 'Inter', sans-serif; }
  .skip-config { margin-top: 12px; width: 100%; padding: 13px; background: transparent; color: var(--text2); border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: 14px; cursor: pointer; font-family: 'Inter', sans-serif; }

  /* ── MAIN APP ── */
  #app { background: var(--bg); }
  .topbar { padding: calc(env(safe-area-inset-top, 0px) + 16px) 20px 16px; display: flex; align-items: center; gap: 12px; justify-content: space-between; flex-shrink: 0; }

  /* SpotMatch başlık renkleri — koyu mod */
  .spotmatch-spot { color: #fff8e0; }
  .spotmatch-match { color: #fbbf24; }
  .spotmatch-sub { color: #5a4510; }

  /* Sekme başlık renkleri — koyu mod */
  .th-blue-title { color: #e8f0ff; }
  .th-blue-sub { color: #3a5080; }
  .th-green-title { color: #e8fff0; }
  .th-green-sub { color: #2a5030; }
  .th-purple-title { color: #f0e8ff; }
  .th-purple-sub { color: #503a70; }
  .th-pink-title { color: #ffe8f4; }
  .th-pink-sub { color: #602040; }
  .th-orange-title { color: #fff0e0; }
  .th-orange-sub { color: #604020; }

  /* Açık mod overrides */
  [data-theme="midnight"] { --bg:#0b1322; --surface:#141f36; --surface2:#1d2b48; --border:#243450; --text:#e7eef9; --text2:#9fb0cc; --text3:#6b7d9c; }
  [data-theme="forest"] { --bg:#0a1710; --surface:#13251b; --surface2:#1c3427; --border:#20402e; --text:#e3f0e8; --text2:#9dc0ab; --text3:#6a8c78; }
  [data-theme="wine"] { --bg:#170b12; --surface:#26131e; --surface2:#361c2b; --border:#3d2130; --text:#f4e6ee; --text2:#cda3b7; --text3:#9c7387; }
  [data-theme="light"] .spotmatch-spot, body.light .spotmatch-spot { color: #1a0e00; }
  [data-theme="light"] .spotmatch-match, body.light .spotmatch-match { color: #b45309; }
  [data-theme="light"] .spotmatch-sub, body.light .spotmatch-sub { color: #92400e; }

  [data-theme="light"] .th-blue-title, body.light .th-blue-title { color: #0f172a; }
  [data-theme="light"] .th-blue-sub, body.light .th-blue-sub { color: #1d4ed8; }
  [data-theme="light"] .th-green-title, body.light .th-green-title { color: #052e16; }
  [data-theme="light"] .th-green-sub, body.light .th-green-sub { color: #15803d; }
  [data-theme="light"] .th-purple-title, body.light .th-purple-title { color: #2e1065; }
  [data-theme="light"] .th-purple-sub, body.light .th-purple-sub { color: #7c3aed; }
  [data-theme="light"] .th-pink-title, body.light .th-pink-title { color: #4a0520; }
  [data-theme="light"] .th-pink-sub, body.light .th-pink-sub { color: #be185d; }
  [data-theme="light"] .th-orange-title, body.light .th-orange-title { color: #431407; }
  [data-theme="light"] .th-orange-sub, body.light .th-orange-sub { color: #c2410c; }
  .topbar .back-btn { margin-top: 0; flex-shrink: 0; }
  .topbar-left h1 { font-size: 22px; font-weight: 700; letter-spacing: -.5px; }
  .topbar-left h1 span { color: var(--accent); }
  .topbar-left p { font-size: 13px; color: var(--text2); margin-top: 2px; }
  .topbar-right { display: flex; align-items: center; gap: 10px; }
  .avatar { width: 38px; height: 38px; border-radius: 50%; background: linear-gradient(135deg, var(--accent), var(--accent2)); border: 2px solid var(--accent); overflow: hidden; cursor: pointer; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 15px; color: #0f0e0c; flex-shrink: 0; }
  .avatar img { width: 100%; height: 100%; object-fit: cover; }
  .notif-btn { position: relative; width: 38px; height: 38px; border-radius: 50%; background: var(--surface); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 18px; }
  .notif-dot { display:none; position: absolute; top: 6px; right: 6px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); border: 2px solid var(--bg); }

  /* ── FILTER ── */
  .filter-bar { padding: 0 20px 12px; display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; flex-shrink: 0; }
  .filter-bar::-webkit-scrollbar { display: none; }
  .filter-chip { padding: 8px 16px; border-radius: 20px; border: 1px solid var(--border); background: var(--surface); color: var(--text2); font-size: 13px; font-weight: 500; cursor: pointer; white-space: nowrap; transition: all .2s; flex-shrink: 0; }
  .filter-chip.active { background: var(--accent); border-color: var(--accent); color: #0f0e0c; font-weight: 600; }

  /* ── VENUE LIST ── */
  .venue-list { overflow-y: auto; -webkit-overflow-scrolling: touch; touch-action: pan-y; overscroll-behavior-y: contain; padding: 0 16px 100px; display: flex; flex-direction: column; gap: 10px; scrollbar-width: none; flex: 1; min-height: 0; align-items: stretch; }
  .venue-list::-webkit-scrollbar { display: none; }






  .venue-name { font-size: 16px; font-weight: 700; margin-bottom: 4px; color: var(--text); }


  .badge-busy { background: #e05c5c22; color: var(--red); border: 1px solid #e05c5c44; }
  .badge-ok { background: #4caf7d22; color: var(--green); border: 1px solid #4caf7d44; }
  .badge-quiet { background: #c8853a22; color: var(--accent); border: 1px solid #c8853a44; }






  /* ── BOTTOM NAV ── */
  .bottom-nav { position: fixed; bottom: 0; left: 0; right: 0; height: auto; min-height: 64px; padding-bottom: env(safe-area-inset-bottom, 0px); padding-top: 8px; background: var(--surface); border-top: 1px solid var(--border); display: flex; align-items: flex-start; justify-content: space-around; z-index: 100; padding-left: 4px; padding-right: 4px; }
  .bottom-nav.nav-hidden { display: none; }
  .nav-item { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer; flex: 1; padding: 0 4px 4px; position: relative; -webkit-tap-highlight-color: transparent; transition: opacity .15s; }
  .nav-item::before { content: ''; position: absolute; top: -8px; left: 22%; right: 22%; height: 3px; border-radius: 0 0 3px 3px; background: transparent; transition: background .2s; }
  .nav-item.active::before { background: var(--accent); }
  .nav-item i { font-size: 22px; color: var(--text3); transition: color .2s; }
  .nav-item.active i { color: var(--text); }
  .nav-label { font-size: 10px; font-weight: 500; color: var(--text3); transition: color .2s; }
  .nav-item.active .nav-label { color: var(--text2); }
  .nav-badge { position: absolute; top: 4px; right: calc(50% - 20px); background: var(--red,#e05c5c); color: white; border-radius: 10px; font-size: 9px; font-weight: 700; padding: 1px 5px; min-width: 16px; text-align: center; line-height: 1.4; }
  .filter-modal-overlay { display:none;position:fixed;inset:0;z-index:900;background:#00000077 }
  .filter-modal { display:none;position:fixed;bottom:0;left:0;right:0;z-index:901;background:var(--surface);border-radius:24px 24px 0 0;max-height:90vh;overflow-y:auto }
  .filter-segment { display:flex;background:var(--surface2);border-radius:12px;padding:3px;gap:2px }
  .filter-seg-item { flex:1;padding:9px 2px;border-radius:9px;text-align:center;font-size:11px;font-weight:600;color:var(--text3);cursor:pointer;transition:all .2s;white-space:nowrap }
  .filter-seg-item.active { background:var(--accent);color:#0a0a0a }
  .filter-semt-item { padding:8px 14px;border-radius:20px;background:var(--surface2);font-size:12px;color:var(--text2);cursor:pointer;border:1.5px solid transparent;transition:all .2s }
  .filter-semt-item.active { border-color:var(--accent);color:var(--accent);background:var(--accent)15;font-weight:700 }
  #filter-dist-slider { -webkit-appearance:none;width:100%;height:4px;border-radius:2px;outline:none;cursor:pointer }
  #filter-dist-slider::-webkit-slider-thumb { -webkit-appearance:none;width:24px;height:24px;border-radius:50%;background:var(--surface);box-shadow:0 2px 8px #00000066;cursor:pointer;border:2px solid var(--accent) }
  #filter-dist-slider::-moz-range-thumb { width:24px;height:24px;border-radius:50%;background:var(--surface);box-shadow:0 2px 8px #00000066;cursor:pointer;border:2px solid var(--accent) }

  /* ── DETAIL ── */
  #detail { background: var(--bg); }
  .detail-header { padding: calc(env(safe-area-inset-top, 0px) + 14px) 12px 10px; display: flex; align-items: center; gap: 8px; flex-shrink: 0; background: transparent; border-bottom: none; }
  .back-btn { width: 40px; height: 40px; border-radius: 50%; background: var(--surface); border: 1px solid var(--border); display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 18px; flex-shrink: 0; }
  .detail-title-wrap h2 { font-size: 20px; font-weight: 700; }
  .detail-title-wrap p { font-size: 13px; color: var(--text2); margin-top: 2px; }
  .detail-body { flex: 1; overflow-y: auto; padding: 0 20px 100px; scrollbar-width: none; }
  .detail-body::-webkit-scrollbar { display: none; }



  .stat-num { font-size: 24px; font-weight: 700; color: var(--accent); }

  .checkin-btn { width: 100%; padding: 16px; background: linear-gradient(135deg, var(--accent), var(--accent2)); border: none; border-radius: var(--radius); color: #0f0e0c; font-size: 16px; font-weight: 700; cursor: pointer; font-family: 'Inter', sans-serif; transition: opacity .2s, transform .1s; margin-bottom: 20px; }
  .checkin-btn:active { transform: scale(.97); }
  .checkin-btn.checked { background: var(--surface2); color: var(--green); border: 1px solid var(--green); }

  .user-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 14px; display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
  .user-avatar { width: 44px; height: 44px; border-radius: 50%; background: linear-gradient(135deg, #3d2a0e, #1a3a2a); display: flex; align-items: center; justify-content: center; font-size: 18px; flex-shrink: 0; }
  .user-info { flex: 1; }
  .user-name { font-size: 14px; font-weight: 600; }

  .tag { font-size: 11px; padding: 2px 8px; border-radius: 20px; background: var(--surface2); color: var(--text2); border: 1px solid var(--border); }
  .meet-btn { padding: 8px 14px; border-radius: 20px; background: var(--accent); border: none; color: #0f0e0c; font-size: 13px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; white-space: nowrap; }

  /* ── MAP ── */
  #map-screen { overflow-y: auto; }
  .plan-card { background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);padding:18px;margin-bottom:12px;cursor:pointer;transition:all .2s; }
  .plan-card:active { transform:scale(.98); }
  .plan-card.selected { }
  .plan-feature { font-size:13px;color:var(--text2);margin-bottom:6px; }
  .plan-locked { color:var(--text3);text-decoration:line-through; }
  .loc-chip { padding:7px 12px;border-radius:20px;border:1px solid var(--border);background:var(--surface);color:var(--text2);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0; }
  .loc-chip.active { background:var(--accent);border-color:var(--accent);color:#0f0e0c;font-weight:700; }

  .dist-chip.active { background:var(--surface2);border-color:var(--accent);color:var(--accent);font-weight:700; }
  #leaflet-map { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; }
  .leaflet-container { background: #1a1814 !important; font-family: 'Inter', sans-serif; }
  .leaflet-tile { filter: brightness(0.85) saturate(0.7) hue-rotate(10deg); }
  .map-venue-marker { background: var(--accent); border: 2px solid var(--accent2); border-radius: 50% 50% 50% 0; width: 32px; height: 32px; transform: rotate(-45deg); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px #00000066; cursor: pointer; }
  .map-venue-marker span { transform: rotate(45deg); font-size: 14px; }
  .map-me-marker { background: #4caf7d; border: 3px solid #fff; border-radius: 50%; width: 20px; height: 20px; box-shadow: 0 0 0 6px #4caf7d44; animation: pulse-map 2s infinite; }
  @keyframes pulse-map { 0%,100% { box-shadow: 0 0 0 6px #4caf7d44; } 50% { box-shadow: 0 0 0 12px #4caf7d22; } }
  .leaflet-popup-content-wrapper { background: var(--surface) !important; color: var(--text) !important; border: 1px solid var(--border) !important; border-radius: 12px !important; box-shadow: 0 8px 30px #00000066 !important; }
  .leaflet-popup-tip { background: var(--surface) !important; }
  .leaflet-popup-content { margin: 12px 16px !important; font-family: 'Inter', sans-serif !important; }
  .leaflet-control-zoom { border: 1px solid var(--border) !important; border-radius: 10px !important; overflow: hidden; }
  .leaflet-control-zoom a { background: var(--surface) !important; color: var(--text) !important; border-bottom: 1px solid var(--border) !important; }

  /* ── MATCHES ── */
  #matches-screen { background: var(--bg); }

  .match-card { width: 100%; max-width: 340px; background: var(--surface); border: 1px solid var(--border); border-radius: 20px; overflow: hidden; box-shadow: 0 20px 60px #00000066; position: absolute; transition: transform .3s, opacity .3s; cursor: grab; left: 50%; transform: translateX(-50%); }
  .match-card-img { height: 260px; background: linear-gradient(135deg, #2a1a0e, #0e1a2a); display: flex; align-items: center; justify-content: center; font-size: 72px; }
  .match-card-info { padding: 16px; }
  .match-card-info h3 { font-size: 20px; font-weight: 700; }
  .match-card-info p { font-size: 13px; color: var(--text2); margin-top: 4px; }
  .match-location { display: flex; align-items: center; gap: 6px; font-size: 13px; color: var(--accent); margin-top: 8px; }


  .swipe-btn.pass { border-color: var(--red); }
  .swipe-btn.pass:active { background: #e05c5c22; transform: scale(.92); }
  .swipe-btn.like { border-color: var(--green); }
  .swipe-btn.like:active { background: #4caf7d22; transform: scale(.92); }
  .match-toast { position: absolute; top: 20px; left: 50%; transform: translateX(-50%); background: var(--accent); color: #0f0e0c; padding: 10px 20px; border-radius: 20px; font-weight: 700; font-size: 14px; opacity: 0; transition: opacity .3s; pointer-events: none; white-space: nowrap; z-index: 100; }
  .match-toast.show { opacity: 1; }

  /* ── MESSAGES ── */
  #messages-screen { background: var(--bg); }
  .msg-list { flex: 1; overflow-y: auto; padding: 0 20px 20px; display: flex; flex-direction: column; gap: 8px; scrollbar-width: none; }
  .msg-list::-webkit-scrollbar { display: none; }
  .msg-row { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 14px; display: flex; align-items: center; gap: 12px; cursor: pointer; transition: background .15s; }
  .msg-row:active { background: var(--surface2); }
  .msg-row-avatar { width: 48px; height: 48px; border-radius: 50%; background: linear-gradient(135deg, #3d2a0e, #1a3a2a); display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; }
  .msg-row-info { flex: 1; min-width: 0; }
  .msg-row-info h4 { font-size: 14px; font-weight: 600; }
  .msg-row-info p { font-size: 13px; color: var(--text2); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .msg-row-time { font-size: 11px; color: var(--text3); flex-shrink: 0; }

  /* ── CHAT ── */
  #chat-screen { background: var(--bg); }
  .chat-body { flex: 1; overflow-y: auto; overflow-x: hidden; padding: 12px 14px; display: flex; flex-direction: column; gap: 6px; scrollbar-width: none; min-width: 0; align-items: stretch; touch-action: pan-y; }
  .msg-row-flex { touch-action: pan-y; }
  .chat-body > .msg-row-flex { flex-shrink: 0; }

  /* Chat arka plan stilleri */
  .chat-bg-default { background:#0a0a0f; background-image:radial-gradient(#ffffff08 1px,transparent 1px); background-size:18px 18px; }
  .chat-bg-default .msg-bubble-them { background:#1a1a2a; color:#c8d0ff; border:1px solid #2a2a3a; }
  .chat-bg-default .msg-bubble-me { background:#a78bfa; color:#fff; }

  .chat-bg-night { background:linear-gradient(160deg,#1a0500 0%,#2a0a15 40%,#1a0a20 100%); }
  .chat-bg-night .msg-bubble-them { background:#2a1008; color:#ffd0a0; border:1px solid #3a2010; }
  .chat-bg-night .msg-bubble-me { background:linear-gradient(135deg,#fb923c,#f472b6); color:#fff; }

  .chat-bg-navy { background:#020b18; }
  .chat-bg-navy .msg-bubble-them { background:#0a2540; color:#bae6fd; border:1px solid #0e3050; }
  .chat-bg-navy .msg-bubble-me { background:#0284c7; color:#fff; }

  .chat-bg-lavender { background:#050510; }
  .chat-bg-lavender .msg-bubble-them { background:#0f1030; color:#a5f3fc; border:1px solid #22d3ee33; }
  .chat-bg-lavender .msg-bubble-me { background:linear-gradient(135deg,#22d3ee,#818cf8); color:#fff; }

  .chat-bg-forest { background:#faf7f2; }
  .chat-bg-forest .msg-bubble-them { background:#fff; color:#2a1a00; box-shadow:0 1px 4px #0001; }
  .chat-bg-forest .msg-bubble-me { background:#c8853a; color:#fff; }

  .chat-bg-plain { background:#040f08; }
  .chat-bg-plain .msg-bubble-them { background:#0a2010; color:#86efac; border:1px solid #1a4a20; }
  .chat-bg-plain .msg-bubble-me { background:#16a34a; color:#fff; }
  .chat-body::-webkit-scrollbar { display: none; }
  .bubble { max-width: 72%; padding: 5px 9px; border-radius: 11px; font-size: 13px; line-height: 1.3; word-wrap: break-word; overflow-wrap: break-word; white-space: normal; position: relative; box-shadow: 0 1px 1px rgba(0,0,0,0.13); width: fit-content; }
  .bubble .msg-text { white-space: pre-wrap; }
  .bubble-content-row { display: flex; align-items: flex-end; gap: 5px; flex-wrap: wrap; }
  .bubble.me { border-bottom-right-radius: 3px; }
  .bubble.them { border-bottom-left-radius: 3px; }
  .bubble .msg-time-inline { font-size: 9px; opacity: 0.55; white-space: nowrap; flex-shrink: 0; margin-left: 4px; }
  .msg-row-flex { display: flex; width: 100%; margin-bottom: 3px; padding: 0 8px; align-items: flex-start; }
  .msg-sel { display: none; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--text3); align-self: center; margin-right: 8px; flex-shrink: 0; align-items: center; justify-content: center; color: transparent; }
  .msg-sel.on { background: #fbbf24; border-color: #fbbf24; color: #0a0a0a; }
  .chat-body.select-mode .msg-sel { display: flex; }

  /* 1 - Karanlık Gece */
  .chat-bg-default { background:#0a0a0f; background-image:radial-gradient(#ffffff08 1px,transparent 1px); background-size:18px 18px; }
  .chat-bg-default .bubble.them { background:#1a1a2a!important; color:#c8d0ff!important; border:1px solid #2a2a3a!important; }
  .chat-bg-default .bubble.me { background:#a78bfa!important; color:#fff!important; }

  /* 2 - Gün Batımı */
  .chat-bg-night { background:linear-gradient(160deg,#1a0500 0%,#2a0a15 40%,#1a0a20 100%); }
  .chat-bg-night .bubble.them { background:#2a1008!important; color:#ffd0a0!important; border:1px solid #3a2010!important; }
  .chat-bg-night .bubble.me { background:linear-gradient(135deg,#fb923c,#f472b6)!important; color:#fff!important; }

  /* 3 - Okyanus */
  .chat-bg-navy { background:#020b18; background-image:linear-gradient(180deg,#020b18 0%,#041525 50%,#020e20 100%); }
  .chat-bg-navy .bubble.them { background:#0a2540!important; color:#bae6fd!important; border:1px solid #0e3050!important; }
  .chat-bg-navy .bubble.me { background:#0284c7!important; color:#fff!important; }

  /* 4 - Neon Şehir */
  .chat-bg-lavender { background:#050510; background-image:linear-gradient(rgba(34,211,238,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(34,211,238,.04) 1px,transparent 1px); background-size:20px 20px; }
  .chat-bg-lavender .bubble.them { background:#0f1030!important; color:#a5f3fc!important; border:1px solid #22d3ee33!important; }
  .chat-bg-lavender .bubble.me { background:linear-gradient(135deg,#22d3ee,#818cf8)!important; color:#fff!important; }

  /* 5 - Krem Kağıt */
  .chat-bg-forest { background:#faf7f2; }
  .chat-bg-forest .bubble.them { background:#fff!important; color:#2a1a00!important; box-shadow:0 1px 4px #0001!important; border:none!important; }
  .chat-bg-forest .bubble.me { background:#c8853a!important; color:#fff!important; }

  /* 6 - Orman */
  .chat-bg-plain { background:#040f08; background-image:radial-gradient(ellipse at 20% 50%,#0a2010 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,#071a0c 0%,transparent 50%); }
  .chat-bg-plain .bubble.them { background:#0a2010!important; color:#86efac!important; border:1px solid #1a4a20!important; }
  .chat-bg-plain .bubble.me { background:#16a34a!important; color:#fff!important; }
  .chat-input-bar { padding: 10px 14px 28px; display: flex; gap: 10px; border-top: none; background: transparent; }
  .chat-input { flex: 1; background: rgba(128,128,128,0.15); border: none; border-radius: 22px; padding: 11px 16px; color: var(--text); font-size: 14px; outline: none; font-family: 'Inter', sans-serif; }
  .chat-send { width: 44px; height: 44px; border-radius: 50%; background: var(--accent); border: none; color: #0f0e0c; font-size: 20px; cursor: pointer; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }

  /* ── FAVORITES ── */
  #fav-screen { background: var(--bg); }
  .empty-state { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; color: var(--text2); padding: 44px 30px; text-align: center; }
  .empty-state .empty-icon { width: 92px; height: 92px; border-radius: 26px; background: linear-gradient(150deg, #241a0c, #3a2a15); display: flex; align-items: center; justify-content: center; font-size: 42px; margin-bottom: 18px; box-shadow: 0 10px 30px rgba(200,133,58,.22); }
  .empty-state p { font-size: 18px; font-weight: 800; color: var(--text); margin-bottom: 8px; }
  .empty-state small { font-size: 13px; color: var(--text3); line-height: 1.5; max-width: 270px; }
  .empty-cta { margin-top: 20px; background: linear-gradient(135deg, var(--accent), var(--accent2)); color: #1a1206; font-size: 13px; font-weight: 800; padding: 12px 26px; border-radius: 24px; border: none; cursor: pointer; font-family: inherit; -webkit-tap-highlight-color: transparent; }
  .empty-cta:active { transform: scale(.96); }

  /* ── SKELETON (yükleniyor) ── */
  @keyframes sm-shimmer { 0% { background-position: -240px 0; } 100% { background-position: 240px 0; } }
  .sk { background: linear-gradient(90deg, #151515 25%, #232323 50%, #151515 75%); background-size: 480px 100%; animation: sm-shimmer 1.25s ease-in-out infinite; border-radius: 8px; }
  [data-theme="light"] .sk { background: linear-gradient(90deg, #e7e7ea 25%, #f3f3f5 50%, #e7e7ea 75%); background-size: 480px 100%; }
  .sk-card { background: var(--surface); border: 1px solid var(--border); border-radius: 14px; padding: 11px; display: flex; gap: 11px; align-items: center; margin-bottom: 10px; }

  /* ── PROFILE ── */
  #profile-screen { background: var(--bg); overflow-y: auto; }
  .profile-content { padding: 52px 20px 100px; }

  .profile-avatar { width: 80px; height: 80px; border-radius: 50%; background: linear-gradient(135deg, var(--accent), var(--accent2)); display: flex; align-items: center; justify-content: center; font-size: 34px; font-weight: 700; color: #0f0e0c; margin-bottom: 12px; overflow: hidden; border: 3px solid var(--accent); }
  .profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
  .profile-name { font-size: 22px; font-weight: 700; }
  .profile-email { font-size: 13px; color: var(--text2); margin-top: 4px; }
  .profile-bio { font-size: 14px; color: var(--text2); margin-top: 12px; text-align: center; line-height: 1.5; }

  .p-stat { background: var(--surface); padding: 8px 5px; text-align: center; }
  .p-stat-num { font-size: 14px; font-weight: 800; color: var(--accent); }
  .p-stat-lbl { font-size: 8.5px; color: var(--text2); margin-top: 1px; text-transform: uppercase; letter-spacing: .4px; font-weight: 700; }

  .profile-section h3 { font-size: 13px; font-weight: 600; color: var(--text2); text-transform: uppercase; letter-spacing: .5px; margin-bottom: 12px; }


  .logout-btn { width: 100%; padding: 14px; background: transparent; border: 1px solid #e05c5c44; border-radius: var(--radius); color: var(--red); font-size: 15px; font-weight: 600; cursor: pointer; font-family: 'Inter', sans-serif; transition: background .15s; }
  .logout-btn:hover { background: #e05c5c11; }

  /* ── TOAST ── */
  #toast { position: fixed; top: 60px; left: 50%; transform: translateX(-50%); background: var(--surface); border: 1px solid var(--border); color: var(--text); padding: 12px 20px; border-radius: 20px; font-size: 14px; font-weight: 500; box-shadow: 0 8px 30px #00000066; opacity: 0; transition: opacity .3s; pointer-events: none; z-index: 9999; white-space: nowrap; }
  #toast.show { opacity: 1; }

  /* ── LOADING ── */
  #loading { background: var(--bg); align-items: center; justify-content: center; }
  .spinner { width: 40px; height: 40px; border: 3px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: spin .8s linear infinite; }
  @keyframes spin { to { transform: rotate(360deg); } }
  .ptr-spinner { display: none; justify-content: center; align-items: center; padding: 12px 0; }
  .ptr-spinner .ptr-ring { width: 26px; height: 26px; border: 3px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: spin .7s linear infinite; }
  .ptr-spinner.active { display: flex; }
  @keyframes tierGlowGold { 0%,100%{box-shadow:0 0 6px #fbbf2455} 50%{box-shadow:0 0 18px #fbbf24bb} }
  @keyframes tierGlowPurple { 0%,100%{box-shadow:0 0 6px #c084fc55} 50%{box-shadow:0 0 18px #c084fcbb} }
  .tier-glow-gold { animation: tierGlowGold 2s ease-in-out infinite; border: 2px solid #fbbf24 !important; }
  .tier-glow-purple { animation: tierGlowPurple 2s ease-in-out infinite; border: 2px solid #c084fc !important; }

  /* Mobil iyileştirmeleri */
  @media (max-width: 480px) {
    .topbar { padding: 44px 16px 12px; }
    .venue-list { padding: 0 14px 100px; }
    .filter-bar { padding: 0 14px 12px; }
    .detail-body { padding: 0 14px 100px; }
    .profile-content { padding: 44px 16px 100px; }
    .match-card-img { height: 220px; }


    .bottom-nav { height: 64px; }

    .nav-label { font-size: 9px; }
  }
  .confetti-piece { position: fixed; width: 10px; height: 10px; border-radius: 2px; animation: fall 1.2s ease-in forwards; pointer-events: none; z-index: 9998; }
  @keyframes fall { 0% { opacity: 1; transform: translateY(0) rotate(0deg); } 100% { opacity: 0; transform: translateY(100vh) rotate(720deg); } }

/* --- biz-tab --- */
  .biz-tab { flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 0 11px;font-size:18px;color:var(--text3);cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent;min-width:0 }
  .biz-tab span { font-size:9px;font-weight:700;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis }
  .biz-tab #biznav-menu-ic { font-size:18px }
  .biz-tab.on { color:var(--text) }
  .biz-tab.on::before { content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:26px;height:3px;background:var(--accent);border-radius:0 0 4px 4px }

/* Konum verisi gizli tutulur — bilgi gizlilik şeridindeki Konum kutucuğunda gösterilir */
#live-loc-content { display: none !important; }

/* ── Konumlar: konum çubuğu + harita paneli ── */
.konum-locbar{display:flex;align-items:center;gap:10px;margin:2px 16px 8px;padding:9px 12px;background:var(--surface);border:1px solid var(--border);border-radius:13px;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}
.konum-locbar .kl-ico{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;background:var(--surface2);color:var(--text3);flex-shrink:0;font-size:16px}
.konum-locbar.on .kl-ico{background:#4caf7d1a;color:#4caf7d}
.konum-locbar .kl-txt{display:flex;flex-direction:column;min-width:0;flex:1}
.konum-locbar .kl-title{font-size:12.5px;font-weight:700;color:var(--text)}
.konum-locbar .kl-sub{font-size:10.5px;color:var(--text3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.konum-locbar.on .kl-sub{color:#7fbf9b}
.konum-locbar .kl-sw{width:40px;height:23px;border-radius:12px;background:var(--surface2);border:1px solid var(--border);position:relative;flex-shrink:0;transition:.2s}
.konum-locbar .kl-sw i{position:absolute;top:2px;left:2px;width:17px;height:17px;border-radius:50%;background:var(--text3);transition:.2s}
.konum-locbar.on .kl-sw{background:#4caf7d;border-color:#4caf7d}
.konum-locbar.on .kl-sw i{left:19px;background:#fff}
.kl-chip{display:none;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--text2);background:var(--surface2);border:1px solid var(--border);border-radius:16px;padding:5px 10px;white-space:nowrap;cursor:pointer;flex-shrink:0}
.kl-chip i{font-size:13px}
.konum-locbar.on .kl-chip,.konum-sheet .kl-chip{display:flex}
.konum-sheet{position:absolute;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom,0px));height:150px;z-index:950;background:var(--bg);border-top:1px solid var(--border);border-radius:20px 20px 0 0;box-shadow:0 -10px 30px #0007;display:flex;flex-direction:column;transition:height .25s ease}
.konum-sheet.open{height:62%}
.konum-sheet .ks-head{padding:8px 16px 8px;cursor:pointer;flex-shrink:0;touch-action:none}
.konum-sheet .ks-grab{width:38px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 9px}
.konum-sheet .ks-row{display:flex;align-items:center;gap:7px}
.konum-sheet .ks-title{font-size:13px;font-weight:800;color:var(--text)}
.konum-sheet .ks-count{font-size:10.5px;font-weight:700;background:var(--surface2);color:var(--text3);border-radius:10px;padding:1px 7px}
.konum-sheet .ks-row .kl-chip{margin-left:auto}
.konum-sheet .ks-list{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:2px 16px 14px;display:flex;flex-direction:column;gap:8px;scrollbar-width:none}
.ks-item{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border);border-radius:13px;padding:10px 11px;cursor:pointer}
.ks-item .ks-ic{width:36px;height:36px;border-radius:10px;background:#c8853a14;border:1px solid #c8853a2e;display:flex;align-items:center;justify-content:center;color:var(--icon);font-size:17px;flex-shrink:0}
.ks-item .ks-nm{font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ks-item .ks-md{font-size:10.5px;color:var(--text3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ks-item .ks-bar{height:3px;background:var(--border);border-radius:2px;margin-top:6px}
.ks-item .ks-bar i{display:block;height:100%;border-radius:2px}
.ks-item .ks-k{font-size:10.5px;font-weight:700;white-space:nowrap}
#map-screen .konum-center-btn{bottom:calc(64px + env(safe-area-inset-bottom,0px) + 162px) !important;transition:opacity .2s}
#map-screen.ks-open .konum-center-btn,#map-screen.ks-open #map-legend{opacity:0;pointer-events:none}
#map-screen #map-info-card{bottom:calc(64px + env(safe-area-inset-bottom,0px) + 162px) !important}

/* ── Konumlar: sabit mini harita + altında kayan liste (v2026.11.04-6) ── */
#map-screen #konum-map-box{flex-shrink:0;height:clamp(230px,40vh,360px);margin:0 16px;border-radius:16px;border:1px solid var(--border)}
#map-screen #konum-map-box .leaflet-control-attribution{font-size:9px;background:#ffffffb8;padding:0 5px;border-radius:6px 0 0 0}
.konum-sheet.static{position:static;height:auto;flex:1;min-height:0;border:none;border-radius:0;box-shadow:none;background:transparent;transition:none}
.konum-sheet.static .ks-head{padding:12px 16px 8px;cursor:default;touch-action:auto}
.konum-sheet.static .ks-list{padding:2px 16px calc(64px + env(safe-area-inset-bottom,0px) + 14px)}
#map-screen .konum-center-btn{bottom:12px !important;left:12px !important}
#map-screen #map-info-card{bottom:calc(64px + env(safe-area-inset-bottom,0px) + 12px) !important}

/* ── Emoji → ikon (v2026.11.04-7) ── */
:root{--icon:#e8a855}
[data-theme="light"],body.light{--icon:#b45309}
.emo-ic{font-size:1.05em;line-height:1;vertical-align:-0.14em;display:inline-block}
.emo-solo{color:var(--icon)}
.leaflet-marker-icon .emo-ic{color:#fff !important;font-size:19px;vertical-align:0}
#toast{display:flex;align-items:center;justify-content:center;gap:7px}
#toast .toast-ic{font-size:17px;line-height:1;flex-shrink:0}

/* ── Profil: özet satırları + alttan panel (v2026.11.04-8) ── */
.prof-rows{display:flex;flex-direction:column;gap:8px;margin-top:16px}
.prow{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:12px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.prow:active{transform:scale(.99)}
.prow-ic{width:34px;height:34px;border-radius:10px;background:#c8853a14;border:1px solid #c8853a2e;display:flex;align-items:center;justify-content:center;color:var(--icon);font-size:17px;flex-shrink:0}
.prow-tx{flex:1;min-width:0}.prow-t{font-size:13.5px;font-weight:700;color:var(--text)}
.prow-s{font-size:11px;color:var(--text3);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prow-cv{font-size:17px;color:var(--text3);flex-shrink:0}
.prow-avs{display:flex;flex-shrink:0}.prow-avs:empty{display:none}
.prow-avs .pav{width:24px;height:24px;border-radius:50%;border:2px solid var(--surface);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;overflow:hidden;background:var(--surface2)}
.prow-avs .pav+.pav{margin-left:-8px}.prow-avs .pav img{width:100%;height:100%;object-fit:cover}
.prof-sheet-ov{position:fixed;inset:0;z-index:1200;background:#0007;display:none;align-items:flex-end;justify-content:center}
.prof-sheet-ov.on{display:flex}
.prof-sheet{width:100%;max-width:520px;max-height:82vh;background:var(--bg);border-radius:20px 20px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;padding:8px 16px calc(16px + env(safe-area-inset-bottom,0px));animation:psUp .22s ease}
@keyframes psUp{from{transform:translateY(40px);opacity:.5}to{transform:none;opacity:1}}
.ps-grab{width:38px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 10px;flex-shrink:0}
.ps-head{display:flex;align-items:center;margin-bottom:10px;flex-shrink:0}.ps-title{font-size:16px;font-weight:800;color:var(--text)}
.ps-x{margin-left:auto;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:18px;cursor:pointer;background:var(--surface2)}
.ps-body{overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1;min-height:0;scrollbar-width:none}
.ps-body .in-sheet{margin-top:0 !important}
#prof-sec-matches.in-sheet > div:first-child{display:none !important}
#prof-sec-matches.in-sheet #matches-toggle-btn{display:none !important}
#profile-premium-section.in-sheet > div:first-child{display:none !important}
.pi-f{border:1px solid color-mix(in srgb,var(--c) 28%,transparent);background:color-mix(in srgb,var(--c) 6%,transparent);border-radius:12px;padding:10px 11px;margin-bottom:8px}
.pi-l{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:800;letter-spacing:.5px;text-transform:uppercase;color:var(--c)}.pi-l i{font-size:14px}
.pi-tags{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 0}.pi-tags:empty{display:none}
.pi-tag{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:4px 6px 4px 10px}
.pi-tag i{font-size:13px;color:var(--text3);cursor:pointer;padding:1px}
.pi-in{display:flex;gap:6px;margin-top:8px}
.pi-in input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:9px 11px;color:var(--text);font-size:14px;font-family:Inter,sans-serif;outline:none}
.pi-in button{width:38px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--icon);font-size:17px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pi-save{width:100%;margin-top:4px;padding:14px;border:none;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#1a1206;font-size:14.5px;font-weight:800;font-family:Inter,sans-serif;cursor:pointer}
.pi-save:disabled{opacity:.6}

/* ── Mekan türüne göre sabit ikon rengi + kalın çizgi (v2026.11.04-9) ── */
.vcat{--cc:var(--icon)}
.vcat[data-cat="kafe"]{--cc:#f5c04a}
.vcat[data-cat="restoran"]{--cc:#60a5fa}
.vcat[data-cat="bar"]{--cc:#c084fc}
.vcat[data-cat="fastfood"]{--cc:#fb923c}
.vcat[data-cat="tatli"]{--cc:#f472b6}
.vcat[data-cat="park"]{--cc:#4ade80}
.vcat[data-cat="tarihi"]{--cc:#2dd4bf}
.vcat[data-cat="devlet_dairesi"]{--cc:#94a3b8}
[data-theme="light"] .vcat[data-cat="kafe"]{--cc:#a16207}
[data-theme="light"] .vcat[data-cat="restoran"]{--cc:#1d4ed8}
[data-theme="light"] .vcat[data-cat="bar"]{--cc:#7e22ce}
[data-theme="light"] .vcat[data-cat="fastfood"]{--cc:#c2410c}
[data-theme="light"] .vcat[data-cat="tatli"]{--cc:#be185d}
[data-theme="light"] .vcat[data-cat="park"]{--cc:#15803d}
[data-theme="light"] .vcat[data-cat="tarihi"]{--cc:#0f766e}
[data-theme="light"] .vcat[data-cat="devlet_dairesi"]{--cc:#475569}
.vcat{background:color-mix(in srgb,var(--cc) 14%,var(--surface2)) !important;border:1px solid color-mix(in srgb,var(--cc) 30%,transparent) !important}
.vcat .ti,.vcat .emo-ic{color:var(--cc) !important;-webkit-text-stroke:.7px var(--cc)}

/* ── Profilim: kare kutular + rozet (v2026.11.04-10) ── */
.prof-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ptile{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:14px 4px 12px;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent}
.ptile:active{transform:scale(.98)}
.ptile-ic{font-size:20px;display:block;line-height:1}
.ptile-t{font-size:10.5px;font-weight:700;color:var(--text);margin-top:6px}
.ptile-blue{color:#60a5fa}.ptile-purple{color:#c084fc}
[data-theme="light"] .ptile-blue{color:#1d4ed8}[data-theme="light"] .ptile-purple{color:#7e22ce}
.ptile-bdg{position:absolute;top:6px;right:6px;font-size:9px;font-weight:800;line-height:1;color:#0f0e0c;background:var(--accent2);border-radius:7px;padding:3px 5px}
.ptile-bdg.muted{background:var(--surface2);color:var(--text3)}

/* ── Ayarlar: tema paneli kutuları (v2026.11.04-11) ── */
.ptile-green{color:#4ade80}.ptile-amber{color:#f0b429}
[data-theme="light"] .ptile-green{color:#15803d}[data-theme="light"] .ptile-amber{color:#b45309}
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.theme-grid .th{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:11px 4px 10px;text-align:center;cursor:pointer}
.theme-grid .th.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.theme-grid .th.on b{color:var(--icon)}
.theme-grid .swc{position:relative;display:block;width:36px;height:36px;border-radius:10px;margin:0 auto 6px;border:1px solid #8882}
.theme-grid .lk{position:absolute;inset:0;border-radius:10px;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px}
.theme-grid .th b{display:block;font-size:10.5px;font-weight:700;color:var(--text);white-space:nowrap}
.theme-grid .tier{position:absolute;top:5px;right:5px;font-style:normal;font-size:8px;font-weight:800;color:#c084fc;background:#c084fc1f;border-radius:6px;padding:2px 4px}
[data-theme="light"] .theme-grid .tier{color:#7e22ce}

/* ── Kart çizgisi tür renginde + filtre il/ilçe (v2026.11.04-14) ── */
.vstripe{background:var(--icon)}
.vstripe[data-cat="kafe"],.vcat-ic[data-cat="kafe"]{--cc:#f5c04a}
.vstripe[data-cat="restoran"],.vcat-ic[data-cat="restoran"]{--cc:#60a5fa}
.vstripe[data-cat="bar"],.vcat-ic[data-cat="bar"]{--cc:#c084fc}
.vstripe[data-cat="fastfood"],.vcat-ic[data-cat="fastfood"]{--cc:#fb923c}
.vstripe[data-cat="tatli"],.vcat-ic[data-cat="tatli"]{--cc:#f472b6}
.vstripe[data-cat="park"],.vcat-ic[data-cat="park"]{--cc:#4ade80}
.vstripe[data-cat="tarihi"],.vcat-ic[data-cat="tarihi"]{--cc:#2dd4bf}
.vstripe[data-cat="devlet_dairesi"],.vcat-ic[data-cat="devlet_dairesi"]{--cc:#94a3b8}
[data-theme="light"] .vstripe[data-cat="kafe"],[data-theme="light"] .vcat-ic[data-cat="kafe"]{--cc:#a16207}
[data-theme="light"] .vstripe[data-cat="restoran"],[data-theme="light"] .vcat-ic[data-cat="restoran"]{--cc:#1d4ed8}
[data-theme="light"] .vstripe[data-cat="bar"],[data-theme="light"] .vcat-ic[data-cat="bar"]{--cc:#7e22ce}
[data-theme="light"] .vstripe[data-cat="fastfood"],[data-theme="light"] .vcat-ic[data-cat="fastfood"]{--cc:#c2410c}
[data-theme="light"] .vstripe[data-cat="tatli"],[data-theme="light"] .vcat-ic[data-cat="tatli"]{--cc:#be185d}
[data-theme="light"] .vstripe[data-cat="park"],[data-theme="light"] .vcat-ic[data-cat="park"]{--cc:#15803d}
[data-theme="light"] .vstripe[data-cat="tarihi"],[data-theme="light"] .vcat-ic[data-cat="tarihi"]{--cc:#0f766e}
[data-theme="light"] .vstripe[data-cat="devlet_dairesi"],[data-theme="light"] .vcat-ic[data-cat="devlet_dairesi"]{--cc:#475569}
.vstripe[data-cat]{background:var(--cc,var(--icon))}
.promo-bdg{display:inline-flex;align-items:center;gap:3px;flex-shrink:0;font-size:9px;font-weight:800;color:#d99a0b;background:#fbbf241a;border:1px solid #fbbf2440;border-radius:10px;padding:2px 6px}
.promo-bdg i{font-size:11px}
.ftype-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ftype-grid .filter-seg-item{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:700;color:var(--text2);background:var(--surface2);border:1px solid transparent;border-radius:11px;padding:10px 4px;cursor:pointer;white-space:nowrap;flex:none}
.ftype-grid .filter-seg-item.active{background:#c8853a1f;border-color:var(--accent);color:var(--text)}
.ftype-grid .vcat-ic{font-size:16px;color:var(--cc,var(--icon))}
.fil-row{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fil-chip{flex:0 0 auto;min-width:92px;background:var(--surface2);border:1px solid transparent;border-radius:12px;padding:9px 12px;font-size:13px;font-weight:700;color:var(--text2);cursor:pointer}
.fil-chip small{display:block;font-size:10px;font-weight:600;color:var(--text3);margin-top:1px}
.fil-chip.active{background:#c8853a1f;border-color:var(--accent);color:var(--text)}
.fil-name{text-transform:none;letter-spacing:0;font-weight:700;color:var(--icon);background:#c8853a1a;border-radius:8px;padding:1px 7px}
.fil-name:empty{display:none}

/* Mekan detayı mini haritası (v2026.11.04-15) */
#detail-map-container .leaflet-control-attribution{font-size:9px;background:#ffffffb8;padding:0 5px;border-radius:6px 0 0 0}
#detail-map-container .leaflet-touch .leaflet-bar a,#detail-map-container .leaflet-bar a{width:30px;height:30px;line-height:30px}

/* ── Mekan detayı sekme düğmeleri + satır içi panel (v2026.11.05-1) ── */
.dtab{transition:background .15s,border-color .15s,transform .1s;border:1px solid transparent !important}
.dtab:active{transform:scale(.97)}
.dtab.dtab-on{background:#c8853a24 !important;border-color:var(--accent) !important;box-shadow:0 0 0 1px var(--accent) inset}
.dtab.dtab-on i,.dtab.dtab-on span{color:var(--icon) !important;font-weight:800 !important}
.dtab-info{border-color:#3a6fd840 !important}
.dtab-panel{flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px}
.dtab-panel #menu-upload-bar{margin-bottom:12px !important}
.dtab-panel #menu-cat-chips{margin-bottom:12px !important}
.dtab-panel #menu-cat-chips:empty{display:none !important}

/* ── Alt bar: yüzen cam hap + kayan gösterge (v2026.11.05-2) ── */
.bottom-nav{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom,0px));height:64px !important;min-height:64px;padding:6px !important;border-radius:999px;align-items:stretch;
  background:color-mix(in srgb,var(--surface) 82%,#8a8a8a 8%);border:1px solid #ffffff1c;border-top:1px solid #ffffff1c;
  box-shadow:0 10px 30px #0009, inset 0 1px 0 #ffffff12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);touch-action:none;user-select:none;-webkit-user-select:none}
[data-theme="light"] .bottom-nav{background:#ffffffde;border-color:#00000014;box-shadow:0 10px 28px #0002}
.bottom-nav .nav-item{z-index:2;padding:0 2px;gap:3px;border-radius:999px}
.bottom-nav .nav-item::before{display:none}
.bottom-nav .nav-item i{font-size:22px;color:var(--text2);transition:color .2s,transform .2s}
.bottom-nav .nav-item.active i{color:var(--icon)}
.bottom-nav .nav-label{font-size:10.5px;font-weight:600;color:var(--text2)}
.bottom-nav .nav-item.active .nav-label{color:var(--text)}
.bottom-nav .nav-badge{top:2px;right:calc(50% - 22px)}
.nav-ind{position:absolute;z-index:1;top:6px;bottom:6px;left:6px;width:0;border-radius:999px;background:var(--bg);box-shadow:inset 0 0 0 1px #ffffff10;pointer-events:none;
  transition:left .32s cubic-bezier(.3,1.35,.5,1),width .32s,transform .18s}
[data-theme="light"] .nav-ind{background:#ececef;box-shadow:none}
.bottom-nav.nav-drag .nav-ind{transition:transform .18s;transform:scale(1.07)}
.bottom-nav.nav-drag .nav-item.nav-hov i{transform:scale(1.15)}
.konum-sheet.static .ks-list{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px)) !important}

#map-screen #map-info-card{bottom:calc(84px + env(safe-area-inset-bottom,0px)) !important}
/* Yüzen alt bar için ana listelerde alt boşluk */
.venue-list,#social-feed-list,.msg-list,.profile-content{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px)) !important}

/* ── Alt bar düzeltmeleri (v2026.11.05-3): alt zemin + akıcı sürükleme ── */
.nav-backdrop{position:fixed;left:0;right:0;bottom:0;z-index:99;pointer-events:none;
  height:calc(86px + env(safe-area-inset-bottom,0px));
  background:linear-gradient(to bottom, transparent 0, var(--bg) 22px, var(--bg) 100%)}
#global-bottom-nav.nav-hidden + .nav-backdrop{display:none}
.bottom-nav{-webkit-touch-callout:none}
.nav-ind{left:0 !important;will-change:transform;transition:transform .34s cubic-bezier(.3,1.3,.5,1),width .25s !important}
.bottom-nav.nav-drag .nav-ind{transition:none !important;transform-origin:center;box-shadow:inset 0 0 0 1.5px var(--accent),0 4px 14px #0006 !important}
.bottom-nav.nav-drag .nav-item.nav-hov i{transform:scale(1.14)}

/* ── Misafir modu + CAPTCHA (v2026.11.05-4) ── */
.cap-box{margin:4px 0 8px}.cap-box:empty{display:none}
.guest-strip{display:flex;align-items:center;gap:8px;margin:2px 16px 10px;padding:9px 12px;border-radius:12px;background:#c8853a14;border:1px solid #c8853a40;font-size:12px;color:var(--text2);flex-shrink:0}
.guest-strip i{font-size:15px;color:var(--icon)}
.guest-strip b{margin-left:auto;color:#1a1206;background:var(--accent2);border-radius:14px;padding:4px 10px;font-size:11.5px;cursor:pointer;white-space:nowrap}
.is-guest .bottom-nav .nav-item[onclick*="'messages'"]::after,.is-guest .bottom-nav .nav-item[onclick*="'profile'"]::after{content:'';position:absolute;top:5px;right:calc(50% - 21px);width:11px;height:11px;background:var(--text2);-webkit-mask:url("data:image/svg+xml,%3Csvg%20%20%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20%20%20width%3D%2224%22%20%20%20height%3D%2224%22%20%20%20viewBox%3D%220%200%2024%2024%22%20%20%20fill%3D%22none%22%20%20%20stroke%3D%22currentColor%22%20%20%20stroke-width%3D%222.6%22%20%20%20stroke-linecap%3D%22round%22%20%20%20stroke-linejoin%3D%22round%22%20%20%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-lock%22%20%3E%20%20%20%20%20%20%3Cpath%20d%3D%22M5%2013a2%202%200%200%201%202%20-2h10a2%202%200%200%201%202%202v6a2%202%200%200%201%20-2%202h-10a2%202%200%200%201%20-2%20-2v-6%22%20/%3E%20%20%20%3Cpath%20d%3D%22M11%2016a1%201%200%201%200%202%200a1%201%200%200%200%20-2%200%22%20/%3E%20%20%20%3Cpath%20d%3D%22M8%2011v-4a4%204%200%201%201%208%200v4%22%20/%3E%20%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20%20%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20%20%20width%3D%2224%22%20%20%20height%3D%2224%22%20%20%20viewBox%3D%220%200%2024%2024%22%20%20%20fill%3D%22none%22%20%20%20stroke%3D%22currentColor%22%20%20%20stroke-width%3D%222.6%22%20%20%20stroke-linecap%3D%22round%22%20%20%20stroke-linejoin%3D%22round%22%20%20%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-lock%22%20%3E%20%20%20%20%20%20%3Cpath%20d%3D%22M5%2013a2%202%200%200%201%202%20-2h10a2%202%200%200%201%202%202v6a2%202%200%200%201%20-2%202h-10a2%202%200%200%201%20-2%20-2v-6%22%20/%3E%20%20%20%3Cpath%20d%3D%22M11%2016a1%201%200%201%200%202%200a1%201%200%200%200%20-2%200%22%20/%3E%20%20%20%3Cpath%20d%3D%22M8%2011v-4a4%204%200%201%201%208%200v4%22%20/%3E%20%3C/svg%3E") center/contain no-repeat;z-index:3}
.is-guest #checkin-btn{position:relative}
.is-guest #checkin-btn::after{content:'';position:absolute;top:6px;right:7px;width:12px;height:12px;background:#1a1206;opacity:.7;-webkit-mask:url("data:image/svg+xml,%3Csvg%20%20%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20%20%20width%3D%2224%22%20%20%20height%3D%2224%22%20%20%20viewBox%3D%220%200%2024%2024%22%20%20%20fill%3D%22none%22%20%20%20stroke%3D%22currentColor%22%20%20%20stroke-width%3D%222.6%22%20%20%20stroke-linecap%3D%22round%22%20%20%20stroke-linejoin%3D%22round%22%20%20%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-lock%22%20%3E%20%20%20%20%20%20%3Cpath%20d%3D%22M5%2013a2%202%200%200%201%202%20-2h10a2%202%200%200%201%202%202v6a2%202%200%200%201%20-2%202h-10a2%202%200%200%201%20-2%20-2v-6%22%20/%3E%20%20%20%3Cpath%20d%3D%22M11%2016a1%201%200%201%200%202%200a1%201%200%200%200%20-2%200%22%20/%3E%20%20%20%3Cpath%20d%3D%22M8%2011v-4a4%204%200%201%201%208%200v4%22%20/%3E%20%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg%20%20%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20%20%20width%3D%2224%22%20%20%20height%3D%2224%22%20%20%20viewBox%3D%220%200%2024%2024%22%20%20%20fill%3D%22none%22%20%20%20stroke%3D%22currentColor%22%20%20%20stroke-width%3D%222.6%22%20%20%20stroke-linecap%3D%22round%22%20%20%20stroke-linejoin%3D%22round%22%20%20%20class%3D%22icon%20icon-tabler%20icons-tabler-outline%20icon-tabler-lock%22%20%3E%20%20%20%20%20%20%3Cpath%20d%3D%22M5%2013a2%202%200%200%201%202%20-2h10a2%202%200%200%201%202%202v6a2%202%200%200%201%20-2%202h-10a2%202%200%200%201%20-2%20-2v-6%22%20/%3E%20%20%20%3Cpath%20d%3D%22M11%2016a1%201%200%201%200%202%200a1%201%200%200%200%20-2%200%22%20/%3E%20%20%20%3Cpath%20d%3D%22M8%2011v-4a4%204%200%201%201%208%200v4%22%20/%3E%20%3C/svg%3E") center/contain no-repeat}
.guest-gate{position:fixed;inset:0;z-index:9000;background:#0009;display:none;align-items:flex-end;justify-content:center}
.guest-gate.on{display:flex}
.gg-sheet{width:100%;max-width:520px;background:var(--bg);border-top:1px solid var(--border);border-radius:22px 22px 0 0;padding:8px 18px calc(18px + env(safe-area-inset-bottom,0px));animation:psUp .22s ease}
.gg-grab{width:38px;height:4px;border-radius:2px;background:var(--border);margin:0 auto 14px}
.gg-ic{width:48px;height:48px;border-radius:15px;margin:0 auto 12px;background:#c8853a1f;border:1px solid #c8853a55;color:var(--icon);display:flex;align-items:center;justify-content:center;font-size:22px}
.gg-t{font-size:16.5px;font-weight:800;text-align:center;color:var(--text)}
.gg-s{font-size:12.5px;color:var(--text2);text-align:center;line-height:1.5;margin:6px 6px 16px}
.gg-g,.gg-e{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:13px;border-radius:13px;font:700 14px Inter,sans-serif;cursor:pointer}
.gg-g{background:#fff;color:#1a1a1a;border:none}
.gg-e{margin-top:8px;background:var(--surface2);border:1px solid var(--border);color:var(--text)}.gg-e i{font-size:17px;color:var(--icon)}
.gg-row{display:flex;justify-content:space-between;padding:14px 4px 0;font-size:12.5px;font-weight:600;color:var(--text3)}.gg-row span{cursor:pointer}
.g-here{display:flex;align-items:center;gap:10px;padding:4px 2px;color:var(--text3);cursor:pointer}
.g-here b{display:block;font-size:13px;color:var(--text)}.g-here span{font-size:11px}.g-here>i{margin-left:auto;font-size:16px}
.g-av{display:flex;flex-shrink:0}.g-av i{width:28px;height:28px;border-radius:50%;border:2px solid var(--surface);filter:blur(2.5px)}.g-av i+i{margin-left:-9px}
[data-theme="light"] .gg-g{border:1px solid var(--border);box-shadow:0 1px 3px #0001}
