{"id":6734,"date":"2022-10-11T22:20:59","date_gmt":"2022-10-11T20:20:59","guid":{"rendered":"https:\/\/www.spiegelcam.com\/?page_id=6734"},"modified":"2026-06-24T10:57:48","modified_gmt":"2026-06-24T08:57:48","slug":"home","status":"publish","type":"page","link":"https:\/\/www.spiegelcam.com\/fr\/","title":{"rendered":"Maison"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6734\" class=\"elementor elementor-6734\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-34e6977 e-con-full e-flex e-con e-parent\" data-id=\"34e6977\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c2f21f1 elementor-widget elementor-widget-shortcode\" data-id=\"c2f21f1\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <style>\n        \/* Only dynamic CSS variables from WordPress settings - everything else moved to external CSS *\/\n        :root {\n          --button-color: var(--theme-button-primary, #EC4899);\n          --button-hover-color: var(--theme-button-primary-hover, #A855F7);\n          --button-active-color: var(--theme-button-primary-active, #EC4899);\n          --meetgle-logo-url: url('https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2026\/06\/spiegellogo.webp');\n        }\n        \n        \/* ========================================\n           SKELETON LOADING STYLES (INLINE)\n           Shows immediately before external CSS loads\n           ======================================== *\/\n        .meetgle-skeleton {\n          position: fixed;\n          top: 0;\n          left: 0;\n          width: 100vw;\n          height: 100vh;\n          z-index: 99999;\n          display: flex;\n          background: #0F0F0F;\n          opacity: 1;\n          transition: opacity 0.3s ease-out;\n        }\n        \n        .meetgle-skeleton.hidden {\n          opacity: 0;\n          pointer-events: none;\n        }\n\n        .meetgle-skeleton.meetgle-skeleton-stage {\n          display: flex;\n          flex-direction: column;\n          overflow: hidden;\n          background: #0b0b0d;\n          color: #fff;\n          font-family: \"Sora\", \"Nunito\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n        }\n\n        @keyframes stage-skeleton-pulse {\n          0%, 100% { opacity: .72; }\n          50% { opacity: 1; }\n        }\n\n        \/* Neutral placeholder block \u2014 the only fill the skeleton uses. *\/\n        .stage-skeleton-block {\n          background: rgba(255,255,255,.05);\n          border-radius: 8px;\n          animation: stage-skeleton-pulse 1.8s ease-in-out infinite;\n        }\n\n        .stage-skeleton-brand-block {\n          width: 116px;\n          height: 27px;\n        }\n\n        .stage-skeleton-top,\n        .stage-skeleton-center,\n        .stage-skeleton-promo,\n        .stage-skeleton-shelf {\n          position: relative;\n          z-index: 2;\n        }\n\n        .stage-skeleton-top {\n          display: flex;\n          align-items: center;\n          gap: 8px;\n          padding: 14px 16px 0;\n          padding-top: calc(14px + env(safe-area-inset-top));\n        }\n\n        .stage-skeleton-actions {\n          margin-left: auto;\n          display: flex;\n          align-items: center;\n          gap: 8px;\n        }\n\n        .stage-skeleton-seg,\n        .stage-skeleton-pill,\n        .stage-skeleton-ico,\n        .stage-skeleton-avatar,\n        .stage-skeleton-online,\n        .stage-skeleton-filter {\n          background: rgba(255,255,255,.05);\n        }\n\n        .stage-skeleton-seg {\n          width: 166px;\n          height: 40px;\n          border-radius: 999px;\n          opacity: .9;\n          animation: stage-skeleton-pulse 1.8s ease-in-out infinite;\n        }\n\n        .stage-skeleton-pill {\n          width: 78px;\n          height: 40px;\n          border-radius: 999px;\n          opacity: .95;\n          animation: stage-skeleton-pulse 1.8s ease-in-out infinite .08s;\n        }\n\n        .stage-skeleton-divider {\n          width: 1px;\n          height: 22px;\n          margin: 0 4px;\n          background: rgba(255,255,255,.16);\n        }\n\n        .stage-skeleton-ico,\n        .stage-skeleton-avatar {\n          width: 38px;\n          height: 38px;\n          border-radius: 999px;\n          animation: stage-skeleton-pulse 1.8s ease-in-out infinite .16s;\n        }\n\n        .stage-skeleton-avatar {\n          overflow: hidden;\n        }\n\n        .stage-skeleton-center {\n          flex: 1;\n          min-height: 0;\n          display: flex;\n          flex-direction: column;\n          align-items: center;\n          justify-content: center;\n          gap: 18px;\n          padding: 0 20px;\n        }\n\n        .stage-skeleton-online {\n          width: 220px;\n          height: 38px;\n          border-radius: 999px;\n          animation: stage-skeleton-pulse 1.8s ease-in-out infinite;\n        }\n\n        .stage-skeleton-title-line {\n          width: min(360px, 70vw);\n          height: 30px;\n          border-radius: 10px;\n        }\n\n        .stage-skeleton-title-line.is-sub {\n          width: min(440px, 84vw);\n        }\n\n        .stage-skeleton-head-line {\n          width: 90px;\n          height: 13px;\n          border-radius: 6px;\n        }\n\n        .stage-skeleton-head-line.is-sm {\n          width: 64px;\n        }\n\n        .stage-skeleton-cta-row {\n          display: flex;\n          align-items: center;\n          gap: 12px;\n        }\n\n        .stage-skeleton-cta {\n          width: 274px;\n          height: 60px;\n          border-radius: 999px;\n          background: rgba(255,255,255,.05);\n          animation: stage-skeleton-pulse 1.8s ease-in-out infinite .1s;\n        }\n\n        .stage-skeleton-filter {\n          width: 60px;\n          height: 60px;\n          border-radius: 999px;\n          animation: stage-skeleton-pulse 1.8s ease-in-out infinite .18s;\n        }\n\n        .stage-skeleton-promo {\n          width: calc(100% - 32px);\n          max-width: 620px;\n          min-height: 66px;\n          margin: 0 auto 12px;\n          border-radius: 20px;\n          background: rgba(255,255,255,.05);\n          animation: stage-skeleton-pulse 1.8s ease-in-out infinite .2s;\n        }\n\n        .stage-skeleton-shelf {\n          flex: none;\n          padding-bottom: calc(12px + env(safe-area-inset-bottom));\n        }\n\n        .stage-skeleton-shelf-head {\n          display: flex;\n          align-items: center;\n          justify-content: space-between;\n          padding: 0 18px 9px;\n          color: rgba(255,255,255,.62);\n          font-size: 12px;\n          font-weight: 600;\n        }\n\n        .stage-skeleton-rail {\n          display: flex;\n          gap: 9px;\n          overflow: hidden;\n          padding: 2px 16px;\n        }\n\n        .stage-skeleton-card {\n          flex: 0 0 150px;\n          aspect-ratio: 3 \/ 4.3;\n          border-radius: 18px;\n          background: rgba(255,255,255,.05);\n          animation: stage-skeleton-pulse 1.8s ease-in-out infinite;\n        }\n\n        @media (max-width: 860px) {\n          .stage-skeleton-top {\n            padding-left: 14px;\n            padding-right: 14px;\n            gap: 6px;\n          }\n\n          .stage-skeleton-seg,\n          .stage-skeleton-divider,\n          .stage-skeleton-ico:first-of-type {\n            display: none;\n          }\n\n          .stage-skeleton-pill,\n          .stage-skeleton-ico,\n          .stage-skeleton-avatar {\n            width: 36px;\n            height: 36px;\n          }\n\n          .stage-skeleton-pill {\n            width: 72px;\n          }\n\n          .stage-skeleton-center {\n            gap: 13px;\n            padding: 0 18px;\n          }\n\n          .stage-skeleton-online {\n            height: 34px;\n          }\n\n          .stage-skeleton-cta {\n            width: 240px;\n            height: 54px;\n          }\n\n          .stage-skeleton-filter {\n            width: 54px;\n            height: 54px;\n          }\n\n          .stage-skeleton-promo {\n            width: calc(100% - 28px);\n            min-height: 58px;\n            margin-bottom: 10px;\n            border-radius: 18px;\n          }\n\n          .stage-skeleton-shelf-head {\n            padding: 0 16px 8px;\n            font-size: 11.5px;\n          }\n\n          .stage-skeleton-rail {\n            padding: 2px 14px;\n            gap: 8px;\n          }\n\n          .stage-skeleton-card {\n            flex-basis: clamp(112px,29vw,136px);\n            border-radius: 16px;\n          }\n        }\n        \n        \/* Shimmer animation (kept \u2014 used by the premium loading spinner) *\/\n        @keyframes skeleton-shimmer {\n          0% { background-position: -200% 0; }\n          100% { background-position: 200% 0; }\n        }\n        <\/style>\n        \n        <!-- Skeleton Loading Screen - Shows immediately while assets load -->\n                <div id=\"meetgleSkeleton\" class=\"meetgle-skeleton meetgle-skeleton-stage\" >\n                    <header class=\"stage-skeleton-top\" aria-hidden=\"true\">\n            <span class=\"stage-skeleton-block stage-skeleton-brand-block\"><\/span>\n            <span class=\"stage-skeleton-actions\">\n              <span class=\"stage-skeleton-seg\"><\/span>\n              <span class=\"stage-skeleton-pill\"><\/span>\n              <span class=\"stage-skeleton-divider\"><\/span>\n              <span class=\"stage-skeleton-ico\"><\/span>\n              <span class=\"stage-skeleton-ico\"><\/span>\n              <span class=\"stage-skeleton-avatar\"><\/span>\n            <\/span>\n          <\/header>\n          <main class=\"stage-skeleton-center\" aria-hidden=\"true\">\n            <span class=\"stage-skeleton-online\"><\/span>\n            <span class=\"stage-skeleton-block stage-skeleton-title-line\"><\/span>\n            <span class=\"stage-skeleton-block stage-skeleton-title-line is-sub\"><\/span>\n            <div class=\"stage-skeleton-cta-row\">\n              <span class=\"stage-skeleton-cta\"><\/span>\n              <span class=\"stage-skeleton-filter\"><\/span>\n            <\/div>\n          <\/main>\n          <div class=\"stage-skeleton-promo\" aria-hidden=\"true\"><\/div>\n          <section class=\"stage-skeleton-shelf\" aria-hidden=\"true\">\n            <div class=\"stage-skeleton-shelf-head\">\n              <span class=\"stage-skeleton-block stage-skeleton-head-line\"><\/span>\n              <span class=\"stage-skeleton-block stage-skeleton-head-line is-sm\"><\/span>\n            <\/div>\n            <div class=\"stage-skeleton-rail\">\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                            <span class=\"stage-skeleton-card\"><\/span>\n                          <\/div>\n          <\/section>\n                  <\/div>\n\n                <div id=\"meetgle-video-container\" class=\"meetgle-stage-shell is-idle meetgle-stage-embed\" data-stage-enabled=\"1\" data-stage-premium=\"0\" data-stage-embed=\"1\" data-stage-extra-url=\"https:\/\/www.spiegelcam.com\/goto\/nsfw\/\">\n                        <div class=\"meetgle-stage-bg\" aria-hidden=\"true\">\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile1.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile2.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile3.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile4.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile5.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile6.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile7.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile8.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile9.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile10.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile11.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile12.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile13.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile14.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile15.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile16.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile17.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                                <img src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile18.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" fetchpriority=\"low\" \/>\n                            <\/div>\n            <div class=\"meetgle-stage-shade\" aria-hidden=\"true\"><\/div>\n\n            <header class=\"meetgle-stage-topbar\" aria-label=\"Meetgle\">\n                                <a class=\"meetgle-stage-brand has-logo has-mark\" href=\"https:\/\/www.spiegelcam.com\/fr\/\" aria-label=\"Meetgle home\">\n                                        <img decoding=\"async\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2026\/06\/spiegellogo.webp\" alt=\"Meetgle\" \/>\n                                                            <img decoding=\"async\" class=\"meetgle-stage-brand-mark\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2021\/08\/favicon.png\" alt=\"\" aria-hidden=\"true\" \/>\n                                    <\/a>\n                <nav class=\"meetgle-stage-actions\" aria-label=\"Chat actions\">\n                    <span class=\"meetgle-stage-seg\" role=\"group\" aria-label=\"Rewards\">\n                        <button type=\"button\" data-meetgle-stage-action=\"leaderboard\" title=\"View Top Earners This Week\" aria-label=\"View Top Earners This Week\">\n                            <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0V4Z\"\/><path d=\"M7 6H4a3 3 0 0 0 3 5M17 6h3a3 3 0 0 1-3 5\"\/><\/svg>\n                        <\/button>\n                        <button type=\"button\" data-meetgle-stage-action=\"history\" title=\"Chat History\" aria-label=\"Chat History\">\n                            <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"8.5\"\/><path d=\"M12 7.5V12l3 2\"\/><\/svg>\n                        <\/button>\n                        <button type=\"button\" class=\"is-wide\" data-meetgle-stage-action=\"streak\" title=\"Your Daily Streak\" aria-label=\"Your Daily Streak\">\n                            <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 3s5 4 5 9a5 5 0 0 1-10 0c0-2 1-3.5 2-5 .5 1.5 1.5 2 1.5 2S10 5.5 12 3Z\"\/><\/svg>\n                            <span>0<\/span>\n                        <\/button>\n                        <button type=\"button\" data-meetgle-stage-action=\"store\" title=\"Spark Store\" aria-label=\"Spark Store\">\n                            <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"2\"\/><path d=\"M4 13h16M12 9v11M12 9s-4 .2-5-2c-.8-1.8 1-3.5 2.7-2.7C11.7 5.2 12 9 12 9Zm0 0s4 .2 5-2c.8-1.8-1-3.5-2.7-2.7C12.3 5.2 12 9 12 9Z\"\/><\/svg>\n                        <\/button>\n                    <\/span>\n                    <button type=\"button\" class=\"meetgle-stage-energy meetgle-stage-streak-mobile\" data-meetgle-stage-action=\"streak\" title=\"Your Daily Streak\" aria-label=\"Your Daily Streak\">\n                        <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M12 3s5 4 5 9a5 5 0 0 1-10 0c0-2 1-3.5 2-5 .5 1.5 1.5 2 1.5 2S10 5.5 12 3Z\"\/><\/svg>\n                        <span>0<\/span>\n                    <\/button>\n                    <button type=\"button\" class=\"meetgle-stage-energy meetgle-stage-sparks\" data-meetgle-stage-action=\"spark-info\" title=\"Login to start earning Sparks!\">\n                        <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M13 2 5 13h6l-1 9 9-12h-6l1-8Z\"\/><\/svg>\n                        <span data-stage-spark-balance>0<\/span>\n                    <\/button>\n                    <span class=\"meetgle-stage-divider\" aria-hidden=\"true\"><\/span>\n                    <button type=\"button\" class=\"meetgle-stage-icon meetgle-stage-mail\" data-meetgle-stage-action=\"messages\" title=\"Messages\">\n                        <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"14\" rx=\"3\"\/><path d=\"m4 7 8 6 8-6\"\/><\/svg>\n                        <span class=\"meetgle-stage-badge\" data-stage-msg-badge style=\"display:none;\">0<\/span>\n                    <\/button>\n                    <button type=\"button\" class=\"meetgle-stage-icon\" data-meetgle-stage-action=\"notifications\" title=\"Notifications\">\n                        <svg aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M6 9a6 6 0 1 1 12 0c0 5 2 6 2 6H4s2-1 2-6\"\/><path d=\"M10.3 19a2 2 0 0 0 3.4 0\"\/><\/svg>\n                        <span class=\"meetgle-stage-badge\" data-stage-notif-badge style=\"display:none;\">0<\/span>\n                    <\/button>\n                    <button type=\"button\" class=\"meetgle-stage-avatar\" data-meetgle-stage-action=\"sheet\" title=\"Profile\">\n                        <img decoding=\"async\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/avatar.jpg\" alt=\"\" \/>\n                    <\/button>\n                <\/nav>\n            <\/header>\n\n            <main class=\"meetgle-stage-center\">\n                <div class=\"meetgle-stage-online\">\n                    <span class=\"meetgle-stage-pulse\"><\/span>\n                    <span class=\"meetgle-stage-online-txt\"><b data-stage-live-count>7,208<\/b>&nbsp;people are live right now<\/span>\n                <\/div>\n                <h1>Ready to go.<br><span>Start a chat to meet someone.<\/span><\/h1>\n                <div class=\"meetgle-stage-cta-row\">\n                    <button type=\"button\" class=\"meetgle-stage-cta\" data-meetgle-stage-action=\"start\">\n                        <span class=\"meetgle-stage-stack\">\n                            <img loading=\"lazy\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava1.webp\" alt=\"\" width=\"150\" height=\"150\" loading=\"lazy\" decoding=\"async\" onerror=\"this.onerror=null;this.src='https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava1.jpg';\" \/>\n                            <img loading=\"lazy\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava2.webp\" alt=\"\" width=\"150\" height=\"150\" loading=\"lazy\" decoding=\"async\" onerror=\"this.onerror=null;this.src='https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava2.jpg';\" \/>\n                            <img loading=\"lazy\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava3.webp\" alt=\"\" width=\"150\" height=\"150\" loading=\"lazy\" decoding=\"async\" onerror=\"this.onerror=null;this.src='https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava3.jpg';\" \/>\n                        <\/span>\n                        <span>Start Video Chat<\/span>\n                    <\/button>\n                    <button type=\"button\" class=\"meetgle-stage-filter\" data-meetgle-stage-action=\"filters\" aria-label=\"Match Preferences\">\n                        <svg viewBox=\"0 0 24 24\"><path d=\"M4 7h10M18 7h2M4 17h2M10 17h10\"\/><circle cx=\"16\" cy=\"7\" r=\"2.5\"\/><circle cx=\"8\" cy=\"17\" r=\"2.5\"\/><\/svg>\n                    <\/button>\n                <\/div>\n            <\/main>\n\n                        <button type=\"button\" class=\"meetgle-stage-promo\" data-meetgle-stage-action=\"only-girls\" aria-label=\"Only Girls\">\n                <span class=\"meetgle-stage-stackwrap\">\n                    <span class=\"meetgle-stage-stack\">\n                                                <img loading=\"lazy\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava15.webp\" alt=\"\" width=\"150\" height=\"150\" loading=\"lazy\" decoding=\"async\" onerror=\"this.onerror=null;this.src='https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava15.jpg';\" \/>\n                                                <img loading=\"lazy\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava2.webp\" alt=\"\" width=\"150\" height=\"150\" loading=\"lazy\" decoding=\"async\" onerror=\"this.onerror=null;this.src='https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava2.jpg';\" \/>\n                                                <img loading=\"lazy\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava11.webp\" alt=\"\" width=\"150\" height=\"150\" loading=\"lazy\" decoding=\"async\" onerror=\"this.onerror=null;this.src='https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/ava11.jpg';\" \/>\n                                            <\/span>\n                    <span class=\"meetgle-stage-vcheck\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\"><path d=\"m5 13 4 4L19 7\"\/><\/svg><\/span>\n                <\/span>\n                <span class=\"meetgle-stage-promo-copy\">\n                    <span class=\"meetgle-stage-promo-title\">Only Girls<\/span>\n                    <span class=\"meetgle-stage-promo-sub\"><span class=\"meetgle-stage-green-dot\"><\/span><b>1,334<\/b><span class=\"meetgle-stage-long\">&nbsp;verified girls online now<\/span><span class=\"meetgle-stage-short\">&nbsp;girls online<\/span><\/span>\n                <\/span>\n                <span class=\"meetgle-stage-promo-go\">Try it now <svg class=\"meetgle-stage-promo-arrow\" aria-hidden=\"true\" viewBox=\"0 0 24 24\"><path d=\"M5 12h14M13 6l6 6-6 6\"\/><\/svg><\/span>\n            <\/button>\n            \n            <section class=\"meetgle-stage-shelf\">\n                <div class=\"meetgle-stage-shelf-head\">\n                    <span class=\"meetgle-stage-shelf-label\"><span class=\"meetgle-stage-pulse\"><\/span> Live now<\/span>\n                    <button type=\"button\" data-meetgle-stage-action=\"discover\">Discover <span>all<\/span><svg viewBox=\"0 0 24 24\"><path d=\"m9 6 6 6-6 6\"\/><\/svg><\/button>\n                <\/div>\n                <div class=\"meetgle-stage-rail\">\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile1.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">27 \u00b7 \ud83c\udde8\ud83c\uddff<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile11.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">26 \u00b7 \ud83c\udde8\ud83c\uddf1<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile6.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">25 \u00b7 \ud83c\udde8\ud83c\udde6<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile21.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">24 \u00b7 \ud83c\uddf8\ud83c\uddea<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile19.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">28 \u00b7 \ud83c\udde9\ud83c\uddf0<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile20.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">26 \u00b7 \ud83c\uddec\ud83c\uddf7<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile10.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">23 \u00b7 \ud83c\uddfa\ud83c\uddf8<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile22.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">25 \u00b7 \ud83c\udde6\ud83c\uddf7<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile28.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">20 \u00b7 \ud83c\uddee\ud83c\uddea<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile23.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">24 \u00b7 \ud83c\uddf3\ud83c\uddf1<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile24.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">24 \u00b7 \ud83c\uddea\ud83c\uddf8<\/span>\n                        <\/span>\n                    <\/article>\n                                        <article class=\"meetgle-stage-person-card\">\n                        <span class=\"meetgle-stage-online-dot\"><\/span>\n                        <img class=\"meetgle-stage-person-photo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/profiles\/sfw\/sm\/profile14.webp\" alt=\"\" loading=\"lazy\" decoding=\"async\" \/>\n                        <span class=\"meetgle-stage-person-meta\">\n                                                        <span class=\"meetgle-stage-person-age\">22 \u00b7 \ud83c\udde7\ud83c\uddf7<\/span>\n                        <\/span>\n                    <\/article>\n                                    <\/div>\n            <\/section>\n\n            <nav class=\"meetgle-stage-dock\" aria-label=\"Primary actions\">\n                <button type=\"button\" data-meetgle-stage-action=\"discover\">\n                    <svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"3\" width=\"7.5\" height=\"7.5\" rx=\"2\"\/><rect x=\"13.5\" y=\"3\" width=\"7.5\" height=\"7.5\" rx=\"2\"\/><rect x=\"3\" y=\"13.5\" width=\"7.5\" height=\"7.5\" rx=\"2\"\/><rect x=\"13.5\" y=\"13.5\" width=\"7.5\" height=\"7.5\" rx=\"2\"\/><\/svg>\n                    Discover                <\/button>\n                <button type=\"button\" class=\"active\" data-meetgle-stage-action=\"start\">\n                    <svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"6\" width=\"13\" height=\"12\" rx=\"3\"\/><path d=\"m16 10 5-3v10l-5-3\"\/><\/svg>\n                    Start Chat                <\/button>\n                <button type=\"button\" data-meetgle-stage-action=\"messages\">\n                    <svg viewBox=\"0 0 24 24\"><path d=\"M21 12a8 8 0 0 1-8 8H4l2-3a8 8 0 1 1 15-5Z\"\/><\/svg>\n                    Messages                    <span class=\"meetgle-stage-dock-msgbadge\" data-stage-msg-badge style=\"display:none;\">0<\/span>\n                <\/button>\n            <\/nav>\n\n            <div class=\"meetgle-stage-overlay\" data-meetgle-stage-overlay aria-hidden=\"true\"><\/div>\n            <div class=\"meetgle-stage-sheet\" data-meetgle-stage-sheet aria-hidden=\"true\">\n                <div class=\"meetgle-stage-sheet-grab\" aria-hidden=\"true\"><\/div>\n                <div class=\"meetgle-stage-sheet-head\">\n                                        <span class=\"meetgle-stage-sheet-avatar\"><img decoding=\"async\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/public\/img\/avatar.jpg\" alt=\"\" \/><\/span>\n                                        <span class=\"meetgle-stage-sheet-copy\">\n                        <strong>\n                            <span class=\"meetgle-stage-sheet-name\">Guest<\/span>\n                                                                                <\/strong>\n                        <small>Sign in to save your progress<\/small>\n                    <\/span>\n                <\/div>\n                                <div class=\"meetgle-stage-sheet-auth\">\n                    <button type=\"button\" class=\"meetgle-stage-auth-btn is-primary\" data-meetgle-stage-action=\"login\">Log in<\/button>\n                    <button type=\"button\" class=\"meetgle-stage-auth-btn\" data-meetgle-stage-action=\"register\">Create account<\/button>\n                <\/div>\n                                <button type=\"button\" class=\"meetgle-stage-sheet-item\" data-meetgle-stage-action=\"leaderboard\">\n                    <span class=\"ic\"><svg viewBox=\"0 0 24 24\"><path d=\"M8 21h8M12 17v4M7 4h10v5a5 5 0 0 1-10 0V4Z\"\/><path d=\"M7 6H4a3 3 0 0 0 3 5M17 6h3a3 3 0 0 1-3 5\"\/><\/svg><\/span>\n                    Leaderboard                    <span class=\"chev\"><svg viewBox=\"0 0 24 24\"><path d=\"m9 6 6 6-6 6\"\/><\/svg><\/span>\n                <\/button>\n                <button type=\"button\" class=\"meetgle-stage-sheet-item\" data-meetgle-stage-action=\"store\">\n                    <span class=\"ic\"><svg viewBox=\"0 0 24 24\"><rect x=\"4\" y=\"9\" width=\"16\" height=\"11\" rx=\"2\"\/><path d=\"M4 13h16M12 9v11M12 9s-4 .2-5-2c-.8-1.8 1-3.5 2.7-2.7C11.7 5.2 12 9 12 9Zm0 0s4 .2 5-2c.8-1.8-1-3.5-2.7-2.7C12.3 5.2 12 9 12 9Z\"\/><\/svg><\/span>\n                    Spark Store                    <span class=\"chev\"><svg viewBox=\"0 0 24 24\"><path d=\"m9 6 6 6-6 6\"\/><\/svg><\/span>\n                <\/button>\n                                                                                                            <\/div>\n            \n<!-- Discover Modal (lazy template \u2014 hydrated by MeetgleModalLoader; JS in public\/js\/modals\/discover.modal.js).\n     Both #discoverModal and #discoverViewerModal share this one template. PHP still renders the\n     logged-in vs logged-out grid markup variant. -->\n<template id=\"discoverTpl\">\n<!-- Discover Modal -->\n<div id=\"discoverModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content discover-modal-content\" style=\"margin:0;background:#141417;border:none;border-radius:0;width:100vw;max-width:100vw;height:100vh;height:100svh;max-height:100vh;max-height:100svh;\">\n\n        <!-- Header -->\n        <div style=\"padding:16px 20px;display:flex;align-items:center;justify-content:space-between;\">\n            <h2 class=\"mg-mtitle\">Discover<\/h2>\n            <button onclick=\"closeDiscoverModal()\" class=\"mg-mclose\">&times;<\/button>\n        <\/div>\n\n        <!-- Content -->\n        <div id=\"discoverContent\" style=\"padding:16px;overflow-y:auto;flex:1;height:calc(100vh - 70px);height:calc(100svh - 70px);\">\n\n            <!-- Photo Grid (logged-out users never reach here \u2014 the Discover\n                 trigger opens the login modal instead; see meetgle-stage.js\n                 LOGIN_REQUIRED). -->\n            <div id=\"discoverGrid\" class=\"discover-grid\">\n                <!-- Populated by JavaScript -->\n            <\/div>\n\n            <!-- Loading State -->\n            <div id=\"discoverLoading\" style=\"text-align:center;padding:40px 0;\">\n                <div style=\"width:28px;height:28px;border:3px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.5);border-radius:50%;margin:0 auto 10px;animation:discoverSpin 0.8s linear infinite;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.3);font-size:12px;\">Loading...<\/div>\n            <\/div>\n\n            <!-- Empty State -->\n            <div id=\"discoverEmpty\" style=\"display:none;text-align:center;padding:56px 24px;\">\n                <div style=\"width:64px;height:64px;border-radius:50%;background:rgba(255,200,61,0.12);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px;\">\ud83d\udcf8<\/div>\n                <div style=\"color:rgba(255,255,255,0.88);font-size:16px;font-weight:700;margin-bottom:6px;\">No photos yet<\/div>\n                <div style=\"color:rgba(255,255,255,0.45);font-size:13px;line-height:1.5;max-width:260px;margin:0 auto;\">Creators haven&#039;t shared any premium photos here yet \u2014 check back soon!<\/div>\n            <\/div>\n\n            <!-- Load More -->\n            <div id=\"discoverLoadMore\" style=\"display:none;text-align:center;padding:20px 0;\">\n                <button onclick=\"loadDiscoverPhotos()\" style=\"background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:10px 24px;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.15s;\" onmouseover=\"this.style.background='rgba(255,255,255,0.1)'\" onmouseout=\"this.style.background='rgba(255,255,255,0.06)'\">Load More<\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Discover Photo Viewer Modal -->\n<div id=\"discoverViewerModal\" style=\"display:none;position:fixed;top:0;left:0;right:0;bottom:0;z-index:100003;background:rgba(0,0,0,0.95);\">\n    <div style=\"width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;\">\n\n        <!-- Close button -->\n        <button onclick=\"closeDiscoverViewer()\" style=\"position:absolute;top:max(16px,env(safe-area-inset-top));right:16px;background:rgba(255,255,255,0.1);border:none;color:white;width:40px;height:40px;border-radius:50%;font-size:22px;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;\">&times;<\/button>\n\n        <!-- Creator info -->\n        <div id=\"discoverViewerCreator\" style=\"position:absolute;top:max(16px,env(safe-area-inset-top));left:16px;display:flex;align-items:center;gap:10px;z-index:10;cursor:pointer;transition:opacity 0.15s;\" onclick=\"openDiscoverCreatorProfile()\" onmouseover=\"this.style.opacity='0.8'\" onmouseout=\"this.style.opacity='1'\">\n            <img decoding=\"async\" id=\"discoverViewerAvatar\" src=\"\" style=\"width:36px;height:36px;border-radius:50%;object-fit:cover;border:2px solid #EC4899;\">\n            <div>\n                <div id=\"discoverViewerUsername\" style=\"color:white;font-weight:600;font-size:14px;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.35);font-size:10px;font-weight:500;\">Click to view profile<\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Viewer loading spinner -->\n        <div id=\"discoverViewerSpinner\" style=\"position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;\">\n            <div style=\"width:32px;height:32px;border:3px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.5);border-radius:50%;animation:discoverSpin 0.8s linear infinite;\"><\/div>\n        <\/div>\n\n        <!-- Photo -->\n        <div style=\"flex:1;display:flex;align-items:center;justify-content:center;width:100%;padding:70px 20px 20px;overflow:hidden;min-height:0;box-sizing:border-box;\">\n            <img decoding=\"async\" id=\"discoverViewerImage\" src=\"\" style=\"max-width:calc(100vw - 40px);max-height:calc(100vh - 100px);max-height:calc(100svh - 100px);object-fit:contain;border-radius:8px;position:relative;z-index:2;opacity:0;transition:opacity 0.2s;\">\n\n            <!-- Lock overlay -->\n            <div id=\"discoverViewerLock\" style=\"display:none;position:absolute;top:0;left:0;right:0;bottom:0;flex-direction:column;align-items:center;justify-content:center;z-index:3;\">\n                <div style=\"background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);border-radius:16px;padding:24px 32px;text-align:center;\">\n                    <div style=\"font-size:28px;margin-bottom:8px;\">\ud83d\udd12<\/div>\n                    <div style=\"color:white;font-weight:700;font-size:16px;margin-bottom:4px;\">This photo is locked<\/div>\n                    <div id=\"discoverViewerPrice\" style=\"color:#ffc83d;font-weight:800;font-size:22px;margin-bottom:12px;\"><\/div>\n                    <button id=\"discoverUnlockBtn\" onclick=\"unlockDiscoverPhoto()\" style=\"background:linear-gradient(135deg,#ffc83d,#e6ad2e);color:#000;border:none;border-radius:10px;padding:12px 28px;font-weight:700;font-size:14px;cursor:pointer;transition:opacity 0.15s;\">Unlock Photo<\/button>\n                    <div style=\"color:rgba(255,255,255,0.4);font-size:11px;margin-top:8px;\">Your balance: <span id=\"discoverViewerBalance\">0<\/span> \u26a1<\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/template>\n\n\n            \n            <div class=\"video-chat-layout\">\n\n\n                <!-- Left: Remote video full height -->\n                                <div class=\"video-section\" >\n                    <div class=\"video-wrapper remote-video\">\n                        <!-- Swirl background canvas -->\n                        <canvas id=\"bg-swirl\" style=\"position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;\"><\/canvas>\n                                                <img decoding=\"async\" id=\"remoteLogo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2026\/06\/spiegellogo.webp\" alt=\"Logo\" style=\"position:absolute;top:10px;left:12px;height:32px;max-width:160px;width:auto;object-fit:contain;z-index:20;pointer-events:none;\" \/>\n                                                \n                        <!-- Loading spinner removed -->\n                        <!-- Container for status, start button, and blur toggle - centered as ONE unit -->\n                        <div id=\"preStartControls\" style=\"position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:25;display:flex;flex-direction:column;align-items:center;gap:20px;width:90vw;max-width:400px;\">\n                            <!-- Status output -->\n                            <p id=\"statusOutput\" style=\"color:rgba(255, 255, 255, 0.5);font-weight:500;font-size:14px;text-align:center;display:block;max-width:90vw;width:auto;white-space:normal;margin:0;\"><\/p>\n                            \n                            <!-- Button container with Start button, Help button, and Match Preferences -->\n                            <div style=\"display:flex;align-items:center;gap:12px;\">\n                                <!-- Start button with pill design and video icon -->\n                                <button id=\"startChatBtn\" style=\"background:var(--button-color);color:#fff;border:none;border-radius:50px;padding:10px 28px 10px 12px;font-size:16px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:10px;margin:0;box-shadow:0 4px 12px rgba(0,0,0,0.2);transition:all 0.3s ease;white-space:nowrap;\">\n                                    <!-- Stacked avatar cluster -->\n                                    <div id=\"startBtnAvatars\" style=\"display:flex;flex-shrink:0;margin-left:2px;\">\n                                        <img class=\"start-btn-ava\" style=\"width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid var(--button-color);position:relative;z-index:4;\" \/>\n                                        <img class=\"start-btn-ava\" style=\"width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid var(--button-color);margin-left:-10px;position:relative;z-index:3;\" \/>\n                                        <img class=\"start-btn-ava\" style=\"width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid var(--button-color);margin-left:-10px;position:relative;z-index:2;\" \/>\n                                        <img class=\"start-btn-ava\" style=\"width:28px;height:28px;border-radius:50%;object-fit:cover;border:2px solid var(--button-color);margin-left:-10px;position:relative;z-index:1;\" \/>\n                                    <\/div>\n                                    <span>Start Video Chat<\/span>\n                                <\/button>\n                                \n\n\n                                \n                                <!-- Match Preferences button (always visible for all users) -->\n                                <div style=\"position:relative;flex-shrink:0;\">\n                                    <button id=\"matchPreferencesBtn\" onclick=\"openMatchPreferencesDrawer()\" style=\"background:rgba(255,255,255,0.1);backdrop-filter:blur(10px);color:#fff;border:2px solid rgba(255,255,255,0.3);border-radius:50%;width:48px;height:48px;font-size:24px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;margin:0;box-shadow:0 4px 12px rgba(0,0,0,0.2);transition:all 0.3s ease;\" title=\"Match Preferences\">\n                                        <svg width=\"28\" height=\"28\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2\" stroke-linecap=\"round\" style=\"width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:none!important;\"><line x1=\"4\" y1=\"6\" x2=\"20\" y2=\"6\"\/><circle cx=\"15\" cy=\"6\" r=\"2.5\" fill=\"#fff\"\/><line x1=\"4\" y1=\"12\" x2=\"20\" y2=\"12\"\/><circle cx=\"9\" cy=\"12\" r=\"2.5\" fill=\"#fff\"\/><line x1=\"4\" y1=\"18\" x2=\"20\" y2=\"18\"\/><circle cx=\"14\" cy=\"18\" r=\"2.5\" fill=\"#fff\"\/><\/svg>\n                                    <\/button>\n                                    <span id=\"filterTryMePill\" style=\"position:absolute;top:-10px;right:-14px;background:#ffc83d;color:#000;font-size:8px;font-weight:800;padding:3px 7px;border-radius:8px;pointer-events:none;white-space:nowrap;letter-spacing:0.4px;box-shadow:0 2px 8px rgba(255,200,61,0.4);\">TRY ME<\/span>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n\n                        <!-- Gender Picker Overlay - Two-Step Flow -->\n                        <div id=\"genderPickerContainer\" class=\"meetgle-drawer-overlay\" style=\"display:none;\">\n                            <div class=\"meetgle-drawer-sheet\" role=\"dialog\" aria-label=\"Start chat setup\">\n                                <div class=\"meetgle-drawer-grab\" aria-hidden=\"true\"><\/div>\n\n                                <!-- Header: back \/ icon + per-step title + step count + close -->\n                                <div class=\"meetgle-gender-head\">\n                                    <button id=\"genderPickerBack\" class=\"meetgle-gender-back\" aria-label=\"Back\">\n                                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m15 18-6-6 6-6\"\/><\/svg>\n                                    <\/button>\n                                    <span class=\"meetgle-gender-head-ic\" aria-hidden=\"true\">\n                                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M22 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg>\n                                    <\/span>\n                                    <span class=\"meetgle-gender-title\"><span class=\"gp-t1\">I am<\/span><span class=\"gp-t2\">I want to meet<\/span><\/span>\n                                    <span class=\"meetgle-gender-count\"><span class=\"gp-c1\">1 \/ 2<\/span><span class=\"gp-c2\">2 \/ 2<\/span><\/span>\n                                    <button id=\"genderPickerClose\" class=\"meetgle-drawer-close\" aria-label=\"Close\">\n                                        <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"><\/line><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"><\/line><\/svg>\n                                    <\/button>\n                                <\/div>\n\n                                <!-- Progress (2 segments) -->\n                                <div class=\"meetgle-gender-progress\" aria-hidden=\"true\">\n                                    <span class=\"gp-seg1\"><\/span>\n                                    <span class=\"gp-seg2\"><\/span>\n                                <\/div>\n\n                                <!-- STEP 1: I am a... -->\n                                <div id=\"genderStep1\">\n                                    <p class=\"meetgle-gender-caption\">This will be shown to people you chat with<\/p>\n                                    <div class=\"meetgle-gender-options\">\n                                        <button id=\"genderMale\" class=\"meetgle-gender-row\" data-gender=\"male\">\n                                            <span class=\"meetgle-gender-ic is-male\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"10\" cy=\"14\" r=\"6\"\/><line x1=\"14.5\" y1=\"9.5\" x2=\"20\" y2=\"4\"\/><polyline points=\"15 4 20 4 20 9\"\/><\/svg><\/span>\n                                            <span class=\"meetgle-gender-row-main\"><span>Male<\/span><small>I&#039;m a man<\/small><\/span>\n                                            <span class=\"meetgle-gender-chev\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 6 6 6-6 6\"\/><\/svg><\/span>\n                                        <\/button>\n                                        <button id=\"genderFemale\" class=\"meetgle-gender-row\" data-gender=\"female\">\n                                            <span class=\"meetgle-gender-ic is-female\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"8\" r=\"6\"\/><line x1=\"12\" y1=\"14\" x2=\"12\" y2=\"22\"\/><line x1=\"9\" y1=\"19\" x2=\"15\" y2=\"19\"\/><\/svg><\/span>\n                                            <span class=\"meetgle-gender-row-main\"><span>Female<\/span><small>I&#039;m a woman<\/small><\/span>\n                                            <span class=\"meetgle-gender-chev\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 6 6 6-6 6\"\/><\/svg><\/span>\n                                        <\/button>\n                                    <\/div>\n                                <\/div>\n\n                                <!-- STEP 2: I want to chat with... (shown via .gp-step2 on the container) -->\n                                <div id=\"genderStep2\">\n                                    <p class=\"meetgle-gender-caption\">Choose who you&#039;d like to be matched with<\/p>\n                                    <div class=\"meetgle-gender-options\">\n                                        <button id=\"genderPrefEveryone\" class=\"meetgle-gender-row\" data-preference=\"everyone\">\n                                            <span class=\"meetgle-gender-ic is-everyone\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"><\/path><circle cx=\"9\" cy=\"7\" r=\"4\"><\/circle><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"><\/path><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"><\/path><\/svg><\/span>\n                                            <span class=\"meetgle-gender-row-main\"><span>Everyone<\/span><small>Match with all genders<\/small><\/span>\n                                            <span class=\"meetgle-gender-go\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" stroke=\"none\"><polygon points=\"5 3 19 12 5 21 5 3\"><\/polygon><\/svg>Start<\/span>\n                                        <\/button>\n                                        <div class=\"meetgle-gender-row is-locked\" data-preference=\"male\">\n                                            <span class=\"meetgle-gender-ic is-male\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"10\" cy=\"14\" r=\"6\"\/><line x1=\"14.5\" y1=\"9.5\" x2=\"20\" y2=\"4\"\/><polyline points=\"15 4 20 4 20 9\"\/><\/svg><\/span>\n                                            <span class=\"meetgle-gender-row-main\"><span>Only Guys<\/span><small>Match with males only<\/small><\/span>\n                                            <span class=\"meetgle-gender-price\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" stroke=\"none\"><polygon points=\"13 2 3 14 11 14 9 22 21 9 13 9 13 2\"\/><\/svg>100<\/span>\n                                        <\/div>\n                                        <div class=\"meetgle-gender-row is-locked\" data-preference=\"female\">\n                                            <span class=\"meetgle-gender-ic is-female\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"8\" r=\"6\"\/><line x1=\"12\" y1=\"14\" x2=\"12\" y2=\"22\"\/><line x1=\"9\" y1=\"19\" x2=\"15\" y2=\"19\"\/><\/svg><\/span>\n                                            <span class=\"meetgle-gender-row-main\"><span>Only Girls<\/span><small>Match with females only<\/small><\/span>\n                                            <span class=\"meetgle-gender-price\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\" stroke=\"none\"><polygon points=\"13 2 3 14 11 14 9 22 21 9 13 9 13 2\"\/><\/svg>100<\/span>\n                                        <\/div>\n                                    <\/div>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n                        <script>\n                        \/\/ Gender drawer uses the shared MeetgleDrawer controller \u2014 open\/close,\n                        \/\/ backdrop, swipe and Escape are all handled there. These thin wrappers\n                        \/\/ keep the names videochat.js already calls.\n                        window.openGenderDrawer = function () { if (window.MeetgleDrawer) MeetgleDrawer.open('genderPickerContainer'); };\n                        window.closeGenderDrawer = function () { if (window.MeetgleDrawer) MeetgleDrawer.close('genderPickerContainer'); };\n                        <\/script>\n\n                        <video id=\"remoteVideo\" autoplay playsinline muted><\/video>\n                        \n                        <!-- Remote User Info Pill (top left) -->\n                        \n<!-- Remote User Info Pill (top left of remote video) -->\n<div id=\"remoteUserInfoPill\" class=\"user-info\" style=\"\n    position: absolute;\n    top: 12px;\n    left: 12px;\n    z-index: 102;\n    display: none;\n    background: rgba(0, 0, 0, 0.55);\n    backdrop-filter: blur(20px);\n    border-radius: 14px;\n    padding: 8px 14px 8px 8px;\n    align-items: center;\n    gap: 10px;\n    max-width: calc(100% - 180px);\n    transition: all 0.3s ease;\n    cursor: pointer;\n\" onclick=\"openRemoteUserProfile()\" title=\"View Profile\">\n\n    <!-- Country Flag with background -->\n    <div id=\"remoteUserAvatar\" class=\"user-avatar\" style=\"\n        width: 38px;\n        height: 38px;\n        border-radius: 8px;\n        background: rgba(255, 255, 255, 0.1);\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        font-size: 24px;\n        flex-shrink: 0;\n        line-height: 1;\n    \">\ud83c\udf0d<\/div>\n\n    <!-- User Details -->\n    <div class=\"user-details\" style=\"\n        display: flex;\n        flex-direction: column;\n        gap: 2px;\n        min-width: 0;\n        overflow: hidden;\n    \">\n        <!-- Username with badges -->\n        <div style=\"display: flex; align-items: center; gap: 4px; min-width: 0;\">\n            <div id=\"remoteUserName\" class=\"user-name\" style=\"\n                font-size: 14px;\n                font-weight: 600;\n                color: white;\n                letter-spacing: -0.2px;\n                display: flex;\n                align-items: center;\n                gap: 4px;\n                min-width: 0;\n                max-width: 100%;\n                text-align: left;\n            \">\n                <span id=\"remoteUserNameText\" style=\"\n                    min-width: 0;\n                    flex: 1 1 auto;\n                    white-space: nowrap;\n                    overflow: hidden;\n                    text-overflow: ellipsis;\n                    display: block;\n                \">Stranger<\/span>\n                <span id=\"remoteUserBadges\" style=\"\n                    display: inline-flex;\n                    align-items: center;\n                    gap: 4px;\n                    flex-shrink: 0;\n                    transform: translateY(1px);\n                \"><\/span>\n            <\/div>\n            <!-- Arrow icon (only visible for logged-in users) -->\n            <svg id=\"remoteUserArrow\" class=\"profile-arrow\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display: none; color: rgba(255,255,255,0.7); flex-shrink: 0; transition: transform 0.2s ease; transform: translateY(1px);\">\n                <polyline points=\"9 18 15 12 9 6\"><\/polyline>\n            <\/svg>\n        <\/div>\n\n        <!-- Location (Gender + Country Name) -->\n        <div class=\"user-location\" style=\"\n            font-size: 12px;\n            font-weight: 500;\n            color: rgba(255, 255, 255, 0.5);\n            display: flex;\n            align-items: center;\n            gap: 0;\n            white-space: nowrap;\n            overflow: hidden;\n            text-overflow: ellipsis;\n        \">\n            <!-- Gender Text (admin\/reveal-pass only) -->\n            <span id=\"remoteUserGender\" style=\"display: none; font-weight: 600; line-height: 1;\"><\/span>\n\n            <!-- Country Name -->\n            <span id=\"remoteUserFlag\" style=\"display: none; font-size: 12px; line-height: 1;\"><\/span>\n        <\/div>\n    <\/div>\n<\/div>\n\n<style>\n\/* Rounded rectangle card style *\/\n.user-info {\n    position: relative;\n    overflow: visible;\n}\n\n\n\/* Username underline - only for logged-in users (text only, not badges) *\/\n.user-info.has-profile #remoteUserNameText {\n    text-decoration: underline;\n    text-decoration-color: rgba(255, 255, 255, 0.4);\n    text-underline-offset: 2px;\n    text-decoration-thickness: 1px;\n}\n\n\/* Arrow visibility for logged-in users *\/\n.user-info.has-profile .profile-arrow {\n    display: block !important;\n}\n\n\n\/* Gender\/country spacing - add gap via margin when gender is visible *\/\n#remoteUserGender[style*=\"display: inline\"] + #remoteUserFlag,\n#remoteUserGender[style*=\"display:inline\"] + #remoteUserFlag {\n    margin-left: 6px;\n}\n\n\/* Hover effects *\/\n.user-info:hover {\n    background: rgba(0, 0, 0, 0.7) !important;\n    transform: scale(1.02);\n}\n\n.user-info:hover .profile-arrow {\n    transform: translateX(2px) translateY(1px);\n    color: rgba(255, 255, 255, 1) !important;\n}\n\n.user-info:hover #remoteUserNameText {\n    text-decoration-color: rgba(255, 255, 255, 0.8) !important;\n}\n\n\/* Mobile responsive *\/\n@media (max-width: 900px) {\n    .user-info {\n        padding: 4px;\n        gap: 6px;\n        border-radius: 10px !important;\n        max-width: calc(100% - 160px);\n    }\n\n    .user-avatar {\n        width: 28px !important;\n        height: 28px !important;\n        font-size: 18px !important;\n        border-radius: 6px !important;\n    }\n\n    .user-details {\n        gap: 0px !important;\n    }\n\n    .user-name {\n        font-size: 12px !important;\n    }\n\n    .user-location {\n        font-size: 10px !important;\n    }\n\n    #remoteUserFlag {\n        font-size: 10px !important;\n    }\n\n    #remoteUserGender {\n        font-size: 10px !important;\n    }\n\n    .profile-arrow {\n        width: 10px !important;\n        height: 10px !important;\n    }\n}\n\n@media (max-width: 600px) {\n    .user-info {\n        top: 8px !important;\n        left: 8px !important;\n        max-width: calc(100% - 140px);\n    }\n\n    \/* On phone-width screens the pill is tight (it shares the row with the self\n       PiP). The streak is secondary milestone info (still shown on the profile),\n       so hide it here and let the username \u2014 the primary identifier \u2014 stay\n       legible. The verified badge, gender and country are kept. *\/\n    #remoteUserBadges .meetgle-remote-streak {\n        display: none !important;\n    }\n}\n<\/style>\n\n<script>\n(function() {\n    function normalizeUsernameForPill(value) {\n        if (typeof value !== 'string') return '';\n        return value.trim();\n    }\n\n    function isRealProfileUsername(value) {\n        const normalized = normalizeUsernameForPill(value);\n        if (!normalized) return false;\n        return normalized.toLowerCase() !== 'stranger';\n    }\n\n    \/\/ Country code to country name lookup using the existing #countryFilter select\n    \/\/ On mobile (<=900px) shows compact two-letter code, on desktop shows full name\n    window.countryCodeToName = function(code) {\n        if (!code || code.length !== 2) return '';\n        if (window.innerWidth <= 900) return code.toUpperCase();\n        const select = document.getElementById('countryFilter');\n        if (select) {\n            const option = select.querySelector('option[value=\"' + code.toUpperCase() + '\"]');\n            if (option) {\n                const text = option.textContent.trim();\n                const spaceIdx = text.indexOf(' ');\n                return spaceIdx > 0 ? text.substring(spaceIdx + 1) : text;\n            }\n        }\n        return code.toUpperCase();\n    };\n\n    \/\/ Toggle has-profile class for logged-in user styling (underline, arrow)\n    window.updateRemoteUserPillState = function(username) {\n        const pill = document.getElementById('remoteUserInfoPill');\n        if (!pill) return;\n\n        if (isRealProfileUsername(username)) {\n            pill.classList.add('has-profile');\n        } else {\n            pill.classList.remove('has-profile');\n        }\n    };\n})();\n<\/script>\n                        \n                        <!-- Top right container: Settings button and Report button -->\n                        <div class=\"remote-video-report\" style=\"position:absolute;top:10px;right:10px;z-index:102;display:flex;gap:8px;align-items:flex-start;\">\n                            \n                            <!-- Report Button -->\n                            <button id=\"reportBtn\" class=\"icon-btn report\" title=\"Report User\" style=\"display:none;\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\">\n                                    <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3 3v1.5M3 21v-6m0 0 2.77-.693a9 9 0 0 1 6.208.682l.108.054a9 9 0 0 0 6.086.71l3.114-.732a48.524 48.524 0 0 1-.005-10.499l-3.11.732a9 9 0 0 1-6.085-.711l-.108-.054a9 9 0 0 0-6.208-.682L3 4.5M3 15V4.5\"><\/path>\n                                <\/svg>\n                            <\/button>\n                            <!-- User Avatar (moved to the right, last in flex container) -->\n                            \n<!-- User Avatar Component with Dropdown Menu -->\n<!-- Login Button for Non-Logged-In Users -->\n<button\n    class=\"icon-btn user-avatar-btn\"\n    onclick=\"if(window.openMeetgleLoginModal){openMeetgleLoginModal();}else{window.location.href='\/login';}\"\n    title=\"Login\"\n    style=\"padding: 3px; overflow: hidden;\">\n    <img decoding=\"async\"\n        src=\"https:\/\/www.spiegelcam.com\/wp-content\/plugins\/meetgle-plugin-v3%202\/includes\/..\/public\/img\/avatar.jpg\"\n        alt=\"Avatar\"\n        style=\"width: 30px; height: 30px; max-width: 30px; max-height: 30px; border-radius: 50%; object-fit: cover; pointer-events: none; display: block;\"\n    >\n<\/button>\n                        <\/div>\n                        \n                        <!-- Bottom bar: Premium session stats (premium only) -->\n                                                                    <\/div>\n                <\/div>\n                <!-- Right: Top half local video, bottom half chat\/controls -->\n                                <div class=\"controls-and-chat\" >\n                    <div class=\"video-wrapper local-video\">\n                        <!-- Profile gallery background (only visible before starting chat) -->\n                        <div class=\"live-counter-background\">\n                            <div id=\"profile-showcase\"><\/div>\n                        <\/div>\n\n                        <video id=\"localVideo\" autoplay playsinline muted><\/video>\n\n                        <!-- Chat Messages Overlay -->\n                        <div id=\"chatMessages\" class=\"chat-msg-overlay\"><\/div>\n\n                        <!-- Top controls: Leaderboard (left) and Spark Balance (right) -->\n                        <div class=\"top-controls\">\n                            <!-- Left side: Leaderboard + History + Streak buttons -->\n                            <div style=\"display: flex; gap: 8px; align-items: center;\">\n                                <!-- Leaderboard Button -->\n                                <button id=\"leaderboardDisplay\" class=\"icon-btn leaderboard-btn\" onclick=\"openLeaderboardModal()\" title=\"View Top Earners This Week\">\n                                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 18h-9M12 18v-3m0 0a4.5 4.5 0 0 0 4.5-4.5V6a.75.75 0 0 0-.75-.75H8.25A.75.75 0 0 0 7.5 6v4.5A4.5 4.5 0 0 0 12 15Zm-6-9V4.5a.75.75 0 0 0-.75-.75H3a.75.75 0 0 0-.75.75V7.5A2.25 2.25 0 0 0 4.5 9.75H6Zm12 0V4.5a.75.75 0 0 1 .75-.75H21a.75.75 0 0 1 .75.75V7.5a2.25 2.25 0 0 1-2.25 2.25H18ZM9 21h6\" \/>\n                                    <\/svg>\n                                <\/button>\n\n                                <!-- Chat History Button (shown for all users) -->\n                                <button id=\"chatHistoryBtn\" class=\"icon-btn history-btn\" onclick=\"openChatHistoryModal()\" title=\"View Your Chat History\">\n                                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z\" \/>\n                                    <\/svg>\n                                <\/button>\n                                \n                                                            <\/div>\n                            \n                            <!-- Right side: Shop Button + Spark Balance -->\n                            <div style=\"display: flex; gap: 8px; align-items: center;\">\n                                <!-- Spark Store Button -->\n                                <button id=\"sparkStoreBtn\" class=\"icon-btn spark-store-btn\" onclick=\"openSparkStoreModal()\" title=\"Spark Store\">\n                                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M21 11.25v8.25a1.5 1.5 0 0 1-1.5 1.5H4.5A1.5 1.5 0 0 1 3 19.5v-8.25M12 4.875A2.625 2.625 0 1 0 9.375 7.5H12m0-2.625V7.5m0-2.625A2.625 2.625 0 1 1 14.625 7.5H12m0 0V21m-8.625-9.75h18c.621 0 1.125-.504 1.125-1.125v-1.5c0-.621-.504-1.125-1.125-1.125h-18C2.504 7.5 2 8.004 2 8.625v1.5c0 .621.504 1.125 1.125 1.125Z\" \/>\n                                    <\/svg>\n                                <\/button>\n                                \n                                <!-- Spark Balance Display -->\n                                <button id=\"sparkBalanceDisplay\" class=\"icon-btn spark-balance-btn\" onclick=\"openSparkInfoModal()\" title=\"Login to start earning Sparks!\">\n                                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" style=\"flex-shrink:0;\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m3.75 13.5 10.5-11.25L12 10.5h8.25L9.75 21.75 12 13.5H3.75Z\" \/>\n                                    <\/svg>\n                                                                    <\/button>\n                            <\/div>\n                        <\/div>\n                        \n                        <!-- Bottom center controls -->\n                        <div class=\"bottom-controls\" style=\"display:none;\">\n                            <!-- Settings -->\n                            <div class=\"settings-wrap\">\n                                <button id=\"settingsBtn\" class=\"ctrl-btn btn-settings\" title=\"Settings\">\n                                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\">\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M9.594 3.94c.09-.542.56-.94 1.11-.94h2.593c.55 0 1.02.398 1.11.94l.213 1.281c.063.374.313.686.645.87.074.04.147.083.22.127.325.196.72.257 1.075.124l1.217-.456a1.125 1.125 0 0 1 1.37.49l1.296 2.247a1.125 1.125 0 0 1-.26 1.431l-1.003.827c-.293.241-.438.613-.43.992a7.723 7.723 0 0 1 0 .255c-.008.378.137.75.43.991l1.004.827c.424.35.534.955.26 1.43l-1.298 2.247a1.125 1.125 0 0 1-1.369.491l-1.217-.456c-.355-.133-.75-.072-1.076.124a6.47 6.47 0 0 1-.22.128c-.331.183-.581.495-.644.869l-.213 1.281c-.09.543-.56.94-1.11.94h-2.594c-.55 0-1.019-.398-1.11-.94l-.213-1.281c-.062-.374-.312-.686-.644-.87a6.52 6.52 0 0 1-.22-.127c-.325-.196-.72-.257-1.076-.124l-1.217.456a1.125 1.125 0 0 1-1.369-.49l-1.297-2.247a1.125 1.125 0 0 1 .26-1.431l1.004-.827c.292-.24.437-.613.43-.991a6.932 6.932 0 0 1 0-.255c.007-.38-.138-.751-.43-.992l-1.004-.827a1.125 1.125 0 0 1-.26-1.43l1.297-2.247a1.125 1.125 0 0 1 1.37-.491l1.216.456c.356.133.751.072 1.076-.124.072-.044.146-.086.22-.128.332-.183.582-.495.644-.869l.214-1.28Z\"\/>\n                                        <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M15 12a3 3 0 1 1-6 0 3 3 0 0 1 6 0Z\"\/>\n                                    <\/svg>\n                                    <span class=\"indicator\" id=\"settingsIndicator\"><\/span>\n                                <\/button>\n\n                                <!-- Settings Popover -->\n                                <div id=\"settingsPopover\" class=\"settings-popover\">\n                                    <!-- Blur toggle row -->\n                                    <div class=\"setting-row\" id=\"blurToggleRow\">\n                                        <div class=\"left\">\n                                            <div class=\"icon-circle\">\n                                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M3.98 8.223A10.477 10.477 0 0 0 1.934 12c1.292 4.338 5.31 7.5 10.066 7.5.993 0 1.953-.138 2.863-.395M6.228 6.228A10.451 10.451 0 0 1 12 4.5c4.756 0 8.773 3.162 10.065 7.498a10.522 10.522 0 0 1-4.293 5.774M6.228 6.228 3 3m3.228 3.228 3.65 3.65m7.894 7.894L21 21m-3.228-3.228-3.65-3.65m0 0a3 3 0 1 0-4.243-4.243m4.242 4.242L9.88 9.88\"\/><\/svg>\n                                            <\/div>\n                                            <div>\n                                                <div class=\"label\">Blur new matches<\/div>\n                                                <div class=\"sublabel\">5 second delay<\/div>\n                                            <\/div>\n                                        <\/div>\n                                        <div id=\"blurToggleMenu\" class=\"ctrl-checkbox\">\n                                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"3\" stroke=\"currentColor\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg>\n                                        <\/div>\n                                    <\/div>\n\n                                    <!-- Mic toggle row -->\n                                    <div class=\"setting-row\" id=\"micToggleRow\">\n                                        <div class=\"left\">\n                                            <div class=\"icon-circle\">\n                                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M12 18.75a6 6 0 0 0 6-6v-1.5m-6 7.5a6 6 0 0 1-6-6v-1.5m6 7.5v3.75m-3.75 0h7.5M12 15.75a3 3 0 0 1-3-3V4.5a3 3 0 1 1 6 0v8.25a3 3 0 0 1-3 3Z\"\/><\/svg>\n                                            <\/div>\n                                            <div>\n                                                <div class=\"label\">Microphone<\/div>\n                                                <div class=\"sublabel\" id=\"micStatusLabel\">On<\/div>\n                                            <\/div>\n                                        <\/div>\n                                        <div id=\"muteBtnMenu\" class=\"ctrl-toggle on\"><\/div>\n                                    <\/div>\n\n                                    <!-- Switch camera row -->\n                                    <div class=\"setting-row\" id=\"switchCameraRow\">\n                                        <div class=\"left\">\n                                            <div class=\"icon-circle\">\n                                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M6.827 6.175A2.31 2.31 0 0 1 5.186 7.23c-.38.054-.757.112-1.134.175C2.999 7.58 2.25 8.507 2.25 9.574V18a2.25 2.25 0 0 0 2.25 2.25h15A2.25 2.25 0 0 0 21.75 18V9.574c0-1.067-.75-1.994-1.802-2.169a47.865 47.865 0 0 0-1.134-.175 2.31 2.31 0 0 1-1.64-1.055l-.822-1.316a2.192 2.192 0 0 0-1.736-1.039 48.774 48.774 0 0 0-5.232 0 2.192 2.192 0 0 0-1.736 1.039l-.821 1.316Z\"\/><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 12.75a4.5 4.5 0 1 1-9 0 4.5 4.5 0 0 1 9 0ZM18.75 10.5h.008v.008h-.008V10.5Z\"\/><\/svg>\n                                            <\/div>\n                                            <div>\n                                                <div class=\"label\">Switch Camera<\/div>\n                                            <\/div>\n                                        <\/div>\n                                        <svg id=\"switchCameraBtnMenu\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\" style=\"width:16px;height:16px;color:rgba(255,255,255,0.3);flex-shrink:0;\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"m8.25 4.5 7.5 7.5-7.5 7.5\"\/><\/svg>\n                                    <\/div>\n                                <\/div>\n                            <\/div>\n\n                            <!-- Heart -->\n                            <button id=\"heartBtn\" class=\"ctrl-btn btn-heart\" title=\"Like\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"m11.645 20.91-.007-.003-.022-.012a15.247 15.247 0 0 1-.383-.218 25.18 25.18 0 0 1-4.244-3.17C4.688 15.36 2.25 12.174 2.25 8.25 2.25 5.322 4.714 3 7.688 3A5.5 5.5 0 0 1 12 5.052 5.5 5.5 0 0 1 16.313 3c2.973 0 5.437 2.322 5.437 5.25 0 3.925-2.438 7.111-4.739 9.256a25.175 25.175 0 0 1-4.244 3.17 15.247 15.247 0 0 1-.383.219l-.022.012-.007.004-.003.001a.752.752 0 0 1-.704 0l-.003-.001Z\"\/><\/svg>\n                            <\/button>\n\n                            <!-- Stop -->\n                            <button id=\"stopChatBtn\" class=\"ctrl-btn btn-stop\" title=\"Stop Chat\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M4.5 7.5a3 3 0 0 1 3-3h9a3 3 0 0 1 3 3v9a3 3 0 0 1-3 3h-9a3 3 0 0 1-3-3v-9Z\" clip-rule=\"evenodd\"\/><\/svg>\n                            <\/button>\n\n                            <!-- Next -->\n                            <button id=\"nextChatBtn\" class=\"ctrl-btn btn-next\" title=\"Next Person\">\n                                <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M5.055 7.06C3.805 6.347 2.25 7.25 2.25 8.69v8.122c0 1.44 1.555 2.343 2.805 1.628L12 14.471v2.34c0 1.44 1.555 2.343 2.805 1.628l7.108-4.061c1.26-.72 1.26-2.536 0-3.256l-7.108-4.061C13.555 6.346 12 7.249 12 8.689v2.34L5.055 7.061Z\"\/><\/svg>\n                                <span class=\"meetgle-next-label\">Next<\/span>\n                            <\/button>\n\n                            <!-- Spark -->\n                            <div class=\"spark-wrap\">\n                                <button id=\"sparkBtn\" class=\"ctrl-btn btn-spark\" title=\"Send Sparks\">\n                                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path fill-rule=\"evenodd\" d=\"M14.615 1.595a.75.75 0 0 1 .359.852L12.982 9.75h7.268a.75.75 0 0 1 .548 1.262l-10.5 11.25a.75.75 0 0 1-1.272-.71l1.992-7.302H3.75a.75.75 0 0 1-.548-1.262l10.5-11.25a.75.75 0 0 1 .913-.143Z\" clip-rule=\"evenodd\"\/><\/svg>\n                                <\/button>\n\n                                <!-- Spark Amount Popup -->\n                                <div id=\"sparkPopup\" class=\"spark-popup\">\n                                    <button class=\"sp-opt\" data-amount=\"5\">\u26a1 5<\/button>\n                                    <button class=\"sp-opt\" data-amount=\"10\">\u26a1 10<\/button>\n                                    <button class=\"sp-opt\" data-amount=\"25\">\u26a1 25<\/button>\n                                    <button class=\"sp-opt\" data-amount=\"50\">\u26a1 50<\/button>\n                                <\/div>\n                            <\/div>\n\n                            <!-- Chat Message -->\n                            <div class=\"chatmsg-wrap\">\n                                <button id=\"chatMsgBtn\" class=\"ctrl-btn btn-chatmsg\" title=\"Send Message\">\n                                    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"2\" stroke=\"currentColor\"><path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M8.625 12a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H8.25m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0H12m4.125 0a.375.375 0 1 1-.75 0 .375.375 0 0 1 .75 0Zm0 0h-.375M21 12c0 4.556-4.03 8.25-9 8.25a9.764 9.764 0 0 1-2.555-.337A5.972 5.972 0 0 1 5.41 20.97a5.969 5.969 0 0 1-.474-.065 4.48 4.48 0 0 0 .978-2.025c.09-.457-.133-.901-.467-1.226C3.93 16.178 3 14.189 3 12c0-4.556 4.03-8.25 9-8.25s9 3.694 9 8.25Z\"\/><\/svg>\n                                    <span id=\"chatMsgNewPill\" style=\"position:absolute;top:-10px;right:-14px;background:#10B981;color:#fff;font-size:8px;font-weight:800;padding:3px 7px;border-radius:8px;pointer-events:none;white-space:nowrap;letter-spacing:0.4px;box-shadow:0 2px 8px rgba(16,185,129,0.4);display:none;\">NEW<\/span>\n                                <\/button>\n                                <!-- Chat Message Input Popover -->\n                                <div id=\"chatMsgPopover\" class=\"chatmsg-popover\">\n                                    <form id=\"chatMsgForm\" onsubmit=\"return false;\" style=\"display:flex;gap:6px;align-items:stretch;\">\n                                        <input type=\"text\" id=\"chatMsgInput\" placeholder=\"Type a message...\" maxlength=\"200\" autocomplete=\"off\" style=\"flex:1;background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:10px;padding:10px 14px;color:#fff;font-size:16px;font-family:inherit;outline:none;height:40px;box-sizing:border-box;\">\n                                        <button type=\"submit\" id=\"chatMsgSendBtn\" style=\"background:#feaf25;border:none;border-radius:10px;width:40px;height:40px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-sizing:border-box;\">\n                                            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;display:block!important;\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"\/><polygon points=\"22 2 15 22 11 13 2 9 22 2\"\/><\/svg>\n                                        <\/button>\n                                    <\/form>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n\n                        <!-- Insufficient Sparks Toast -->\n                        <div id=\"insufficientSparksToast\" style=\"display:none;position:absolute;bottom:100px;left:50%;transform:translateX(-50%);background:rgba(239,68,68,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);color:#fff;padding:10px 20px;border-radius:50px;font-size:14px;font-weight:600;z-index:300;white-space:nowrap;box-shadow:0 4px 20px rgba(0,0,0,0.4);pointer-events:none;opacity:0;transition:opacity 0.3s ease;\">\n                            Not enough sparks!                        <\/div>\n                        \n                        <div class=\"heart-anim-overlay\" id=\"heartAnimOverlay\" style=\"pointer-events:none;position:absolute;top:0;left:0;width:100%;height:100%;z-index:100;\"><\/div>\n\n                                                                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n        <!-- Spark Info Modal -->\n        <!-- Buy Sparks Modal (lazy template \u2014 hydrated by MeetgleModalLoader; JS in public\/js\/modals\/spark-info.modal.js).\n     The buy modal + purchase-confirm dialog + success toast share this one template. -->\n<template id=\"sparkInfoTpl\">\n<!-- Buy Sparks Modal -->\n<div id=\"sparkInfoModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content spark-info-modal-content\" style=\"max-width:700px;margin:0;background:rgba(20,20,30,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <!-- Header -->\n        <div style=\"padding:20px 24px 0 24px;display:flex;align-items:center;justify-content:space-between;\">\n            <h2 class=\"mg-mtitle\">Buy Sparks<\/h2>\n            <button onclick=\"closeSparkInfoModal()\" class=\"mg-mclose\">&times;<\/button>\n        <\/div>\n\n        <!-- Content -->\n        <div style=\"padding:16px 24px 24px 24px;overflow-y:auto;\">\n\n                        <!-- Login Notice -->\n            <div style=\"background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:10px 16px;margin-bottom:16px;display:flex;align-items:center;gap:12px;\">\n                <div style=\"font-size:16px;\">\ud83d\udd12<\/div>\n                <div style=\"flex:1;min-width:0;\">\n                    <div style=\"color:white;font-weight:600;font-size:13px;\">Login Required<\/div>\n                    <div style=\"color:rgba(255,255,255,0.4);font-size:11px;\">Create a free account to purchase items<\/div>\n                <\/div>\n                <a href=\"\/register\" style=\"background:#ffc83d;color:#000;padding:6px 14px;border-radius:16px;text-decoration:none;font-weight:600;font-size:12px;white-space:nowrap;flex-shrink:0;\">Sign Up<\/a>\n            <\/div>\n            \n            <!-- Unlock benefits -->\n            <div style=\"margin-bottom:20px;\">\n                <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:12px;\">\n                    <div style=\"width:6px;height:6px;border-radius:50%;background:#ffc83d;flex-shrink:0;\"><\/div>\n                    <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">Unlock with Sparks<\/span>\n                <\/div>\n                <div class=\"spark-info-perks-grid\">\n                    <div class=\"spark-perk\">\n                        <div class=\"spark-perk-icon\" style=\"background:linear-gradient(135deg,#ec4899 0%,#db2777 100%);\">\u2640<\/div>\n                        <div class=\"spark-perk-body\">\n                            <div class=\"spark-perk-title\">Gender Filter<\/div>\n                            <div class=\"spark-perk-sub\">Match by gender<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"spark-perk\">\n                        <div class=\"spark-perk-icon\" style=\"background:linear-gradient(135deg,#10b981 0%,#059669 100%);\">\ud83c\udf0d<\/div>\n                        <div class=\"spark-perk-body\">\n                            <div class=\"spark-perk-title\">Country Match<\/div>\n                            <div class=\"spark-perk-sub\">Pick where they&#039;re from<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"spark-perk\">\n                        <div class=\"spark-perk-icon\" style=\"background:linear-gradient(135deg,#1d9bf0 0%,#1a8cd8 100%);font-size:14px;\">\u2713<\/div>\n                        <div class=\"spark-perk-body\">\n                            <div class=\"spark-perk-title\">Verified Badge<\/div>\n                            <div class=\"spark-perk-sub\">Get the blue check<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"spark-perk\">\n                        <div class=\"spark-perk-icon\" style=\"background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);\">\ud83d\udcac<\/div>\n                        <div class=\"spark-perk-body\">\n                            <div class=\"spark-perk-title\">Direct Messages<\/div>\n                            <div class=\"spark-perk-sub\">Chat after the call<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"spark-perk\">\n                        <div class=\"spark-perk-icon\" style=\"background:linear-gradient(135deg,#ffc83d 0%,#e6ad2e 100%);\">\ud83c\udf81<\/div>\n                        <div class=\"spark-perk-body\">\n                            <div class=\"spark-perk-title\">Gift Sparks<\/div>\n                            <div class=\"spark-perk-sub\">Send to anyone<\/div>\n                        <\/div>\n                    <\/div>\n                    <div class=\"spark-perk\">\n                        <div class=\"spark-perk-icon\" style=\"background:linear-gradient(135deg,#ef4444 0%,#dc2626 100%);\">\ud83d\udcf8<\/div>\n                        <div class=\"spark-perk-body\">\n                            <div class=\"spark-perk-title\">Premium Photos<\/div>\n                            <div class=\"spark-perk-sub\">Unlock private galleries<\/div>\n                        <\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n                        <!-- No packages available -->\n            <div style=\"text-align:center;padding:40px 0;\">\n                <div style=\"font-size:32px;margin-bottom:12px;\">\u26a1<\/div>\n                <div style=\"color:rgba(255,255,255,0.5);font-size:14px;\">Spark Bundles Coming Soon<\/div>\n                <div style=\"color:rgba(255,255,255,0.3);font-size:12px;margin-top:6px;\">Get more sparks at discounted rates<\/div>\n            <\/div>\n            \n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Purchase Confirmation Modal (for spark packages) -->\n<div id=\"sparkInfoPurchaseConfirmModal\" class=\"meetgle-modal\" style=\"display:none;z-index:999999;\">\n    <div class=\"meetgle-modal-content\" style=\"max-width:400px;background:#1F2937;text-align:center;\">\n        <div style=\"padding:24px;\">\n            <div id=\"sparkInfoPurchaseIcon\" style=\"font-size:48px;margin-bottom:16px;\">\ud83d\udcb0<\/div>\n            <h3 id=\"sparkInfoPurchaseTitle\" style=\"color:white;margin:0 0 8px 0;font-size:20px;font-weight:600;\">Confirm Purchase<\/h3>\n            <p id=\"sparkInfoPurchaseMessage\" style=\"color:#9CA3AF;margin:0 0 24px 0;font-size:14px;\"><\/p>\n\n            <div style=\"display:flex;gap:12px;justify-content:center;\">\n                <button onclick=\"closeSparkInfoPurchaseConfirm()\" style=\"background:#374151;color:white;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;\">\n                    Cancel                <\/button>\n                <button id=\"sparkInfoPurchaseBtn\" onclick=\"confirmSparkInfoPurchase()\" style=\"background:linear-gradient(135deg, #10B981 0%, #059669 100%);color:white;border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;\">\n                    Buy Now                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Spark Purchase Success Toast (shown after Lemon Squeezy overlay returns success) -->\n<div id=\"sparkPurchaseToast\" class=\"spark-purchase-toast\" role=\"status\" aria-live=\"polite\" style=\"display:none;\">\n    <div class=\"spark-purchase-toast-glow\" aria-hidden=\"true\"><\/div>\n    <div class=\"spark-purchase-toast-icon\" aria-hidden=\"true\">\n        <span class=\"spark-purchase-toast-bolt\">\u26a1<\/span>\n    <\/div>\n    <div class=\"spark-purchase-toast-body\">\n        <div class=\"spark-purchase-toast-title\">Sparks Added!<\/div>\n        <div class=\"spark-purchase-toast-msg\">Your purchase was successful. Enjoy!<\/div>\n    <\/div>\n    <button class=\"spark-purchase-toast-close\" type=\"button\" onclick=\"hideSparkPurchaseToast()\" aria-label=\"Close\">&times;<\/button>\n<\/div>\n<\/template>\n\n<script>window.MEETGLE_SPARKINFO_INIT = {\n    packages: [],\n    lsOverlay: false};<\/script>\n\n        \n        <!-- Spark Store Modal -->\n        <!-- Spark Store Modal (lazy template \u2014 hydrated by MeetgleModalLoader; JS in public\/js\/modals\/spark-store.modal.js).\n     The store + purchase-confirm dialog share this one template. -->\n<template id=\"sparkStoreTpl\">\n<!-- Spark Store Modal -->\n<div id=\"sparkStoreModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content spark-store-modal-content\" style=\"max-width:700px;margin:0;background:#141417;border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <!-- Header -->\n        <div class=\"ss-head\">\n            <h2 class=\"mg-mtitle\">Spark Store<\/h2>\n            <button onclick=\"closeSparkStoreModal()\" class=\"mg-mclose\">&times;<\/button>\n        <\/div>\n\n        <!-- Balance row -->\n        <div class=\"ss-bal\">\n            <span class=\"ss-bal-lbl\">Your balance<\/span>\n            <span class=\"ss-bal-amt\"><span class=\"lt\">\u26a1<\/span><span id=\"storeSparkBalance\">0<\/span><\/span>\n        <\/div>\n\n        <!-- Content -->\n        <div class=\"ss-body\">\n                        <!-- Login Notice -->\n            <div class=\"ss-login\">\n                <div class=\"ss-login-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><rect x=\"4\" y=\"10\" width=\"16\" height=\"11\" rx=\"2\"\/><path d=\"M8 10V7a4 4 0 0 1 8 0v3\"\/><\/svg><\/div>\n                <div class=\"ss-login-txt\">\n                    <div class=\"t\">Login Required<\/div>\n                    <div class=\"d\">Create a free account to purchase items<\/div>\n                <\/div>\n                <a href=\"\/register\" class=\"ss-login-btn\">Sign Up<\/a>\n            <\/div>\n            \n            <div class=\"ss-grid\">\n\n                <!-- Match Filters (featured) -->\n                <div id=\"storeItem_match_filters\" class=\"ss-card ss-featured store-item\" data-item-type=\"match_filters\" data-price=\"100\" onclick=\"handleStorePurchase('match_filters', 100)\">\n                    <div class=\"ss-top\"><div class=\"ss-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"><path d=\"M3 6h13M3 12h9M3 18h5\"\/><circle cx=\"19\" cy=\"6\" r=\"2\"\/><circle cx=\"15\" cy=\"12\" r=\"2\"\/><circle cx=\"11\" cy=\"18\" r=\"2\"\/><\/svg><\/div><div class=\"ss-price\">100 <span class=\"lt\">\u26a1<\/span><\/div><\/div>\n                    <div class=\"ss-title\">Match Filters<\/div>\n                    <div class=\"ss-desc\">Filter matches by gender and country<\/div>\n                    <div class=\"ss-foot\" id=\"ssFoot_match_filters\"><span class=\"ss-dur\">24 hours<\/span><span class=\"ss-buy\">Buy<\/span><\/div>\n                <\/div>\n\n                <!-- Reveal Gender -->\n                <div id=\"storeItem_reveal_gender\" class=\"ss-card store-item\" data-item-type=\"reveal_gender\" data-price=\"50\" onclick=\"handleStorePurchase('reveal_gender', 50)\">\n                    <div class=\"ss-top\"><div class=\"ss-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg><\/div><div class=\"ss-price\">50 <span class=\"lt\">\u26a1<\/span><\/div><\/div>\n                    <div class=\"ss-title\">Reveal Gender<\/div>\n                    <div class=\"ss-desc\">See your match&#039;s gender<\/div>\n                    <div class=\"ss-foot\" id=\"ssFoot_reveal_gender\"><span class=\"ss-dur\">24 hours<\/span><span class=\"ss-buy\">Buy<\/span><\/div>\n                <\/div>\n\n                <!-- Chat History -->\n                <div id=\"storeItem_full_history\" class=\"ss-card store-item\" data-item-type=\"full_history\" data-price=\"100\" onclick=\"handleStorePurchase('full_history', 100)\">\n                    <div class=\"ss-top\"><div class=\"ss-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 3v5h5\"\/><path d=\"M3.05 13A9 9 0 1 0 6 5.3L3 8\"\/><path d=\"M12 7v5l4 2\"\/><\/svg><\/div><div class=\"ss-price\">100 <span class=\"lt\">\u26a1<\/span><\/div><\/div>\n                    <div class=\"ss-title\">Chat History<\/div>\n                    <div class=\"ss-desc\">Full unlimited history access<\/div>\n                    <div class=\"ss-foot\" id=\"ssFoot_full_history\"><span class=\"ss-dur\">24 hours<\/span><span class=\"ss-buy\">Buy<\/span><\/div>\n                <\/div>\n\n                <!-- Blue Verification -->\n                <div id=\"storeItem_blue_verification\" class=\"ss-card store-item\" data-item-type=\"blue_verification\" data-price=\"100\" onclick=\"handleStorePurchase('blue_verification', 100)\">\n                    <div class=\"ss-top\"><div class=\"ss-ic ss-ic-blue\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2l2.6 1.9 3.2-.1 1 3 2.6 1.8-1 3 1 3-2.6 1.8-1 3-3.2-.1L12 22l-2.6-1.9-3.2.1-1-3L2.6 15.4l1-3-1-3 2.6-1.8 1-3 3.2.1z\"\/><path d=\"M9 12l2 2 4-4\"\/><\/svg><\/div><div class=\"ss-price\">100 <span class=\"lt\">\u26a1<\/span><\/div><\/div>\n                    <div class=\"ss-title\">Blue Verification<\/div>\n                    <div class=\"ss-desc\">Verified checkmark next to your name<\/div>\n                    <div class=\"ss-foot\" id=\"ssFoot_blue_verification\">\n                                                    <span class=\"ss-dur\">7 days<\/span><span class=\"ss-buy\">Buy<\/span>\n                                            <\/div>\n                <\/div>\n\n                <!-- Streak Freeze -->\n                <div id=\"storeItem_streak_freeze\" class=\"ss-card store-item\" data-item-type=\"streak_freeze\" data-price=\"200\" onclick=\"handleStreakFreezePurchase()\">\n                    <div class=\"ss-top\"><div class=\"ss-ic ss-ic-blue\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 2v20M4.5 7l15 10M19.5 7l-15 10M12 5l-3 2 3 2 3-2-3-2zM12 19l-3-2 3-2 3 2-3 2z\"\/><\/svg><\/div><div class=\"ss-price\">200 <span class=\"lt\">\u26a1<\/span><\/div><\/div>\n                    <div class=\"ss-title\">Streak Freeze<\/div>\n                    <div class=\"ss-desc\">Saves your streak if you miss a day<\/div>\n                    <div class=\"ss-foot\">\n                        <span class=\"ss-dur\" id=\"streakFreezeOwnedCount\">0 owned<\/span>\n                        <span class=\"ss-buy\">Buy<\/span>\n                    <\/div>\n                <\/div>\n\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Purchase Confirmation Modal -->\n<div id=\"purchaseConfirmModal\" class=\"meetgle-modal\" style=\"display:none;z-index:999999;\">\n    <div class=\"meetgle-modal-content ss-cf\">\n        <div class=\"ss-cf-ic\"><span id=\"purchaseConfirmIcon\">\ud83c\udf81<\/span><\/div>\n        <h3 id=\"purchaseConfirmTitle\" class=\"ss-cf-title\">Confirm Purchase<\/h3>\n        <p id=\"purchaseConfirmMessage\" class=\"ss-cf-sub\"><\/p>\n        <div class=\"ss-cf-actions\">\n            <button onclick=\"closePurchaseConfirmModal()\" class=\"ss-cf-btn ss-cf-cancel\">Cancel<\/button>\n            <button id=\"purchaseConfirmBtn\" onclick=\"confirmPurchase()\" class=\"ss-cf-btn ss-cf-confirm\">Buy Now<\/button>\n        <\/div>\n    <\/div>\n<\/div>\n<\/template>\n\n<script>window.MEETGLE_STORE_INIT = {\n    canSeeGender: false,\n    canUseFilters: false,\n    isAdmin: false};<\/script>\n        \n        <!-- Leaderboard Modal -->\n        <!-- Leaderboard Modal (lazy template \u2014 hydrated by MeetgleModalLoader; JS in public\/js\/meetgle-leaderboard.js, features bundle) -->\n<template id=\"leaderboardTpl\">\n<div id=\"leaderboardModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content leaderboard-modal-content\" style=\"max-width:700px;background:#141417;border:1px solid rgba(255,255,255,0.08);border-radius:20px;display:flex;flex-direction:column;max-height:90vh;overflow:hidden;\">\n\n        <!-- Header -->\n        <div class=\"lb-head\">\n            <div class=\"lb-titles\">\n                <h2 class=\"mg-mtitle\">Top Earners<\/h2>\n                <div class=\"lb-sub\" id=\"leaderboardWeekRange\">Loading...<\/div>\n            <\/div>\n            <button onclick=\"closeLeaderboardModal()\" class=\"mg-mclose\">&times;<\/button>\n        <\/div>\n\n        <!-- Body (scrolls) -->\n        <div class=\"lb-body\">\n\n            <!-- Loading State -->\n            <div id=\"leaderboardLoading\" style=\"text-align:center;padding:48px 0;\">\n                <div style=\"width:32px;height:32px;border:3px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.5);border-radius:50%;margin:0 auto 12px;animation:lbSpin 0.8s linear infinite;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.35);font-size:13px;\">Loading leaderboard...<\/div>\n            <\/div>\n\n            <!-- Leaderboard Content -->\n            <div id=\"leaderboardContent\" style=\"display:none;\">\n\n                <!-- Champion (rank #1) -->\n                <div id=\"leaderboardChampion\" class=\"lb-champ\" style=\"display:none;\">\n                    <div class=\"lb-champ-bignum\">1<\/div>\n                    <div class=\"lb-champ-avwrap\">\n                        <div class=\"lb-champ-crown\"><svg viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M2.5 7.5l3.7 3.2L12 4l5.8 6.7 3.7-3.2-1.8 11.3a1 1 0 0 1-1 .84H5.3a1 1 0 0 1-1-.84L2.5 7.5z\"\/><\/svg><\/div>\n                        <div class=\"lb-champ-av\"><img decoding=\"async\" id=\"championAvatar\" src=\"\" alt=\"\"><\/div>\n                    <\/div>\n                    <div class=\"lb-champ-info\">\n                        <div class=\"lb-champ-tag\">This week&#039;s champion<\/div>\n                        <div class=\"lb-champ-nm\" id=\"championName\"><\/div>\n                        <div class=\"lb-champ-spk\"><span id=\"championSparks\">0<\/span> <span class=\"lt\">\u26a1<\/span><\/div>\n                        <div class=\"lb-champ-lead\" id=\"championLead\"><\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- Ranks #2+ -->\n                <div id=\"leaderboardList\" class=\"lb-list\"><\/div>\n            <\/div>\n\n            <!-- Error State -->\n            <div id=\"leaderboardError\" style=\"display:none;text-align:center;padding:48px 0;\">\n                <div style=\"font-size:28px;margin-bottom:12px;\">\ud83d\ude1e<\/div>\n                <div style=\"color:rgba(255,255,255,0.4);font-size:13px;\">Failed to load leaderboard. Please try again.<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/template>\n        \n\n\n        \n        <!-- Match Preferences Drawer (always rendered for all users) -->\n        \n<!-- Match Preferences Drawer -->\n<div id=\"matchPreferencesDrawer\" class=\"meetgle-drawer-overlay\" style=\"display:none;\">\n    <div id=\"drawerContent\" class=\"meetgle-drawer-sheet\">\n\n        <!-- Grab handle (shared drawer style) -->\n        <div id=\"drawerGrab\" class=\"meetgle-drawer-grab\" aria-hidden=\"true\"><\/div>\n\n        <!-- Header -->\n        <div style=\"display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;\">\n            <div style=\"display:flex;align-items:center;gap:10px;\">\n                <div style=\"width:30px;height:30px;border-radius:8px;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;\">\n                    <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,0.5)\" stroke-width=\"2\" stroke-linecap=\"round\"><line x1=\"4\" y1=\"6\" x2=\"20\" y2=\"6\"\/><circle cx=\"15\" cy=\"6\" r=\"2\" fill=\"rgba(255,255,255,0.5)\"\/><line x1=\"4\" y1=\"12\" x2=\"20\" y2=\"12\"\/><circle cx=\"9\" cy=\"12\" r=\"2\" fill=\"rgba(255,255,255,0.5)\"\/><line x1=\"4\" y1=\"18\" x2=\"20\" y2=\"18\"\/><circle cx=\"14\" cy=\"18\" r=\"2\" fill=\"rgba(255,255,255,0.5)\"\/><\/svg>\n                <\/div>\n                <span style=\"font-size:15px;font-weight:700;color:rgba(255,255,255,0.8);letter-spacing:0.5px;\">MATCH PREFERENCES<\/span>\n            <\/div>\n            <button id=\"drawerCloseBtn\" class=\"meetgle-drawer-close\" aria-label=\"Close\">\n                <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>\n            <\/button>\n        <\/div>\n\n        <!-- Filter Cards -->\n        <div style=\"display:flex;flex-direction:column;\">\n\n            <!-- Gender Filter Card -->\n            <div id=\"genderFilterCard\" class=\"mp-card\" style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;border-bottom:1px solid rgba(255,255,255,0.06);cursor:pointer;user-select:none;\">\n                <div style=\"display:flex;align-items:center;gap:12px;min-width:0;\">\n                    <div id=\"genderFilterIcon\" style=\"width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;\">\n                        <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,0.5)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M22 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg>\n                    <\/div>\n                    <div style=\"min-width:0;\">\n                        <div style=\"font-size:14px;font-weight:600;color:#fff;\">Gender<\/div>\n                        <div id=\"genderFilterLabel\" style=\"font-size:12px;color:rgba(255,255,255,0.35);font-weight:500;margin-top:1px;\">Everyone<\/div>\n                    <\/div>\n                <\/div>\n                <div id=\"genderCardRight\" style=\"display:flex;align-items:center;flex-shrink:0;\">\n                    <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,0.4)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 6 6 6-6 6\"\/><\/svg>\n                <\/div>\n            <\/div>\n\n            <!-- Country Filter Card -->\n            <div id=\"countryFilterCard\" class=\"mp-card\" style=\"display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 4px;cursor:pointer;user-select:none;\">\n                <div style=\"display:flex;align-items:center;gap:12px;min-width:0;\">\n                    <div id=\"countryFilterIcon\" style=\"width:32px;height:32px;border-radius:9px;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;\">\n                        <svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,0.5)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/><\/svg>\n                    <\/div>\n                    <div style=\"min-width:0;\">\n                        <div style=\"font-size:14px;font-weight:600;color:#fff;\">Country<\/div>\n                        <div id=\"countryFilterLabel\" style=\"font-size:12px;color:rgba(255,255,255,0.35);font-weight:500;margin-top:1px;\">Nearby<\/div>\n                    <\/div>\n                <\/div>\n                <div id=\"countryCardRight\" style=\"display:flex;align-items:center;flex-shrink:0;\">\n                    <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,0.4)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"m9 6 6 6-6 6\"\/><\/svg>\n                <\/div>\n            <\/div>\n\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Hidden select elements (for filter functionality) -->\n<select id=\"genderFilter\" style=\"display:none;\">\n    <option value=\"\">All Genders<\/option>\n    <option value=\"male\">\u2642 Males Only<\/option>\n    <option value=\"female\">\u2640 Females Only<\/option>\n<\/select>\n\n<select id=\"countryFilter\" style=\"display:none;\">\n    <option value=\"\">All Countries<\/option><option value=\"AF\">\ud83c\udde6\ud83c\uddeb Afghanistan<\/option>\n<option value=\"AL\">\ud83c\udde6\ud83c\uddf1 Albania<\/option>\n<option value=\"DZ\">\ud83c\udde9\ud83c\uddff Algeria<\/option>\n<option value=\"AD\">\ud83c\udde6\ud83c\udde9 Andorra<\/option>\n<option value=\"AO\">\ud83c\udde6\ud83c\uddf4 Angola<\/option>\n<option value=\"AG\">\ud83c\udde6\ud83c\uddec Antigua and Barbuda<\/option>\n<option value=\"AR\">\ud83c\udde6\ud83c\uddf7 Argentina<\/option>\n<option value=\"AM\">\ud83c\udde6\ud83c\uddf2 Armenia<\/option>\n<option value=\"AU\">\ud83c\udde6\ud83c\uddfa Australia<\/option>\n<option value=\"AT\">\ud83c\udde6\ud83c\uddf9 Austria<\/option>\n<option value=\"AZ\">\ud83c\udde6\ud83c\uddff Azerbaijan<\/option>\n<option value=\"BS\">\ud83c\udde7\ud83c\uddf8 Bahamas<\/option>\n<option value=\"BH\">\ud83c\udde7\ud83c\udded Bahrain<\/option>\n<option value=\"BD\">\ud83c\udde7\ud83c\udde9 Bangladesh<\/option>\n<option value=\"BB\">\ud83c\udde7\ud83c\udde7 Barbados<\/option>\n<option value=\"BY\">\ud83c\udde7\ud83c\uddfe Belarus<\/option>\n<option value=\"BE\">\ud83c\udde7\ud83c\uddea Belgium<\/option>\n<option value=\"BZ\">\ud83c\udde7\ud83c\uddff Belize<\/option>\n<option value=\"BJ\">\ud83c\udde7\ud83c\uddef Benin<\/option>\n<option value=\"BT\">\ud83c\udde7\ud83c\uddf9 Bhutan<\/option>\n<option value=\"BO\">\ud83c\udde7\ud83c\uddf4 Bolivia<\/option>\n<option value=\"BA\">\ud83c\udde7\ud83c\udde6 Bosnia and Herzegovina<\/option>\n<option value=\"BW\">\ud83c\udde7\ud83c\uddfc Botswana<\/option>\n<option value=\"BR\">\ud83c\udde7\ud83c\uddf7 Brazil<\/option>\n<option value=\"BN\">\ud83c\udde7\ud83c\uddf3 Brunei<\/option>\n<option value=\"BG\">\ud83c\udde7\ud83c\uddec Bulgaria<\/option>\n<option value=\"BF\">\ud83c\udde7\ud83c\uddeb Burkina Faso<\/option>\n<option value=\"BI\">\ud83c\udde7\ud83c\uddee Burundi<\/option>\n<option value=\"KH\">\ud83c\uddf0\ud83c\udded Cambodia<\/option>\n<option value=\"CM\">\ud83c\udde8\ud83c\uddf2 Cameroon<\/option>\n<option value=\"CA\">\ud83c\udde8\ud83c\udde6 Canada<\/option>\n<option value=\"CV\">\ud83c\udde8\ud83c\uddfb Cape Verde<\/option>\n<option value=\"CF\">\ud83c\udde8\ud83c\uddeb Central African Republic<\/option>\n<option value=\"TD\">\ud83c\uddf9\ud83c\udde9 Chad<\/option>\n<option value=\"CL\">\ud83c\udde8\ud83c\uddf1 Chile<\/option>\n<option value=\"CN\">\ud83c\udde8\ud83c\uddf3 China<\/option>\n<option value=\"CO\">\ud83c\udde8\ud83c\uddf4 Colombia<\/option>\n<option value=\"KM\">\ud83c\uddf0\ud83c\uddf2 Comoros<\/option>\n<option value=\"CG\">\ud83c\udde8\ud83c\uddec Congo<\/option>\n<option value=\"CD\">\ud83c\udde8\ud83c\udde9 Congo (DRC)<\/option>\n<option value=\"CR\">\ud83c\udde8\ud83c\uddf7 Costa Rica<\/option>\n<option value=\"HR\">\ud83c\udded\ud83c\uddf7 Croatia<\/option>\n<option value=\"CU\">\ud83c\udde8\ud83c\uddfa Cuba<\/option>\n<option value=\"CY\">\ud83c\udde8\ud83c\uddfe Cyprus<\/option>\n<option value=\"CZ\">\ud83c\udde8\ud83c\uddff Czech Republic<\/option>\n<option value=\"DK\">\ud83c\udde9\ud83c\uddf0 Denmark<\/option>\n<option value=\"DJ\">\ud83c\udde9\ud83c\uddef Djibouti<\/option>\n<option value=\"DM\">\ud83c\udde9\ud83c\uddf2 Dominica<\/option>\n<option value=\"DO\">\ud83c\udde9\ud83c\uddf4 Dominican Republic<\/option>\n<option value=\"EC\">\ud83c\uddea\ud83c\udde8 Ecuador<\/option>\n<option value=\"EG\">\ud83c\uddea\ud83c\uddec Egypt<\/option>\n<option value=\"SV\">\ud83c\uddf8\ud83c\uddfb El Salvador<\/option>\n<option value=\"GQ\">\ud83c\uddec\ud83c\uddf6 Equatorial Guinea<\/option>\n<option value=\"ER\">\ud83c\uddea\ud83c\uddf7 Eritrea<\/option>\n<option value=\"EE\">\ud83c\uddea\ud83c\uddea Estonia<\/option>\n<option value=\"ET\">\ud83c\uddea\ud83c\uddf9 Ethiopia<\/option>\n<option value=\"FJ\">\ud83c\uddeb\ud83c\uddef Fiji<\/option>\n<option value=\"FI\">\ud83c\uddeb\ud83c\uddee Finland<\/option>\n<option value=\"FR\">\ud83c\uddeb\ud83c\uddf7 France<\/option>\n<option value=\"GA\">\ud83c\uddec\ud83c\udde6 Gabon<\/option>\n<option value=\"GM\">\ud83c\uddec\ud83c\uddf2 Gambia<\/option>\n<option value=\"GE\">\ud83c\uddec\ud83c\uddea Georgia<\/option>\n<option value=\"DE\">\ud83c\udde9\ud83c\uddea Germany<\/option>\n<option value=\"GH\">\ud83c\uddec\ud83c\udded Ghana<\/option>\n<option value=\"GR\">\ud83c\uddec\ud83c\uddf7 Greece<\/option>\n<option value=\"GD\">\ud83c\uddec\ud83c\udde9 Grenada<\/option>\n<option value=\"GT\">\ud83c\uddec\ud83c\uddf9 Guatemala<\/option>\n<option value=\"GN\">\ud83c\uddec\ud83c\uddf3 Guinea<\/option>\n<option value=\"GW\">\ud83c\uddec\ud83c\uddfc Guinea-Bissau<\/option>\n<option value=\"GY\">\ud83c\uddec\ud83c\uddfe Guyana<\/option>\n<option value=\"HT\">\ud83c\udded\ud83c\uddf9 Haiti<\/option>\n<option value=\"HN\">\ud83c\udded\ud83c\uddf3 Honduras<\/option>\n<option value=\"HU\">\ud83c\udded\ud83c\uddfa Hungary<\/option>\n<option value=\"IS\">\ud83c\uddee\ud83c\uddf8 Iceland<\/option>\n<option value=\"IN\">\ud83c\uddee\ud83c\uddf3 India<\/option>\n<option value=\"ID\">\ud83c\uddee\ud83c\udde9 Indonesia<\/option>\n<option value=\"IR\">\ud83c\uddee\ud83c\uddf7 Iran<\/option>\n<option value=\"IQ\">\ud83c\uddee\ud83c\uddf6 Iraq<\/option>\n<option value=\"IE\">\ud83c\uddee\ud83c\uddea Ireland<\/option>\n<option value=\"IL\">\ud83c\uddee\ud83c\uddf1 Israel<\/option>\n<option value=\"IT\">\ud83c\uddee\ud83c\uddf9 Italy<\/option>\n<option value=\"CI\">\ud83c\udde8\ud83c\uddee Ivory Coast<\/option>\n<option value=\"JM\">\ud83c\uddef\ud83c\uddf2 Jamaica<\/option>\n<option value=\"JP\">\ud83c\uddef\ud83c\uddf5 Japan<\/option>\n<option value=\"JO\">\ud83c\uddef\ud83c\uddf4 Jordan<\/option>\n<option value=\"KZ\">\ud83c\uddf0\ud83c\uddff Kazakhstan<\/option>\n<option value=\"KE\">\ud83c\uddf0\ud83c\uddea Kenya<\/option>\n<option value=\"KI\">\ud83c\uddf0\ud83c\uddee Kiribati<\/option>\n<option value=\"KW\">\ud83c\uddf0\ud83c\uddfc Kuwait<\/option>\n<option value=\"KG\">\ud83c\uddf0\ud83c\uddec Kyrgyzstan<\/option>\n<option value=\"LA\">\ud83c\uddf1\ud83c\udde6 Laos<\/option>\n<option value=\"LV\">\ud83c\uddf1\ud83c\uddfb Latvia<\/option>\n<option value=\"LB\">\ud83c\uddf1\ud83c\udde7 Lebanon<\/option>\n<option value=\"LS\">\ud83c\uddf1\ud83c\uddf8 Lesotho<\/option>\n<option value=\"LR\">\ud83c\uddf1\ud83c\uddf7 Liberia<\/option>\n<option value=\"LY\">\ud83c\uddf1\ud83c\uddfe Libya<\/option>\n<option value=\"LI\">\ud83c\uddf1\ud83c\uddee Liechtenstein<\/option>\n<option value=\"LT\">\ud83c\uddf1\ud83c\uddf9 Lithuania<\/option>\n<option value=\"LU\">\ud83c\uddf1\ud83c\uddfa Luxembourg<\/option>\n<option value=\"MK\">\ud83c\uddf2\ud83c\uddf0 Macedonia<\/option>\n<option value=\"MG\">\ud83c\uddf2\ud83c\uddec Madagascar<\/option>\n<option value=\"MW\">\ud83c\uddf2\ud83c\uddfc Malawi<\/option>\n<option value=\"MY\">\ud83c\uddf2\ud83c\uddfe Malaysia<\/option>\n<option value=\"MV\">\ud83c\uddf2\ud83c\uddfb Maldives<\/option>\n<option value=\"ML\">\ud83c\uddf2\ud83c\uddf1 Mali<\/option>\n<option value=\"MT\">\ud83c\uddf2\ud83c\uddf9 Malta<\/option>\n<option value=\"MH\">\ud83c\uddf2\ud83c\udded Marshall Islands<\/option>\n<option value=\"MR\">\ud83c\uddf2\ud83c\uddf7 Mauritania<\/option>\n<option value=\"MU\">\ud83c\uddf2\ud83c\uddfa Mauritius<\/option>\n<option value=\"MX\">\ud83c\uddf2\ud83c\uddfd Mexico<\/option>\n<option value=\"FM\">\ud83c\uddeb\ud83c\uddf2 Micronesia<\/option>\n<option value=\"MD\">\ud83c\uddf2\ud83c\udde9 Moldova<\/option>\n<option value=\"MC\">\ud83c\uddf2\ud83c\udde8 Monaco<\/option>\n<option value=\"MN\">\ud83c\uddf2\ud83c\uddf3 Mongolia<\/option>\n<option value=\"ME\">\ud83c\uddf2\ud83c\uddea Montenegro<\/option>\n<option value=\"MA\">\ud83c\uddf2\ud83c\udde6 Morocco<\/option>\n<option value=\"MZ\">\ud83c\uddf2\ud83c\uddff Mozambique<\/option>\n<option value=\"MM\">\ud83c\uddf2\ud83c\uddf2 Myanmar<\/option>\n<option value=\"NA\">\ud83c\uddf3\ud83c\udde6 Namibia<\/option>\n<option value=\"NR\">\ud83c\uddf3\ud83c\uddf7 Nauru<\/option>\n<option value=\"NP\">\ud83c\uddf3\ud83c\uddf5 Nepal<\/option>\n<option value=\"NL\">\ud83c\uddf3\ud83c\uddf1 Netherlands<\/option>\n<option value=\"NZ\">\ud83c\uddf3\ud83c\uddff New Zealand<\/option>\n<option value=\"NI\">\ud83c\uddf3\ud83c\uddee Nicaragua<\/option>\n<option value=\"NE\">\ud83c\uddf3\ud83c\uddea Niger<\/option>\n<option value=\"NG\">\ud83c\uddf3\ud83c\uddec Nigeria<\/option>\n<option value=\"KP\">\ud83c\uddf0\ud83c\uddf5 North Korea<\/option>\n<option value=\"NO\">\ud83c\uddf3\ud83c\uddf4 Norway<\/option>\n<option value=\"OM\">\ud83c\uddf4\ud83c\uddf2 Oman<\/option>\n<option value=\"PK\">\ud83c\uddf5\ud83c\uddf0 Pakistan<\/option>\n<option value=\"PW\">\ud83c\uddf5\ud83c\uddfc Palau<\/option>\n<option value=\"PS\">\ud83c\uddf5\ud83c\uddf8 Palestine<\/option>\n<option value=\"PA\">\ud83c\uddf5\ud83c\udde6 Panama<\/option>\n<option value=\"PG\">\ud83c\uddf5\ud83c\uddec Papua New Guinea<\/option>\n<option value=\"PY\">\ud83c\uddf5\ud83c\uddfe Paraguay<\/option>\n<option value=\"PE\">\ud83c\uddf5\ud83c\uddea Peru<\/option>\n<option value=\"PH\">\ud83c\uddf5\ud83c\udded Philippines<\/option>\n<option value=\"PL\">\ud83c\uddf5\ud83c\uddf1 Poland<\/option>\n<option value=\"PT\">\ud83c\uddf5\ud83c\uddf9 Portugal<\/option>\n<option value=\"QA\">\ud83c\uddf6\ud83c\udde6 Qatar<\/option>\n<option value=\"RO\">\ud83c\uddf7\ud83c\uddf4 Romania<\/option>\n<option value=\"RU\">\ud83c\uddf7\ud83c\uddfa Russia<\/option>\n<option value=\"RW\">\ud83c\uddf7\ud83c\uddfc Rwanda<\/option>\n<option value=\"KN\">\ud83c\uddf0\ud83c\uddf3 Saint Kitts and Nevis<\/option>\n<option value=\"LC\">\ud83c\uddf1\ud83c\udde8 Saint Lucia<\/option>\n<option value=\"VC\">\ud83c\uddfb\ud83c\udde8 Saint Vincent<\/option>\n<option value=\"WS\">\ud83c\uddfc\ud83c\uddf8 Samoa<\/option>\n<option value=\"SM\">\ud83c\uddf8\ud83c\uddf2 San Marino<\/option>\n<option value=\"ST\">\ud83c\uddf8\ud83c\uddf9 Sao Tome and Principe<\/option>\n<option value=\"SA\">\ud83c\uddf8\ud83c\udde6 Saudi Arabia<\/option>\n<option value=\"SN\">\ud83c\uddf8\ud83c\uddf3 Senegal<\/option>\n<option value=\"RS\">\ud83c\uddf7\ud83c\uddf8 Serbia<\/option>\n<option value=\"SC\">\ud83c\uddf8\ud83c\udde8 Seychelles<\/option>\n<option value=\"SL\">\ud83c\uddf8\ud83c\uddf1 Sierra Leone<\/option>\n<option value=\"SG\">\ud83c\uddf8\ud83c\uddec Singapore<\/option>\n<option value=\"SK\">\ud83c\uddf8\ud83c\uddf0 Slovakia<\/option>\n<option value=\"SI\">\ud83c\uddf8\ud83c\uddee Slovenia<\/option>\n<option value=\"SB\">\ud83c\uddf8\ud83c\udde7 Solomon Islands<\/option>\n<option value=\"SO\">\ud83c\uddf8\ud83c\uddf4 Somalia<\/option>\n<option value=\"ZA\">\ud83c\uddff\ud83c\udde6 South Africa<\/option>\n<option value=\"KR\">\ud83c\uddf0\ud83c\uddf7 South Korea<\/option>\n<option value=\"SS\">\ud83c\uddf8\ud83c\uddf8 South Sudan<\/option>\n<option value=\"ES\">\ud83c\uddea\ud83c\uddf8 Spain<\/option>\n<option value=\"LK\">\ud83c\uddf1\ud83c\uddf0 Sri Lanka<\/option>\n<option value=\"SD\">\ud83c\uddf8\ud83c\udde9 Sudan<\/option>\n<option value=\"SR\">\ud83c\uddf8\ud83c\uddf7 Suriname<\/option>\n<option value=\"SZ\">\ud83c\uddf8\ud83c\uddff Swaziland<\/option>\n<option value=\"SE\">\ud83c\uddf8\ud83c\uddea Sweden<\/option>\n<option value=\"CH\">\ud83c\udde8\ud83c\udded Switzerland<\/option>\n<option value=\"SY\">\ud83c\uddf8\ud83c\uddfe Syria<\/option>\n<option value=\"TW\">\ud83c\uddf9\ud83c\uddfc Taiwan<\/option>\n<option value=\"TJ\">\ud83c\uddf9\ud83c\uddef Tajikistan<\/option>\n<option value=\"TZ\">\ud83c\uddf9\ud83c\uddff Tanzania<\/option>\n<option value=\"TH\">\ud83c\uddf9\ud83c\udded Thailand<\/option>\n<option value=\"TL\">\ud83c\uddf9\ud83c\uddf1 Timor-Leste<\/option>\n<option value=\"TG\">\ud83c\uddf9\ud83c\uddec Togo<\/option>\n<option value=\"TO\">\ud83c\uddf9\ud83c\uddf4 Tonga<\/option>\n<option value=\"TT\">\ud83c\uddf9\ud83c\uddf9 Trinidad and Tobago<\/option>\n<option value=\"TN\">\ud83c\uddf9\ud83c\uddf3 Tunisia<\/option>\n<option value=\"TR\">\ud83c\uddf9\ud83c\uddf7 Turkey<\/option>\n<option value=\"TM\">\ud83c\uddf9\ud83c\uddf2 Turkmenistan<\/option>\n<option value=\"TV\">\ud83c\uddf9\ud83c\uddfb Tuvalu<\/option>\n<option value=\"UG\">\ud83c\uddfa\ud83c\uddec Uganda<\/option>\n<option value=\"UA\">\ud83c\uddfa\ud83c\udde6 Ukraine<\/option>\n<option value=\"AE\">\ud83c\udde6\ud83c\uddea United Arab Emirates<\/option>\n<option value=\"GB\">\ud83c\uddec\ud83c\udde7 United Kingdom<\/option>\n<option value=\"US\">\ud83c\uddfa\ud83c\uddf8 United States<\/option>\n<option value=\"UY\">\ud83c\uddfa\ud83c\uddfe Uruguay<\/option>\n<option value=\"UZ\">\ud83c\uddfa\ud83c\uddff Uzbekistan<\/option>\n<option value=\"VU\">\ud83c\uddfb\ud83c\uddfa Vanuatu<\/option>\n<option value=\"VA\">\ud83c\uddfb\ud83c\udde6 Vatican City<\/option>\n<option value=\"VE\">\ud83c\uddfb\ud83c\uddea Venezuela<\/option>\n<option value=\"VN\">\ud83c\uddfb\ud83c\uddf3 Vietnam<\/option>\n<option value=\"YE\">\ud83c\uddfe\ud83c\uddea Yemen<\/option>\n<option value=\"ZM\">\ud83c\uddff\ud83c\uddf2 Zambia<\/option>\n<option value=\"ZW\">\ud83c\uddff\ud83c\uddfc Zimbabwe<\/option><\/select>\n\n<!-- Gender Selection Modal -->\n<div id=\"genderSelectionModal\" style=\"display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.85);z-index:100001;align-items:center;justify-content:center;padding:20px;\">\n    <div style=\"background:rgba(18,18,24,0.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:20px;max-width:360px;width:100%;box-shadow:0 12px 40px rgba(0,0,0,0.6);border:1px solid rgba(255,255,255,0.08);\">\n        <h3 style=\"margin:0 0 16px 0;color:rgba(255,255,255,0.7);font-size:14px;font-weight:700;text-align:center;letter-spacing:0.5px;\">SELECT GENDER<\/h3>\n\n        <div style=\"display:flex;flex-direction:column;gap:6px;\">\n            <button class=\"gender-option\" data-value=\"\" style=\"padding:12px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background 0.15s;color:#fff;\">\n                <div style=\"width:28px;height:28px;border-radius:7px;background:rgba(255,255,255,0.06);display:flex;align-items:center;justify-content:center;flex-shrink:0;\">\n                    <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,0.5)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M22 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg>\n                <\/div>\n                <span style=\"font-weight:600;font-size:13px;\">Everyone<\/span>\n            <\/button>\n\n            <button class=\"gender-option\" data-value=\"male\" style=\"padding:12px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background 0.15s;color:#fff;\">\n                <div style=\"width:28px;height:28px;border-radius:7px;background:rgba(96,165,250,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;\">\n                    <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#60A5FA\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"10\" cy=\"14\" r=\"5\"\/><line x1=\"19\" y1=\"5\" x2=\"13.6\" y2=\"10.4\"\/><line x1=\"19\" y1=\"5\" x2=\"14\" y2=\"5\"\/><line x1=\"19\" y1=\"5\" x2=\"19\" y2=\"10\"\/><\/svg>\n                <\/div>\n                <span style=\"font-weight:600;font-size:13px;\">Males Only<\/span>\n            <\/button>\n\n            <button class=\"gender-option\" data-value=\"female\" style=\"padding:12px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;cursor:pointer;display:flex;align-items:center;gap:10px;transition:background 0.15s;color:#fff;\">\n                <div style=\"width:28px;height:28px;border-radius:7px;background:rgba(244,114,182,0.1);display:flex;align-items:center;justify-content:center;flex-shrink:0;\">\n                    <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#F472B6\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"8\" r=\"5\"\/><line x1=\"12\" y1=\"13\" x2=\"12\" y2=\"21\"\/><line x1=\"9\" y1=\"18\" x2=\"15\" y2=\"18\"\/><\/svg>\n                <\/div>\n                <span style=\"font-weight:600;font-size:13px;\">Females Only<\/span>\n            <\/button>\n        <\/div>\n\n        <button onclick=\"closeGenderSelectionModal()\" style=\"width:100%;margin-top:12px;padding:10px;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.08);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.15s;\">\n            Cancel        <\/button>\n    <\/div>\n<\/div>\n\n<!-- Country Selection Modal -->\n<div id=\"countrySelectionModal\" style=\"display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.85);z-index:100001;align-items:center;justify-content:center;padding:20px;\">\n    <div style=\"background:rgba(18,18,24,0.97);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:20px;max-width:360px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 12px 40px rgba(0,0,0,0.6);border:1px solid rgba(255,255,255,0.08);\">\n\n        <!-- Tab Switcher -->\n        <div id=\"countryModeTabs\" style=\"display:flex;gap:4px;margin-bottom:12px;background:rgba(255,255,255,0.04);border-radius:10px;padding:3px;\">\n            <button id=\"countryTabMatch\" class=\"country-tab active\" style=\"flex:1;padding:8px;border:none;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all 0.15s;background:rgba(255,255,255,0.1);color:rgba(255,255,255,0.8);\">Match With<\/button>\n            <button id=\"countryTabExclude\" class=\"country-tab\" style=\"flex:1;padding:8px;border:none;border-radius:8px;font-size:12px;font-weight:700;cursor:pointer;transition:all 0.15s;background:transparent;color:rgba(255,255,255,0.35);\">Exclude<\/button>\n        <\/div>\n\n        <div style=\"position:relative;margin-bottom:10px;\">\n            <svg width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,0.3)\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"position:absolute;left:12px;top:50%;transform:translateY(-50%);pointer-events:none;\"><circle cx=\"11\" cy=\"11\" r=\"8\"\/><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"\/><\/svg>\n            <input id=\"countrySearchInput\" type=\"text\" placeholder=\"Search countries...\" autocomplete=\"off\" style=\"width:100%;padding:10px 12px 10px 34px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;color:#fff;font-size:16px;font-family:inherit;font-weight:500;outline:none;box-sizing:border-box;transition:border-color 0.15s;\" onfocus=\"this.style.borderColor='rgba(255,255,255,0.2)'\" onblur=\"this.style.borderColor='rgba(255,255,255,0.08)'\" \/>\n        <\/div>\n\n        <!-- Match With mode (single-select) -->\n        <div id=\"countryOptionsContainer\" style=\"display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1;margin-bottom:12px;\">\n            <!-- Populated by JavaScript -->\n        <\/div>\n\n        <!-- Exclude mode (multi-select with checkboxes) -->\n        <div id=\"countryExcludeContainer\" style=\"display:none;flex-direction:column;gap:4px;overflow-y:auto;flex:1;margin-bottom:12px;\">\n            <!-- Populated by JavaScript -->\n        <\/div>\n\n        <button id=\"countryModalCloseBtn\" onclick=\"closeCountrySelectionModal()\" style=\"width:100%;padding:10px;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.5);border:1px solid rgba(255,255,255,0.08);border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:background 0.15s;\">\n            Cancel        <\/button>\n    <\/div>\n<\/div>\n\n<script>\n(function() {\n    \/\/ Lock tier state from PHP\n    var isLoggedIn = false;\n    var canUseFilters = false;\n\n    \/\/ Expose to window for spark store to update after purchase\n    window.matchPrefsIsLoggedIn = isLoggedIn;\n    window.matchPrefsCanUseFilters = canUseFilters;\n\n    var drawer = document.getElementById('matchPreferencesDrawer');\n    var drawerContent = document.getElementById('drawerContent');\n    var drawerBtn = document.getElementById('matchPreferencesBtn');\n    var drawerCloseBtn = document.getElementById('drawerCloseBtn');\n    var genderFilterCard = document.getElementById('genderFilterCard');\n    var countryFilterCard = document.getElementById('countryFilterCard');\n    var genderCardRight = document.getElementById('genderCardRight');\n    var countryCardRight = document.getElementById('countryCardRight');\n    var genderModal = document.getElementById('genderSelectionModal');\n    var countryModal = document.getElementById('countrySelectionModal');\n    var genderFilter = document.getElementById('genderFilter');\n    var countryFilter = document.getElementById('countryFilter');\n\n    \/\/ Apply locked styling based on tier\n    function applyLockState() {\n        if (canUseFilters) {\n            \/\/ Unlocked \u2014 full access\n            genderFilterCard.style.opacity = '1';\n            countryFilterCard.style.opacity = '1';\n            genderCardRight.innerHTML = '<span style=\"color:rgba(255,255,255,0.3);font-size:16px;\">\u203a<\/span>';\n            countryCardRight.innerHTML = '<span style=\"color:rgba(255,255,255,0.3);font-size:16px;\">\u203a<\/span>';\n        } else if (isLoggedIn) {\n            \/\/ Logged in but no pass \u2014 show price\n            genderFilterCard.style.opacity = '0.5';\n            countryFilterCard.style.opacity = '0.5';\n            var priceHTML = '<span style=\"color:#FBBF24;font-size:12px;font-weight:700;white-space:nowrap;\">100 \u26a1<\/span>';\n            genderCardRight.innerHTML = priceHTML;\n            countryCardRight.innerHTML = priceHTML;\n        } else {\n            \/\/ Anonymous \u2014 show login prompt\n            genderFilterCard.style.opacity = '0.5';\n            countryFilterCard.style.opacity = '0.5';\n            var loginHTML = '<span style=\"color:rgba(255,255,255,0.35);font-size:11px;font-weight:600;white-space:nowrap;\">Log in \u2192<\/span>';\n            genderCardRight.innerHTML = loginHTML;\n            countryCardRight.innerHTML = loginHTML;\n        }\n    }\n\n    applyLockState();\n\n    \/\/ Unlock cards after purchase (called from spark store)\n    window.unlockMatchPreferencesCards = function() {\n        canUseFilters = true;\n        window.matchPrefsCanUseFilters = true;\n        window.canUseFilters = true;\n        applyLockState();\n    };\n\n    \/\/ Open\/close via the shared MeetgleDrawer controller (animation, backdrop,\n    \/\/ swipe and Escape are all handled there \u2014 same as every other drawer).\n    window.openMatchPreferencesDrawer = function() {\n        if (window.MeetgleDrawer) { MeetgleDrawer.open('matchPreferencesDrawer'); }\n        else { drawer.style.display = 'block'; }\n        var pill = document.getElementById('filterTryMePill');\n        if (pill) pill.style.display = 'none';   \/\/ hide \"Try Me\" pill once opened\n    };\n\n    window.closeMatchPreferencesDrawer = function() {\n        if (window.MeetgleDrawer) { MeetgleDrawer.close('matchPreferencesDrawer'); }\n        else { drawer.style.display = 'none'; }\n    };\n\n    \/\/ Close button\n    if (drawerCloseBtn) {\n        drawerCloseBtn.addEventListener('click', closeMatchPreferencesDrawer);\n    }\n\n    \/\/ Open drawer on button click\n    if (drawerBtn) {\n        drawerBtn.addEventListener('click', openMatchPreferencesDrawer);\n    }\n\n    \/\/ Close on backdrop click\n    drawer.addEventListener('click', function(e) {\n        if (e.target === drawer) {\n            closeMatchPreferencesDrawer();\n        }\n    });\n\n    \/\/ Card click handler with lock tier check\n    function handleCardClick(type) {\n        if (!isLoggedIn) {\n            \/\/ Anonymous \u2192 close drawer + open the login modal so the user stays\n            \/\/ on the page (fall back to the \/login page if the modal isn't there).\n            closeMatchPreferencesDrawer();\n            if (typeof openMeetgleLoginModal === 'function') {\n                openMeetgleLoginModal();\n            } else {\n                window.location.href = '\/login';\n            }\n            return;\n        }\n\n        \/\/ Check window.canUseFilters for live state (updated by spark store)\n        if (!window.canUseFilters && !canUseFilters) {\n            \/\/ Logged in but no pass \u2192 close drawer, open spark store\n            closeMatchPreferencesDrawer();\n            if (typeof openSparkStoreModal === 'function') {\n                openSparkStoreModal();\n            }\n            return;\n        }\n\n        \/\/ Unlocked \u2192 open selection modal\n        if (type === 'gender') {\n            if (window.MeetgleModalManager) {\n                MeetgleModalManager.open(genderModal, { escClose: false, backdropClose: false });\n            } else {\n                genderModal.style.display = 'flex';\n            }\n        } else {\n            var container = document.getElementById('countryOptionsContainer');\n            if (container.children.length === 0) {\n                populateCountryOptions();\n            }\n            populateExcludeOptions();\n            updateExcludeCheckboxes();\n            \/\/ Set correct tab state\n            setCountryTab(countryMode);\n            \/\/ Reset search and show all\n            var searchInput = document.getElementById('countrySearchInput');\n            if (searchInput) {\n                searchInput.value = '';\n                filterCountryOptions('');\n                setTimeout(function() { searchInput.focus(); }, 100);\n            }\n            if (window.MeetgleModalManager) {\n                MeetgleModalManager.open(countryModal, { escClose: false, backdropClose: false });\n            } else {\n                countryModal.style.display = 'flex';\n            }\n        }\n    }\n\n    genderFilterCard.addEventListener('click', function() {\n        handleCardClick('gender');\n    });\n\n    countryFilterCard.addEventListener('click', function() {\n        handleCardClick('country');\n    });\n\n    \/\/ Close modals\n    window.closeGenderSelectionModal = function() {\n        if (window.MeetgleModalManager) {\n            MeetgleModalManager.close(genderModal);\n        } else {\n            genderModal.style.display = 'none';\n        }\n    };\n\n    window.closeCountrySelectionModal = function() {\n        if (window.MeetgleModalManager) {\n            MeetgleModalManager.close(countryModal);\n        } else {\n            countryModal.style.display = 'none';\n        }\n    };\n\n    \/\/ Backdrop close for modals\n    genderModal.addEventListener('click', function(e) {\n        if (e.target === genderModal) closeGenderSelectionModal();\n    });\n\n    countryModal.addEventListener('click', function(e) {\n        if (e.target === countryModal) closeCountrySelectionModal();\n    });\n\n    \/\/ Handle gender selection\n    document.querySelectorAll('.gender-option').forEach(function(option) {\n        option.addEventListener('click', function() {\n            var value = this.getAttribute('data-value');\n            genderFilter.value = value;\n            genderFilter.dispatchEvent(new Event('change'));\n            updateGenderDisplay(value);\n            closeGenderSelectionModal();\n        });\n    });\n\n    \/\/ Update gender display \u2014 swap icon SVG + label\n    var genderIcons = {\n        '': '<svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,0.5)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"\/><circle cx=\"9\" cy=\"7\" r=\"4\"\/><path d=\"M22 21v-2a4 4 0 0 0-3-3.87\"\/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"\/><\/svg>',\n        'male': '<svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#60A5FA\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"10\" cy=\"14\" r=\"5\"\/><line x1=\"19\" y1=\"5\" x2=\"13.6\" y2=\"10.4\"\/><line x1=\"19\" y1=\"5\" x2=\"14\" y2=\"5\"\/><line x1=\"19\" y1=\"5\" x2=\"19\" y2=\"10\"\/><\/svg>',\n        'female': '<svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#F472B6\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"8\" r=\"5\"\/><line x1=\"12\" y1=\"13\" x2=\"12\" y2=\"21\"\/><line x1=\"9\" y1=\"18\" x2=\"15\" y2=\"18\"\/><\/svg>'\n    };\n    function updateGenderDisplay(value) {\n        var iconEl = document.getElementById('genderFilterIcon');\n        var label = document.getElementById('genderFilterLabel');\n        if (genderIcons[value] !== undefined) {\n            iconEl.innerHTML = genderIcons[value];\n        }\n        if (value === 'male') {\n            label.textContent = 'Males Only';\n        } else if (value === 'female') {\n            label.textContent = 'Females Only';\n        } else {\n            label.textContent = 'Everyone';\n        }\n    }\n\n    \/\/ =====================================================================\n    \/\/ COUNTRY MODE: \"match\" (single-select) vs \"exclude\" (multi-select)\n    \/\/ =====================================================================\n    var countryMode = 'match'; \/\/ 'match' or 'exclude'\n    var countryExclusions = []; \/\/ array of excluded country codes\n\n    \/\/ Load saved exclusions from localStorage\n    function loadCountryExclusions() {\n        try {\n            var raw = localStorage.getItem('meetgle_country_exclusions');\n            if (raw) return JSON.parse(raw);\n        } catch (e) {}\n        return [];\n    }\n    function saveCountryExclusions(list) {\n        try { localStorage.setItem('meetgle_country_exclusions', JSON.stringify(list)); } catch (e) {}\n    }\n    function loadCountryMode() {\n        try { return localStorage.getItem('meetgle_country_mode') || 'match'; } catch (e) { return 'match'; }\n    }\n    function saveCountryMode(mode) {\n        try { localStorage.setItem('meetgle_country_mode', mode); } catch (e) {}\n    }\n\n    \/\/ Expose exclusions globally for videochat.js to read\n    window.getCountryExclusions = function() { return countryExclusions; };\n    window.getCountryMode = function() { return countryMode; };\n\n    \/\/ Tab switching\n    var tabMatch = document.getElementById('countryTabMatch');\n    var tabExclude = document.getElementById('countryTabExclude');\n    var matchContainer = document.getElementById('countryOptionsContainer');\n    var excludeContainer = document.getElementById('countryExcludeContainer');\n\n    function setCountryTab(mode) {\n        countryMode = mode;\n        saveCountryMode(mode);\n        var closeBtn = document.getElementById('countryModalCloseBtn');\n        if (mode === 'match') {\n            tabMatch.style.background = 'rgba(255,255,255,0.1)';\n            tabMatch.style.color = 'rgba(255,255,255,0.8)';\n            tabExclude.style.background = 'transparent';\n            tabExclude.style.color = 'rgba(255,255,255,0.35)';\n            matchContainer.style.display = 'flex';\n            excludeContainer.style.display = 'none';\n            \/\/ Clear exclusions when switching to match mode\n            countryExclusions = [];\n            saveCountryExclusions([]);\n            updateExcludeCheckboxes();\n            if (closeBtn) closeBtn.textContent = 'Cancel';\n        } else {\n            tabExclude.style.background = 'rgba(255,255,255,0.1)';\n            tabExclude.style.color = 'rgba(255,255,255,0.8)';\n            tabMatch.style.background = 'transparent';\n            tabMatch.style.color = 'rgba(255,255,255,0.35)';\n            matchContainer.style.display = 'none';\n            excludeContainer.style.display = 'flex';\n            \/\/ Clear single-country preference when switching to exclude mode\n            countryFilter.value = '';\n            countryFilter.dispatchEvent(new Event('change'));\n            if (closeBtn) closeBtn.textContent = countryExclusions.length > 0 ? 'Done' : 'Cancel';\n        }\n        updateCountryDisplay();\n    }\n\n    tabMatch.addEventListener('click', function() { setCountryTab('match'); });\n    tabExclude.addEventListener('click', function() { setCountryTab('exclude'); });\n\n    \/\/ Populate country options (match mode \u2014 single-select)\n    function populateCountryOptions() {\n        var container = document.getElementById('countryOptionsContainer');\n        var options = countryFilter.querySelectorAll('option');\n\n        options.forEach(function(option) {\n            var btn = document.createElement('button');\n            btn.className = 'country-option';\n            btn.setAttribute('data-value', option.value);\n            btn.setAttribute('data-name', option.textContent.toLowerCase());\n            btn.style.cssText = 'padding:10px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;cursor:pointer;text-align:left;transition:background 0.15s;color:#fff;font-size:13px;font-weight:600;width:100%;';\n            btn.textContent = option.textContent;\n\n            btn.addEventListener('click', function() {\n                var val = this.getAttribute('data-value');\n                countryFilter.value = val;\n                countryFilter.dispatchEvent(new Event('change'));\n                updateCountryDisplay();\n                closeCountrySelectionModal();\n            });\n\n            container.appendChild(btn);\n        });\n    }\n\n    \/\/ Populate exclude options (exclude mode \u2014 multi-select with checkboxes)\n    function populateExcludeOptions() {\n        var container = document.getElementById('countryExcludeContainer');\n        if (container.children.length > 0) return; \/\/ already populated\n\n        var options = countryFilter.querySelectorAll('option');\n        options.forEach(function(option) {\n            if (!option.value) return; \/\/ skip \"All Countries\"\n\n            var btn = document.createElement('button');\n            btn.className = 'country-exclude-option';\n            btn.setAttribute('data-value', option.value);\n            btn.setAttribute('data-name', option.textContent.toLowerCase());\n            btn.style.cssText = 'padding:10px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:10px;cursor:pointer;text-align:left;transition:all 0.15s;color:#fff;width:100%;box-sizing:border-box;';\n\n            var row = document.createElement('div');\n            row.style.cssText = 'display:flex;align-items:center;gap:10px;';\n\n            var checkbox = document.createElement('span');\n            checkbox.className = 'exclude-checkbox';\n            checkbox.style.cssText = 'width:16px;height:16px;min-width:16px;border-radius:4px;border:1.5px solid rgba(255,255,255,0.15);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all 0.15s;font-size:9px;';\n\n            var label = document.createElement('span');\n            label.textContent = option.textContent;\n            label.style.cssText = 'font-size:13px;font-weight:600;';\n\n            row.appendChild(checkbox);\n            row.appendChild(label);\n            btn.appendChild(row);\n\n            btn.addEventListener('click', function() {\n                var val = this.getAttribute('data-value');\n                var idx = countryExclusions.indexOf(val);\n                if (idx === -1) {\n                    countryExclusions.push(val);\n                } else {\n                    countryExclusions.splice(idx, 1);\n                }\n                saveCountryExclusions(countryExclusions);\n                updateExcludeCheckboxes();\n                updateCountryDisplay();\n            });\n\n            container.appendChild(btn);\n        });\n    }\n\n    \/\/ Update checkbox visuals\n    function updateExcludeCheckboxes() {\n        var buttons = document.querySelectorAll('.country-exclude-option');\n        buttons.forEach(function(btn) {\n            var val = btn.getAttribute('data-value');\n            var cb = btn.querySelector('.exclude-checkbox');\n            if (countryExclusions.indexOf(val) !== -1) {\n                cb.style.background = '#EF4444';\n                cb.style.borderColor = '#EF4444';\n                cb.innerHTML = '\u2715';\n                cb.style.color = 'white';\n                btn.style.borderColor = 'rgba(239,68,68,0.2)';\n                btn.style.background = 'rgba(239,68,68,0.06)';\n            } else {\n                cb.style.background = 'transparent';\n                cb.style.borderColor = 'rgba(255,255,255,0.15)';\n                cb.innerHTML = '';\n                btn.style.borderColor = 'rgba(255,255,255,0.08)';\n                btn.style.background = 'rgba(255,255,255,0.04)';\n            }\n        });\n\n        \/\/ Update close button text\n        var closeBtn = document.getElementById('countryModalCloseBtn');\n        if (closeBtn) {\n            if (countryMode === 'exclude' && countryExclusions.length > 0) {\n                closeBtn.textContent = 'Done';\n            } else {\n                closeBtn.textContent = 'Cancel';\n            }\n        }\n    }\n\n    \/\/ Filter country options by search query (works for both containers)\n    function filterCountryOptions(query) {\n        var q = query.toLowerCase().trim();\n        var matchBtns = document.querySelectorAll('#countryOptionsContainer .country-option');\n        var excludeBtns = document.querySelectorAll('#countryExcludeContainer .country-exclude-option');\n        matchBtns.forEach(function(btn) {\n            var name = btn.getAttribute('data-name') || '';\n            btn.style.display = (!q || name.indexOf(q) !== -1) ? '' : 'none';\n        });\n        excludeBtns.forEach(function(btn) {\n            var name = btn.getAttribute('data-name') || '';\n            btn.style.display = (!q || name.indexOf(q) !== -1) ? '' : 'none';\n        });\n    }\n\n    \/\/ Wire up search input\n    var countrySearchInput = document.getElementById('countrySearchInput');\n    if (countrySearchInput) {\n        countrySearchInput.addEventListener('input', function() {\n            filterCountryOptions(this.value);\n        });\n    }\n\n    \/\/ Update country display \u2014 swap icon to flag emoji or globe SVG\n    var globeSVG = '<svg width=\"17\" height=\"17\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"rgba(255,255,255,0.5)\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/><\/svg>';\n    function updateCountryDisplay() {\n        var iconEl = document.getElementById('countryFilterIcon');\n        var label = document.getElementById('countryFilterLabel');\n\n        if (countryMode === 'exclude' && countryExclusions.length > 0) {\n            \/\/ Show exclude count\n            iconEl.innerHTML = '<span style=\"font-size:14px;line-height:1;color:#EF4444;\">\u2298<\/span>';\n            label.textContent = 'Excluding ' + countryExclusions.length;\n        } else if (countryFilter.value) {\n            var option = countryFilter.querySelector('option[value=\"' + countryFilter.value + '\"]');\n            if (option) {\n                var text = option.textContent;\n                var flag = text.split(' ')[0];\n                iconEl.innerHTML = '<span style=\"font-size:18px;line-height:1;\">' + flag + '<\/span>';\n                label.textContent = text.substring(flag.length).trim();\n            }\n        } else {\n            iconEl.innerHTML = globeSVG;\n            label.textContent = 'All Countries';\n        }\n    }\n\n    \/\/ Listen for filter initialization from main JS\n    window.addEventListener('filtersInitialized', function() {\n        if (genderFilter) {\n            updateGenderDisplay(genderFilter.value);\n            genderFilter.addEventListener('change', function() {\n                updateGenderDisplay(genderFilter.value);\n            });\n        }\n\n        \/\/ Load saved country mode and exclusions\n        countryMode = loadCountryMode();\n        countryExclusions = loadCountryExclusions();\n\n        if (countryFilter) {\n            \/\/ If in exclude mode, clear any single-country preference\n            if (countryMode === 'exclude') {\n                countryFilter.value = '';\n            }\n            updateCountryDisplay();\n            countryFilter.addEventListener('change', function() {\n                updateCountryDisplay();\n            });\n        }\n    });\n\n    \/\/ Escape key\n    document.addEventListener('keydown', function(e) {\n        if (e.key === 'Escape') {\n            if (genderModal.style.display === 'flex') closeGenderSelectionModal();\n            if (countryModal.style.display === 'flex') closeCountrySelectionModal();\n            if (drawer.style.opacity === '1') closeMatchPreferencesDrawer();\n        }\n    });\n})();\n<\/script>\n\n\n        <!-- Profile Modal -->\n        \n<!-- Profile Modal Container -->\n<div id=\"meetgleProfileModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content profile-modal-content\" style=\"max-width:700px;background:rgba(20,20,30,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <div class=\"meetgle-profile-modal-body\">\n            <!-- Loading State -->\n            <div class=\"meetgle-profile-loading\" id=\"profileLoading\">\n                <div class=\"profile-spinner\"><\/div>\n                <p>Loading profile...<\/p>\n            <\/div>\n\n            <!-- Error State -->\n            <div class=\"meetgle-profile-error\" id=\"profileError\" style=\"display:none;\">\n                <p id=\"profileErrorMessage\"><\/p>\n            <\/div>\n\n            <!-- Profile Content -->\n            <div class=\"meetgle-profile-content\" id=\"profileContent\" style=\"display:none;\">\n\n                <!-- Close button -->\n                <button onclick=\"closeMeetgleProfileModal()\" class=\"profile-close-btn\">&times;<\/button>\n\n                <!-- Hero: Avatar left, Identity right -->\n                <div class=\"profile-hero\">\n                    <img decoding=\"async\" id=\"profileAvatar\" src=\"\" alt=\"Avatar\" class=\"profile-hero-avatar\">\n                    <div class=\"profile-hero-info\">\n                        <h2 id=\"profileUsername\" class=\"profile-hero-name\"><\/h2>\n                        <div class=\"profile-hero-meta\">\n                            <span id=\"profileGenderBadge\" class=\"profile-meta-chip\"><\/span>\n                            <span id=\"profileAge\" class=\"profile-meta-chip\"><\/span>\n                            <span id=\"profileCountryFlag\" class=\"profile-meta-chip\"><\/span>\n                            <button id=\"profileFavoriteBtn\" onclick=\"toggleProfileFavorite()\" class=\"profile-meta-chip profile-fav-chip\" style=\"display:none;cursor:pointer;\" title=\"Add to favorites\">\n                                <span id=\"profileFavoriteIcon\" style=\"font-size:12px;\">\ud83e\udd0d<\/span>\n                                <span id=\"profileFavoriteText\" style=\"font-size:12px;font-weight:600;\">Favorite<\/span>\n                            <\/button>\n                        <\/div>\n                        <div id=\"profileLookingFor\" class=\"profile-hero-lookingfor\"><\/div>\n                        <div class=\"profile-badges\" id=\"profileBadges\"><\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- Action Buttons -->\n                <div class=\"profile-actions\">\n                    <button id=\"sendSparksBtn\" onclick=\"openSendSparksModal()\" class=\"profile-action-btn\" style=\"display:none;\">\u26a1 Send Sparks<\/button>\n\n                    <button id=\"sendMessageBtn\" onclick=\"startConversationFromProfile()\" class=\"profile-action-btn\" style=\"display:none;\">\ud83d\udcac Message<\/button>\n                <\/div>\n\n                <!-- Scrollable Content -->\n                <div class=\"profile-scroll-content\">\n\n                    <!-- Bio Section -->\n                    <div class=\"profile-section\" id=\"profileBioSection\">\n                        <div class=\"profile-section-header\">\n                            <div class=\"profile-section-dot\" style=\"background:#3B82F6;\"><\/div>\n                            <span>About<\/span>\n                        <\/div>\n                        <div class=\"profile-bio-card\">\n                            <p id=\"profileBio\"><\/p>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Photos Gallery -->\n                    <div id=\"profilePhotosSection\" class=\"profile-section\" style=\"display:none;\">\n                        <div class=\"profile-section-header\">\n                            <div class=\"profile-section-dot\" style=\"background:#EC4899;\"><\/div>\n                            <span>Photos<\/span>\n                            <span id=\"profilePhotoCount\" class=\"profile-photo-count\"><\/span>\n                        <\/div>\n                        <div class=\"profile-photos-wrap\">\n                            <div id=\"profilePhotosGrid\" class=\"profile-photos-scroll\"><\/div>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Interests Section -->\n                    <div class=\"profile-section\" id=\"profileInterestsSection\">\n                        <div class=\"profile-section-header\">\n                            <div class=\"profile-section-dot\" style=\"background:#10B981;\"><\/div>\n                            <span>Interests<\/span>\n                        <\/div>\n                        <div class=\"profile-interests\" id=\"profileInterests\"><\/div>\n                    <\/div>\n\n                    <!-- Activity Stats -->\n                    <div class=\"profile-section\">\n                        <div class=\"profile-section-header\">\n                            <div class=\"profile-section-dot\" style=\"background:#ffc83d;\"><\/div>\n                            <span>Activity<\/span>\n                        <\/div>\n                        <div class=\"profile-stats-scroll\">\n                            <div class=\"profile-stat-card\">\n                                <div class=\"stat-emoji\">\u26a1<\/div>\n                                <div id=\"profileLifetimeEarned\" class=\"stat-val\">0<\/div>\n                                <div class=\"stat-lbl\">Lifetime<\/div>\n                            <\/div>\n                            <div class=\"profile-stat-card\">\n                                <div class=\"stat-emoji\">\ud83d\udcc8<\/div>\n                                <div id=\"profileWeeklyEarned\" class=\"stat-val\">0<\/div>\n                                <div class=\"stat-lbl\">This Week<\/div>\n                            <\/div>\n                            <div class=\"profile-stat-card\" id=\"profileRankStat\" style=\"display:none;\">\n                                <div class=\"stat-emoji\">\ud83c\udfc6<\/div>\n                                <div id=\"profileRank\" class=\"stat-val\" style=\"color:#ffc83d;\">-<\/div>\n                                <div class=\"stat-lbl\">Rank<\/div>\n                            <\/div>\n                            <div class=\"profile-stat-card\">\n                                <div class=\"stat-emoji\">\ud83d\udcc5<\/div>\n                                <div id=\"profileMemberSince\" class=\"stat-val\"><\/div>\n                                <div class=\"stat-lbl\">Joined<\/div>\n                            <\/div>\n                            <div class=\"profile-stat-card\" id=\"profileLastChatStat\" style=\"display:none;\">\n                                <div class=\"stat-emoji\">\ud83d\udcac<\/div>\n                                <div id=\"profileLastChat\" class=\"stat-val\">-<\/div>\n                                <div class=\"stat-lbl\">Last Chat<\/div>\n                            <\/div>\n                            <div class=\"profile-stat-card\" id=\"profileTotalChatStat\" style=\"display:none;\">\n                                <div class=\"stat-emoji\">\u23f1\ufe0f<\/div>\n                                <div id=\"profileTotalChatTime\" class=\"stat-val\">0m<\/div>\n                                <div class=\"stat-lbl\">Chat Time<\/div>\n                            <\/div>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Send Sparks Section (hidden, used by legacy JS) -->\n                    <div id=\"sendSparksSection\" style=\"display:none;margin-top:16px;\">\n                        <button onclick=\"openSendSparksModal()\" style=\"width:100%;background:#ffc83d;color:#000;border:none;border-radius:12px;padding:14px;font-size:15px;font-weight:700;cursor:pointer;\">\u26a1 Send Sparks<\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<!-- Edit Profile Modal -->\n<div id=\"meetgleEditProfileModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content edit-profile-modal-content\" style=\"max-width:700px;background:rgba(20,20,30,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <div class=\"meetgle-profile-modal-body\" style=\"position:relative;\">\n            <!-- Loading Overlay -->\n            <div id=\"editProfileLoadingOverlay\" style=\"position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(20,20,30,0.98);z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:20px;\">\n                <div class=\"profile-spinner\" style=\"width:40px;height:40px;border:3px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.6);border-radius:50%;animation:spin 0.8s linear infinite;margin-bottom:16px;\"><\/div>\n                <p style=\"margin:0;color:rgba(255,255,255,0.4);font-size:14px;font-weight:500;\">Loading your profile...<\/p>\n            <\/div>\n\n            <!-- Saving State -->\n            <div class=\"meetgle-profile-loading\" id=\"editProfileLoading\" style=\"display:none;\">\n                <div class=\"profile-spinner\" style=\"width:40px;height:40px;border:3px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.6);border-radius:50%;animation:spin 0.8s linear infinite;margin:0 auto 16px;\"><\/div>\n                <p style=\"color:rgba(255,255,255,0.4);font-size:14px;\">Saving changes...<\/p>\n            <\/div>\n\n            <!-- Edit Profile Content -->\n            <div id=\"editProfileContent\">\n                <!-- Header -->\n                <div style=\"padding:20px 20px 0 20px;\">\n                    <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;\">\n                        <h2 style=\"color:white;margin:0;font-size:22px;font-weight:700;\">Edit Profile<\/h2>\n                        <button onclick=\"closeEditProfileModal()\" style=\"background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.5);width:32px;height:32px;border-radius:50%;font-size:18px;line-height:0;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all 0.2s;\" onmouseover=\"this.style.background='rgba(255,255,255,0.15)';this.style.color='white'\" onmouseout=\"this.style.background='rgba(255,255,255,0.08)';this.style.color='rgba(255,255,255,0.5)'\">&times;<\/button>\n                    <\/div>\n\n                    <!-- Avatar Row -->\n                    <div style=\"display:flex;align-items:center;gap:16px;margin-bottom:20px;\">\n                        <label for=\"avatarUploadInput\" class=\"edit-avatar-wrap\">\n                            <img decoding=\"async\" id=\"editProfileAvatar\" src=\"\" alt=\"Avatar\" class=\"edit-avatar-img\">\n                            <div class=\"edit-avatar-overlay\">\n                                <svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#fff\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\"\/><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"\/><\/svg>\n                            <\/div>\n                            <input type=\"file\" id=\"avatarUploadInput\" accept=\"image\/*\" style=\"display:none;\" onchange=\"handleAvatarUpload(event)\">\n                        <\/label>\n                        <div>\n                            <h3 id=\"editProfileUsername\" style=\"color:white;margin:0 0 4px 0;font-size:18px;font-weight:700;\"><\/h3>\n                            <p style=\"color:rgba(255,255,255,0.4);font-size:13px;margin:0;\">Tap to change photo<\/p>\n                        <\/div>\n                    <\/div>\n                <\/div>\n\n                <!-- Form Content -->\n                <div style=\"padding:0 20px 20px 20px;\">\n\n                    <!-- Avatar Upload Status -->\n                    <div id=\"avatarUploadStatus\" style=\"display:none;margin-bottom:16px;padding:12px;border-radius:12px;font-size:13px;text-align:center;\"><\/div>\n\n                    <!-- Gender Section -->\n                    <div class=\"profile-section\" style=\"margin-bottom:16px;\">\n                        <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                            <div style=\"width:6px;height:6px;border-radius:50%;background:#EC4899;\"><\/div>\n                            <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">Gender<\/span>\n                        <\/div>\n                        <p style=\"font-size:12px;color:rgba(255,255,255,0.35);margin:0 0 10px 0;\">This is YOUR gender (not who you want to match with)<\/p>\n                        <div style=\"display:flex;gap:10px;\">\n                            <button id=\"editGenderMale\" data-gender=\"male\" class=\"gender-select-btn\" style=\"flex:1;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all 0.2s ease;\">\n                                <span style=\"font-size:28px;color:rgba(255,255,255,0.3);transition:all 0.2s;\">\u2642<\/span>\n                                <span style=\"color:rgba(255,255,255,0.4);font-size:13px;font-weight:600;transition:all 0.2s;\">Male<\/span>\n                            <\/button>\n                            <button id=\"editGenderFemale\" data-gender=\"female\" class=\"gender-select-btn\" style=\"flex:1;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;transition:all 0.2s ease;\">\n                                <span style=\"font-size:28px;color:rgba(255,255,255,0.3);transition:all 0.2s;\">\u2640<\/span>\n                                <span style=\"color:rgba(255,255,255,0.4);font-size:13px;font-weight:600;transition:all 0.2s;\">Female<\/span>\n                            <\/button>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Country Section -->\n                    <div class=\"profile-section\" style=\"margin-bottom:16px;\">\n                        <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                            <div style=\"width:6px;height:6px;border-radius:50%;background:#3B82F6;\"><\/div>\n                            <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">Country<\/span>\n                        <\/div>\n                        <p style=\"font-size:12px;color:rgba(255,255,255,0.35);margin:0 0 10px 0;\">Your country will be shown on your public profile<\/p>\n                        <select\n                            id=\"editProfileCountry\"\n                            style=\"width:100%;padding:12px;border:1px solid rgba(255,255,255,0.08);border-radius:12px;font-family:inherit;font-size:14px;color:white;background:rgba(255,255,255,0.04);cursor:pointer;transition:border-color 0.2s;-webkit-appearance:none;appearance:none;background-image:url('data:image\/svg+xml;charset=UTF-8,%3Csvg xmlns=%22http:\/\/www.w3.org\/2000\/svg%22 width=%2212%22 height=%2212%22 viewBox=%220 0 12 12%22%3E%3Cpath fill=%22rgba(255,255,255,0.4)%22 d=%22M2 4l4 4 4-4%22\/%3E%3C\/svg%3E');background-repeat:no-repeat;background-position:right 12px center;\"\n                        >\n                            <option value=\"\" style=\"background:#1a1a2e;color:rgba(255,255,255,0.5);\">Select Country...<\/option>\n                            <option value=\"AF\">\ud83c\udde6\ud83c\uddeb Afghanistan<\/option>\n<option value=\"AL\">\ud83c\udde6\ud83c\uddf1 Albania<\/option>\n<option value=\"DZ\">\ud83c\udde9\ud83c\uddff Algeria<\/option>\n<option value=\"AD\">\ud83c\udde6\ud83c\udde9 Andorra<\/option>\n<option value=\"AO\">\ud83c\udde6\ud83c\uddf4 Angola<\/option>\n<option value=\"AG\">\ud83c\udde6\ud83c\uddec Antigua and Barbuda<\/option>\n<option value=\"AR\">\ud83c\udde6\ud83c\uddf7 Argentina<\/option>\n<option value=\"AM\">\ud83c\udde6\ud83c\uddf2 Armenia<\/option>\n<option value=\"AU\">\ud83c\udde6\ud83c\uddfa Australia<\/option>\n<option value=\"AT\">\ud83c\udde6\ud83c\uddf9 Austria<\/option>\n<option value=\"AZ\">\ud83c\udde6\ud83c\uddff Azerbaijan<\/option>\n<option value=\"BS\">\ud83c\udde7\ud83c\uddf8 Bahamas<\/option>\n<option value=\"BH\">\ud83c\udde7\ud83c\udded Bahrain<\/option>\n<option value=\"BD\">\ud83c\udde7\ud83c\udde9 Bangladesh<\/option>\n<option value=\"BB\">\ud83c\udde7\ud83c\udde7 Barbados<\/option>\n<option value=\"BY\">\ud83c\udde7\ud83c\uddfe Belarus<\/option>\n<option value=\"BE\">\ud83c\udde7\ud83c\uddea Belgium<\/option>\n<option value=\"BZ\">\ud83c\udde7\ud83c\uddff Belize<\/option>\n<option value=\"BJ\">\ud83c\udde7\ud83c\uddef Benin<\/option>\n<option value=\"BT\">\ud83c\udde7\ud83c\uddf9 Bhutan<\/option>\n<option value=\"BO\">\ud83c\udde7\ud83c\uddf4 Bolivia<\/option>\n<option value=\"BA\">\ud83c\udde7\ud83c\udde6 Bosnia and Herzegovina<\/option>\n<option value=\"BW\">\ud83c\udde7\ud83c\uddfc Botswana<\/option>\n<option value=\"BR\">\ud83c\udde7\ud83c\uddf7 Brazil<\/option>\n<option value=\"BN\">\ud83c\udde7\ud83c\uddf3 Brunei<\/option>\n<option value=\"BG\">\ud83c\udde7\ud83c\uddec Bulgaria<\/option>\n<option value=\"BF\">\ud83c\udde7\ud83c\uddeb Burkina Faso<\/option>\n<option value=\"BI\">\ud83c\udde7\ud83c\uddee Burundi<\/option>\n<option value=\"KH\">\ud83c\uddf0\ud83c\udded Cambodia<\/option>\n<option value=\"CM\">\ud83c\udde8\ud83c\uddf2 Cameroon<\/option>\n<option value=\"CA\">\ud83c\udde8\ud83c\udde6 Canada<\/option>\n<option value=\"CV\">\ud83c\udde8\ud83c\uddfb Cape Verde<\/option>\n<option value=\"CF\">\ud83c\udde8\ud83c\uddeb Central African Republic<\/option>\n<option value=\"TD\">\ud83c\uddf9\ud83c\udde9 Chad<\/option>\n<option value=\"CL\">\ud83c\udde8\ud83c\uddf1 Chile<\/option>\n<option value=\"CN\">\ud83c\udde8\ud83c\uddf3 China<\/option>\n<option value=\"CO\">\ud83c\udde8\ud83c\uddf4 Colombia<\/option>\n<option value=\"KM\">\ud83c\uddf0\ud83c\uddf2 Comoros<\/option>\n<option value=\"CG\">\ud83c\udde8\ud83c\uddec Congo<\/option>\n<option value=\"CD\">\ud83c\udde8\ud83c\udde9 Congo (DRC)<\/option>\n<option value=\"CR\">\ud83c\udde8\ud83c\uddf7 Costa Rica<\/option>\n<option value=\"HR\">\ud83c\udded\ud83c\uddf7 Croatia<\/option>\n<option value=\"CU\">\ud83c\udde8\ud83c\uddfa Cuba<\/option>\n<option value=\"CY\">\ud83c\udde8\ud83c\uddfe Cyprus<\/option>\n<option value=\"CZ\">\ud83c\udde8\ud83c\uddff Czech Republic<\/option>\n<option value=\"DK\">\ud83c\udde9\ud83c\uddf0 Denmark<\/option>\n<option value=\"DJ\">\ud83c\udde9\ud83c\uddef Djibouti<\/option>\n<option value=\"DM\">\ud83c\udde9\ud83c\uddf2 Dominica<\/option>\n<option value=\"DO\">\ud83c\udde9\ud83c\uddf4 Dominican Republic<\/option>\n<option value=\"EC\">\ud83c\uddea\ud83c\udde8 Ecuador<\/option>\n<option value=\"EG\">\ud83c\uddea\ud83c\uddec Egypt<\/option>\n<option value=\"SV\">\ud83c\uddf8\ud83c\uddfb El Salvador<\/option>\n<option value=\"GQ\">\ud83c\uddec\ud83c\uddf6 Equatorial Guinea<\/option>\n<option value=\"ER\">\ud83c\uddea\ud83c\uddf7 Eritrea<\/option>\n<option value=\"EE\">\ud83c\uddea\ud83c\uddea Estonia<\/option>\n<option value=\"ET\">\ud83c\uddea\ud83c\uddf9 Ethiopia<\/option>\n<option value=\"FJ\">\ud83c\uddeb\ud83c\uddef Fiji<\/option>\n<option value=\"FI\">\ud83c\uddeb\ud83c\uddee Finland<\/option>\n<option value=\"FR\">\ud83c\uddeb\ud83c\uddf7 France<\/option>\n<option value=\"GA\">\ud83c\uddec\ud83c\udde6 Gabon<\/option>\n<option value=\"GM\">\ud83c\uddec\ud83c\uddf2 Gambia<\/option>\n<option value=\"GE\">\ud83c\uddec\ud83c\uddea Georgia<\/option>\n<option value=\"DE\">\ud83c\udde9\ud83c\uddea Germany<\/option>\n<option value=\"GH\">\ud83c\uddec\ud83c\udded Ghana<\/option>\n<option value=\"GR\">\ud83c\uddec\ud83c\uddf7 Greece<\/option>\n<option value=\"GD\">\ud83c\uddec\ud83c\udde9 Grenada<\/option>\n<option value=\"GT\">\ud83c\uddec\ud83c\uddf9 Guatemala<\/option>\n<option value=\"GN\">\ud83c\uddec\ud83c\uddf3 Guinea<\/option>\n<option value=\"GW\">\ud83c\uddec\ud83c\uddfc Guinea-Bissau<\/option>\n<option value=\"GY\">\ud83c\uddec\ud83c\uddfe Guyana<\/option>\n<option value=\"HT\">\ud83c\udded\ud83c\uddf9 Haiti<\/option>\n<option value=\"HN\">\ud83c\udded\ud83c\uddf3 Honduras<\/option>\n<option value=\"HU\">\ud83c\udded\ud83c\uddfa Hungary<\/option>\n<option value=\"IS\">\ud83c\uddee\ud83c\uddf8 Iceland<\/option>\n<option value=\"IN\">\ud83c\uddee\ud83c\uddf3 India<\/option>\n<option value=\"ID\">\ud83c\uddee\ud83c\udde9 Indonesia<\/option>\n<option value=\"IR\">\ud83c\uddee\ud83c\uddf7 Iran<\/option>\n<option value=\"IQ\">\ud83c\uddee\ud83c\uddf6 Iraq<\/option>\n<option value=\"IE\">\ud83c\uddee\ud83c\uddea Ireland<\/option>\n<option value=\"IL\">\ud83c\uddee\ud83c\uddf1 Israel<\/option>\n<option value=\"IT\">\ud83c\uddee\ud83c\uddf9 Italy<\/option>\n<option value=\"CI\">\ud83c\udde8\ud83c\uddee Ivory Coast<\/option>\n<option value=\"JM\">\ud83c\uddef\ud83c\uddf2 Jamaica<\/option>\n<option value=\"JP\">\ud83c\uddef\ud83c\uddf5 Japan<\/option>\n<option value=\"JO\">\ud83c\uddef\ud83c\uddf4 Jordan<\/option>\n<option value=\"KZ\">\ud83c\uddf0\ud83c\uddff Kazakhstan<\/option>\n<option value=\"KE\">\ud83c\uddf0\ud83c\uddea Kenya<\/option>\n<option value=\"KI\">\ud83c\uddf0\ud83c\uddee Kiribati<\/option>\n<option value=\"KW\">\ud83c\uddf0\ud83c\uddfc Kuwait<\/option>\n<option value=\"KG\">\ud83c\uddf0\ud83c\uddec Kyrgyzstan<\/option>\n<option value=\"LA\">\ud83c\uddf1\ud83c\udde6 Laos<\/option>\n<option value=\"LV\">\ud83c\uddf1\ud83c\uddfb Latvia<\/option>\n<option value=\"LB\">\ud83c\uddf1\ud83c\udde7 Lebanon<\/option>\n<option value=\"LS\">\ud83c\uddf1\ud83c\uddf8 Lesotho<\/option>\n<option value=\"LR\">\ud83c\uddf1\ud83c\uddf7 Liberia<\/option>\n<option value=\"LY\">\ud83c\uddf1\ud83c\uddfe Libya<\/option>\n<option value=\"LI\">\ud83c\uddf1\ud83c\uddee Liechtenstein<\/option>\n<option value=\"LT\">\ud83c\uddf1\ud83c\uddf9 Lithuania<\/option>\n<option value=\"LU\">\ud83c\uddf1\ud83c\uddfa Luxembourg<\/option>\n<option value=\"MK\">\ud83c\uddf2\ud83c\uddf0 Macedonia<\/option>\n<option value=\"MG\">\ud83c\uddf2\ud83c\uddec Madagascar<\/option>\n<option value=\"MW\">\ud83c\uddf2\ud83c\uddfc Malawi<\/option>\n<option value=\"MY\">\ud83c\uddf2\ud83c\uddfe Malaysia<\/option>\n<option value=\"MV\">\ud83c\uddf2\ud83c\uddfb Maldives<\/option>\n<option value=\"ML\">\ud83c\uddf2\ud83c\uddf1 Mali<\/option>\n<option value=\"MT\">\ud83c\uddf2\ud83c\uddf9 Malta<\/option>\n<option value=\"MH\">\ud83c\uddf2\ud83c\udded Marshall Islands<\/option>\n<option value=\"MR\">\ud83c\uddf2\ud83c\uddf7 Mauritania<\/option>\n<option value=\"MU\">\ud83c\uddf2\ud83c\uddfa Mauritius<\/option>\n<option value=\"MX\">\ud83c\uddf2\ud83c\uddfd Mexico<\/option>\n<option value=\"FM\">\ud83c\uddeb\ud83c\uddf2 Micronesia<\/option>\n<option value=\"MD\">\ud83c\uddf2\ud83c\udde9 Moldova<\/option>\n<option value=\"MC\">\ud83c\uddf2\ud83c\udde8 Monaco<\/option>\n<option value=\"MN\">\ud83c\uddf2\ud83c\uddf3 Mongolia<\/option>\n<option value=\"ME\">\ud83c\uddf2\ud83c\uddea Montenegro<\/option>\n<option value=\"MA\">\ud83c\uddf2\ud83c\udde6 Morocco<\/option>\n<option value=\"MZ\">\ud83c\uddf2\ud83c\uddff Mozambique<\/option>\n<option value=\"MM\">\ud83c\uddf2\ud83c\uddf2 Myanmar<\/option>\n<option value=\"NA\">\ud83c\uddf3\ud83c\udde6 Namibia<\/option>\n<option value=\"NR\">\ud83c\uddf3\ud83c\uddf7 Nauru<\/option>\n<option value=\"NP\">\ud83c\uddf3\ud83c\uddf5 Nepal<\/option>\n<option value=\"NL\">\ud83c\uddf3\ud83c\uddf1 Netherlands<\/option>\n<option value=\"NZ\">\ud83c\uddf3\ud83c\uddff New Zealand<\/option>\n<option value=\"NI\">\ud83c\uddf3\ud83c\uddee Nicaragua<\/option>\n<option value=\"NE\">\ud83c\uddf3\ud83c\uddea Niger<\/option>\n<option value=\"NG\">\ud83c\uddf3\ud83c\uddec Nigeria<\/option>\n<option value=\"KP\">\ud83c\uddf0\ud83c\uddf5 North Korea<\/option>\n<option value=\"NO\">\ud83c\uddf3\ud83c\uddf4 Norway<\/option>\n<option value=\"OM\">\ud83c\uddf4\ud83c\uddf2 Oman<\/option>\n<option value=\"PK\">\ud83c\uddf5\ud83c\uddf0 Pakistan<\/option>\n<option value=\"PW\">\ud83c\uddf5\ud83c\uddfc Palau<\/option>\n<option value=\"PS\">\ud83c\uddf5\ud83c\uddf8 Palestine<\/option>\n<option value=\"PA\">\ud83c\uddf5\ud83c\udde6 Panama<\/option>\n<option value=\"PG\">\ud83c\uddf5\ud83c\uddec Papua New Guinea<\/option>\n<option value=\"PY\">\ud83c\uddf5\ud83c\uddfe Paraguay<\/option>\n<option value=\"PE\">\ud83c\uddf5\ud83c\uddea Peru<\/option>\n<option value=\"PH\">\ud83c\uddf5\ud83c\udded Philippines<\/option>\n<option value=\"PL\">\ud83c\uddf5\ud83c\uddf1 Poland<\/option>\n<option value=\"PT\">\ud83c\uddf5\ud83c\uddf9 Portugal<\/option>\n<option value=\"QA\">\ud83c\uddf6\ud83c\udde6 Qatar<\/option>\n<option value=\"RO\">\ud83c\uddf7\ud83c\uddf4 Romania<\/option>\n<option value=\"RU\">\ud83c\uddf7\ud83c\uddfa Russia<\/option>\n<option value=\"RW\">\ud83c\uddf7\ud83c\uddfc Rwanda<\/option>\n<option value=\"KN\">\ud83c\uddf0\ud83c\uddf3 Saint Kitts and Nevis<\/option>\n<option value=\"LC\">\ud83c\uddf1\ud83c\udde8 Saint Lucia<\/option>\n<option value=\"VC\">\ud83c\uddfb\ud83c\udde8 Saint Vincent<\/option>\n<option value=\"WS\">\ud83c\uddfc\ud83c\uddf8 Samoa<\/option>\n<option value=\"SM\">\ud83c\uddf8\ud83c\uddf2 San Marino<\/option>\n<option value=\"ST\">\ud83c\uddf8\ud83c\uddf9 Sao Tome and Principe<\/option>\n<option value=\"SA\">\ud83c\uddf8\ud83c\udde6 Saudi Arabia<\/option>\n<option value=\"SN\">\ud83c\uddf8\ud83c\uddf3 Senegal<\/option>\n<option value=\"RS\">\ud83c\uddf7\ud83c\uddf8 Serbia<\/option>\n<option value=\"SC\">\ud83c\uddf8\ud83c\udde8 Seychelles<\/option>\n<option value=\"SL\">\ud83c\uddf8\ud83c\uddf1 Sierra Leone<\/option>\n<option value=\"SG\">\ud83c\uddf8\ud83c\uddec Singapore<\/option>\n<option value=\"SK\">\ud83c\uddf8\ud83c\uddf0 Slovakia<\/option>\n<option value=\"SI\">\ud83c\uddf8\ud83c\uddee Slovenia<\/option>\n<option value=\"SB\">\ud83c\uddf8\ud83c\udde7 Solomon Islands<\/option>\n<option value=\"SO\">\ud83c\uddf8\ud83c\uddf4 Somalia<\/option>\n<option value=\"ZA\">\ud83c\uddff\ud83c\udde6 South Africa<\/option>\n<option value=\"KR\">\ud83c\uddf0\ud83c\uddf7 South Korea<\/option>\n<option value=\"SS\">\ud83c\uddf8\ud83c\uddf8 South Sudan<\/option>\n<option value=\"ES\">\ud83c\uddea\ud83c\uddf8 Spain<\/option>\n<option value=\"LK\">\ud83c\uddf1\ud83c\uddf0 Sri Lanka<\/option>\n<option value=\"SD\">\ud83c\uddf8\ud83c\udde9 Sudan<\/option>\n<option value=\"SR\">\ud83c\uddf8\ud83c\uddf7 Suriname<\/option>\n<option value=\"SZ\">\ud83c\uddf8\ud83c\uddff Swaziland<\/option>\n<option value=\"SE\">\ud83c\uddf8\ud83c\uddea Sweden<\/option>\n<option value=\"CH\">\ud83c\udde8\ud83c\udded Switzerland<\/option>\n<option value=\"SY\">\ud83c\uddf8\ud83c\uddfe Syria<\/option>\n<option value=\"TW\">\ud83c\uddf9\ud83c\uddfc Taiwan<\/option>\n<option value=\"TJ\">\ud83c\uddf9\ud83c\uddef Tajikistan<\/option>\n<option value=\"TZ\">\ud83c\uddf9\ud83c\uddff Tanzania<\/option>\n<option value=\"TH\">\ud83c\uddf9\ud83c\udded Thailand<\/option>\n<option value=\"TL\">\ud83c\uddf9\ud83c\uddf1 Timor-Leste<\/option>\n<option value=\"TG\">\ud83c\uddf9\ud83c\uddec Togo<\/option>\n<option value=\"TO\">\ud83c\uddf9\ud83c\uddf4 Tonga<\/option>\n<option value=\"TT\">\ud83c\uddf9\ud83c\uddf9 Trinidad and Tobago<\/option>\n<option value=\"TN\">\ud83c\uddf9\ud83c\uddf3 Tunisia<\/option>\n<option value=\"TR\">\ud83c\uddf9\ud83c\uddf7 Turkey<\/option>\n<option value=\"TM\">\ud83c\uddf9\ud83c\uddf2 Turkmenistan<\/option>\n<option value=\"TV\">\ud83c\uddf9\ud83c\uddfb Tuvalu<\/option>\n<option value=\"UG\">\ud83c\uddfa\ud83c\uddec Uganda<\/option>\n<option value=\"UA\">\ud83c\uddfa\ud83c\udde6 Ukraine<\/option>\n<option value=\"AE\">\ud83c\udde6\ud83c\uddea United Arab Emirates<\/option>\n<option value=\"GB\">\ud83c\uddec\ud83c\udde7 United Kingdom<\/option>\n<option value=\"US\">\ud83c\uddfa\ud83c\uddf8 United States<\/option>\n<option value=\"UY\">\ud83c\uddfa\ud83c\uddfe Uruguay<\/option>\n<option value=\"UZ\">\ud83c\uddfa\ud83c\uddff Uzbekistan<\/option>\n<option value=\"VU\">\ud83c\uddfb\ud83c\uddfa Vanuatu<\/option>\n<option value=\"VA\">\ud83c\uddfb\ud83c\udde6 Vatican City<\/option>\n<option value=\"VE\">\ud83c\uddfb\ud83c\uddea Venezuela<\/option>\n<option value=\"VN\">\ud83c\uddfb\ud83c\uddf3 Vietnam<\/option>\n<option value=\"YE\">\ud83c\uddfe\ud83c\uddea Yemen<\/option>\n<option value=\"ZM\">\ud83c\uddff\ud83c\uddf2 Zambia<\/option>\n<option value=\"ZW\">\ud83c\uddff\ud83c\uddfc Zimbabwe<\/option>                        <\/select>\n                    <\/div>\n\n                    <!-- Age Section -->\n                    <div class=\"profile-section\" style=\"margin-bottom:16px;\">\n                        <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                            <div style=\"width:6px;height:6px;border-radius:50%;background:#ffc83d;\"><\/div>\n                            <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">Age<\/span>\n                        <\/div>\n                        <p style=\"font-size:12px;color:rgba(255,255,255,0.35);margin:0 0 10px 0;\">Enter your birth date (must be 18+)<\/p>\n                        <input\n                            type=\"date\"\n                            id=\"editProfileBirthdate\"\n                            max=\"2008-07-12\"\n                            style=\"width:100%;padding:12px;border:1px solid rgba(255,255,255,0.08);border-radius:12px;font-family:inherit;font-size:14px;color:white;background:rgba(255,255,255,0.04);cursor:pointer;transition:border-color 0.2s;color-scheme:dark;\"\n                        >\n                    <\/div>\n\n                    <!-- Looking For Section -->\n                    <div class=\"profile-section\" style=\"margin-bottom:16px;\">\n                        <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                            <div style=\"width:6px;height:6px;border-radius:50%;background:#10B981;\"><\/div>\n                            <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">Looking For<\/span>\n                        <\/div>\n                        <input\n                            type=\"text\"\n                            id=\"editProfileLookingFor\"\n                            placeholder=\"e.g., Friends, Chat, Dating...\"\n                            maxlength=\"50\"\n                            style=\"width:100%;padding:12px;border:1px solid rgba(255,255,255,0.08);border-radius:12px;font-family:inherit;font-size:14px;color:white;background:rgba(255,255,255,0.04);transition:border-color 0.2s;\"\n                        >\n                    <\/div>\n\n                    <!-- Bio Section -->\n                    <div class=\"profile-section\" style=\"margin-bottom:16px;\">\n                        <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                            <div style=\"width:6px;height:6px;border-radius:50%;background:#3B82F6;\"><\/div>\n                            <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">About<\/span>\n                        <\/div>\n                        <textarea\n                            id=\"editProfileBio\"\n                            placeholder=\"Tell others about yourself... (max 200 characters)\"\n                            maxlength=\"200\"\n                            style=\"width:100%;min-height:90px;padding:12px;border:1px solid rgba(255,255,255,0.08);border-radius:12px;font-family:inherit;font-size:14px;color:white;background:rgba(255,255,255,0.04);resize:vertical;transition:border-color 0.2s;\"\n                        ><\/textarea>\n                        <div style=\"text-align:right;margin-top:4px;\">\n                            <span id=\"bioCharCount\" style=\"font-size:11px;color:rgba(255,255,255,0.35);\">0\/200<\/span>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Interests Section -->\n                    <div class=\"profile-section\" style=\"margin-bottom:16px;\">\n                        <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                            <div style=\"width:6px;height:6px;border-radius:50%;background:#10B981;\"><\/div>\n                            <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">Interests<\/span>\n                        <\/div>\n                        <input\n                            type=\"text\"\n                            id=\"editProfileInterestsInput\"\n                            placeholder=\"Type an interest and press Enter (max 10)\"\n                            style=\"width:100%;padding:12px;border:1px solid rgba(255,255,255,0.08);border-radius:12px;font-family:inherit;font-size:14px;color:white;background:rgba(255,255,255,0.04);transition:border-color 0.2s;\"\n                        >\n                        <div id=\"editProfileInterestsList\" style=\"display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;\"><\/div>\n                        <p style=\"font-size:11px;color:rgba(255,255,255,0.3);margin:6px 0 0 0;\">Press Enter to add interests. Click tags to remove them.<\/p>\n                    <\/div>\n\n                    <!-- Photos Section (premium only, hidden by default) -->\n                    <div id=\"editProfilePhotosSection\" class=\"profile-section\" style=\"margin-bottom:16px;display:none;\">\n                        <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                            <div style=\"width:6px;height:6px;border-radius:50%;background:#EC4899;\"><\/div>\n                            <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">Photos<\/span>\n                        <\/div>\n                        <div onclick=\"if(typeof openPremiumPhotosModal==='function'){closeEditProfileModal();openPremiumPhotosModal();}\" style=\"background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:16px;cursor:pointer;display:flex;align-items:center;gap:14px;transition:all 0.2s;\" onmouseover=\"this.style.background='rgba(255,255,255,0.08)';this.style.borderColor='rgba(255,255,255,0.15)'\" onmouseout=\"this.style.background='rgba(255,255,255,0.04)';this.style.borderColor='rgba(255,255,255,0.08)'\">\n                            <div style=\"width:44px;height:44px;border-radius:12px;background:rgba(236,72,153,0.12);display:flex;align-items:center;justify-content:center;flex-shrink:0;\">\n                                <span style=\"font-size:22px;\">\ud83d\udcf8<\/span>\n                            <\/div>\n                            <div style=\"flex:1;min-width:0;\">\n                                <div style=\"color:white;font-size:14px;font-weight:600;margin-bottom:2px;\">Manage Photos<\/div>\n                                <div style=\"color:rgba(255,255,255,0.4);font-size:12px;\">Upload and manage your premium photos<\/div>\n                            <\/div>\n                            <div style=\"color:rgba(255,255,255,0.25);font-size:18px;flex-shrink:0;\">\u203a<\/div>\n                        <\/div>\n                    <\/div>\n\n                    <!-- Save Button -->\n                    <button\n                        id=\"saveProfileBtn\"\n                        onclick=\"saveProfileChanges()\"\n                        style=\"width:100%;background:rgba(255,255,255,0.1);border:1px solid rgba(255,255,255,0.15);color:white;border-radius:14px;padding:14px;font-size:15px;font-weight:600;cursor:pointer;transition:all 0.2s;margin-top:4px;\"\n                        onmouseover=\"this.style.background='rgba(255,255,255,0.15)'\"\n                        onmouseout=\"this.style.background='rgba(255,255,255,0.1)'\"\n                    >\n                        Save Changes                    <\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<!-- Send Sparks Modal -->\n<div id=\"sendSparksModal\" class=\"meetgle-modal\" style=\"display:none;z-index:100010;\">\n    <div class=\"meetgle-modal-backdrop\"><\/div>\n    <div class=\"meetgle-modal-content send-sparks-modal-content\" style=\"max-width:450px;background:rgba(20,20,30,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <!-- Header -->\n        <div style=\"padding:20px 20px 0 20px;\">\n            <div style=\"display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;\">\n                <h2 style=\"color:white;margin:0;font-size:22px;font-weight:700;\">Send Sparks<\/h2>\n                <button onclick=\"closeSendSparksModal()\" style=\"background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.1);color:rgba(255,255,255,0.5);width:32px;height:32px;border-radius:50%;font-size:18px;line-height:0;font-weight:300;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:all 0.2s;\" onmouseover=\"this.style.background='rgba(255,255,255,0.15)';this.style.color='white'\" onmouseout=\"this.style.background='rgba(255,255,255,0.08)';this.style.color='rgba(255,255,255,0.5)'\">&times;<\/button>\n            <\/div>\n            <p style=\"color:rgba(255,255,255,0.4);font-size:14px;margin:0 0 16px 0;\">Send sparks to <span id=\"sendSparksRecipient\" style=\"font-weight:700;color:white;\"><\/span><\/p>\n\n            <!-- Balance Pill -->\n            <div style=\"background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;\">\n                <span style=\"color:rgba(255,255,255,0.45);font-size:13px;font-weight:500;\">Your balance<\/span>\n                <div style=\"display:flex;align-items:center;gap:6px;\">\n                    <span style=\"font-size:16px;\">\u26a1<\/span>\n                    <span id=\"sendSparksYourBalance\" style=\"color:#ffc83d;font-weight:700;font-size:18px;\">0<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Content -->\n        <div style=\"padding:20px;\">\n\n            <!-- Quick Amount Section -->\n            <div style=\"margin-bottom:20px;\">\n                <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:12px;\">\n                    <div style=\"width:6px;height:6px;border-radius:50%;background:#ffc83d;flex-shrink:0;\"><\/div>\n                    <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">Quick Select<\/span>\n                <\/div>\n                <div style=\"display:grid;grid-template-columns:repeat(4, 1fr);gap:8px;margin-bottom:8px;\">\n                    <button class=\"spark-amount-btn\" data-amount=\"1\" onclick=\"selectSparkAmount(1)\">1<\/button>\n                    <button class=\"spark-amount-btn\" data-amount=\"5\" onclick=\"selectSparkAmount(5)\">5<\/button>\n                    <button class=\"spark-amount-btn\" data-amount=\"10\" onclick=\"selectSparkAmount(10)\">10<\/button>\n                    <button class=\"spark-amount-btn\" data-amount=\"50\" onclick=\"selectSparkAmount(50)\">50<\/button>\n                <\/div>\n                <div style=\"display:grid;grid-template-columns:repeat(4, 1fr);gap:8px;\">\n                    <button class=\"spark-amount-btn\" data-amount=\"100\" onclick=\"selectSparkAmount(100)\">100<\/button>\n                    <button class=\"spark-amount-btn\" data-amount=\"250\" onclick=\"selectSparkAmount(250)\">250<\/button>\n                    <button class=\"spark-amount-btn\" data-amount=\"500\" onclick=\"selectSparkAmount(500)\">500<\/button>\n                    <button class=\"spark-amount-btn\" data-amount=\"1000\" onclick=\"selectSparkAmount(1000)\">1000<\/button>\n                <\/div>\n            <\/div>\n\n            <!-- Custom Amount Section -->\n            <div style=\"margin-bottom:20px;\">\n                <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:8px;\">\n                    <div style=\"width:6px;height:6px;border-radius:50%;background:#ffc83d;flex-shrink:0;\"><\/div>\n                    <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;letter-spacing:0.5px;text-transform:uppercase;\">Custom Amount<\/span>\n                <\/div>\n                <input\n                    type=\"number\"\n                    id=\"customSparkAmount\"\n                    placeholder=\"Enter amount...\"\n                    min=\"1\"\n                    style=\"width:100%;padding:12px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:12px;font-size:16px;font-weight:600;color:white;text-align:center;outline:none;box-sizing:border-box;\"\n                    oninput=\"handleCustomAmountInput(this.value)\"\n                >\n            <\/div>\n\n            <!-- Error Message -->\n            <div id=\"sendSparksError\" style=\"display:none;background:rgba(239,68,68,0.15);border:1px solid rgba(239,68,68,0.3);border-radius:12px;padding:12px;margin-bottom:16px;text-align:center;color:#EF4444;font-size:14px;font-weight:600;\"><\/div>\n\n            <!-- Success Message -->\n            <div id=\"sendSparksSuccess\" style=\"display:none;background:rgba(16,185,129,0.15);border:1px solid rgba(16,185,129,0.3);border-radius:12px;padding:16px;margin-bottom:16px;text-align:center;\">\n                <div style=\"font-size:48px;margin-bottom:8px;\">\u2705<\/div>\n                <div style=\"color:#10B981;font-size:16px;font-weight:700;margin-bottom:4px;\">Sparks Sent Successfully!<\/div>\n                <div id=\"sendSparksSuccessMessage\" style=\"color:rgba(16,185,129,0.8);font-size:14px;\"><\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Footer Buttons -->\n        <div style=\"padding:16px 20px 20px;display:flex;gap:12px;\">\n            <button onclick=\"closeSendSparksModal()\" style=\"flex:1;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.6);border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:12px 24px;font-size:15px;font-weight:600;cursor:pointer;transition:all 0.2s;\" onmouseover=\"this.style.background='rgba(255,255,255,0.1)';this.style.color='white'\" onmouseout=\"this.style.background='rgba(255,255,255,0.06)';this.style.color='rgba(255,255,255,0.6)'\">Cancel<\/button>\n            <button id=\"confirmSendSparksBtn\" onclick=\"confirmSendSparks()\" style=\"flex:1;background:#ffc83d;color:#000;border:none;border-radius:12px;padding:12px 24px;font-size:15px;font-weight:700;cursor:pointer;transition:all 0.2s;\" onmouseover=\"this.style.background='#FBBF24';this.style.transform='scale(1.02)'\" onmouseout=\"this.style.background='#ffc83d';this.style.transform='scale(1)'\">Send \u26a1<\/button>\n        <\/div>\n    <\/div>\n<\/div>\n\n        \n        <!-- Chat History Modal -->\n        \n<!-- Chat History Modal (lazy template \u2014 hydrated by MeetgleModalLoader; JS in public\/js\/modals\/chat-history.modal.js). -->\n<template id=\"meetgleChatHistoryTpl\">\n<div id=\"meetgleChatHistoryModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content chat-history-modal-content\" style=\"max-width:700px;background:#141417;border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <!-- Header (close stays top-right, unchanged) -->\n        <div style=\"padding:20px 24px 0 24px;display:flex;align-items:center;justify-content:space-between;\">\n            <h2 class=\"mg-mtitle\">Chat History<\/h2>\n            <button onclick=\"closeChatHistoryModal()\" class=\"mg-mclose\">&times;<\/button>\n        <\/div>\n\n        <!-- Content (scrolls; infinite-scroll listener attaches here) -->\n        <div id=\"chatHistoryContent\" style=\"padding:16px 24px 24px 24px;overflow-y:auto;max-height:calc(80vh - 80px);\">\n\n            <!-- Loading State -->\n            <div id=\"chatHistoryLoading\" style=\"text-align:center;padding:48px 0;\">\n                <div style=\"width:32px;height:32px;border:3px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.5);border-radius:50%;margin:0 auto 12px;animation:chSpin 0.8s linear infinite;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.35);font-size:13px;\">Loading your chat history...<\/div>\n            <\/div>\n\n            <!-- Empty State (also reused for the post-delete \"cleared\" state) -->\n            <div id=\"chatHistoryEmpty\" style=\"display:none;\">\n                <div class=\"ch-empty\">\n                    <div class=\"ch-empty-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.8\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 11.5a8.38 8.38 0 0 1-8.5 8.5 8.38 8.38 0 0 1-3.8-.9L3 21l1.9-5.7A8.38 8.38 0 0 1 4 11.5 8.5 8.5 0 0 1 12.5 3 8.5 8.5 0 0 1 21 11.5z\"\/><\/svg><\/div>\n                    <div class=\"ch-empty-msg\">No chat history yet<\/div>\n                    <div class=\"ch-empty-sub\">Start chatting with registered users to build your history!<\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Matches list -->\n            <div id=\"chatHistoryListWrapper\" style=\"display:none;\">\n                <div id=\"chatHistoryList\" class=\"ch-list\"><\/div>\n            <\/div>\n\n            <!-- Load More Indicator -->\n            <div id=\"chatHistoryLoadMore\" style=\"display:none;text-align:center;padding:16px 0;\">\n                <div style=\"width:24px;height:24px;border:2px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.5);border-radius:50%;margin:0 auto 8px;animation:chSpin 0.8s linear infinite;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.35);font-size:12px;\">Loading more...<\/div>\n            <\/div>\n\n            <!-- End of History Message -->\n            <div id=\"chatHistoryEnd\" class=\"ch-end\" style=\"display:none;\">No more matches to load<\/div>\n\n            <!-- Delete History -->\n            <div class=\"ch-delete\">\n                <button id=\"deleteHistoryBtn\" class=\"ch-del-btn\" onclick=\"showDeleteConfirmation()\">\n                    <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M3 6h18M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2m3 0v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6\"\/><\/svg>\n                    Delete History                <\/button>\n\n                <!-- Confirmation UI (hidden by default) -->\n                <div id=\"deleteConfirmationUI\" class=\"ch-confirm\" style=\"display:none;\">\n                    <div class=\"t\">Are you sure?<\/div>\n                    <div class=\"d\">This will permanently delete your entire chat history.<\/div>\n                    <div class=\"ch-confirm-actions\">\n                        <button class=\"ch-cbtn ch-cancel\" onclick=\"cancelDeleteHistory()\">Cancel<\/button>\n                        <button class=\"ch-cbtn ch-del-yes\" onclick=\"confirmDeleteHistory()\">Yes, Delete All<\/button>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/template>\n\n        \n        <!-- Transactions Modal -->\n        \n<!-- Transactions History Modal (lazy template \u2014 hydrated by MeetgleModals) -->\n<template id=\"meetgleTransactionsTpl\">\n<div id=\"meetgleTransactionsModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content transactions-modal-content\" style=\"max-width:700px;background:rgba(20,20,30,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <!-- Header -->\n        <div style=\"padding:20px 24px 0 24px;display:flex;align-items:center;justify-content:space-between;\">\n            <h2 class=\"mg-mtitle\">Transactions<\/h2>\n            <button onclick=\"closeTransactionsModal()\" class=\"mg-mclose\">&times;<\/button>\n        <\/div>\n\n        <!-- Content -->\n        <div id=\"transactionsContent\" style=\"padding:16px 24px 24px 24px;max-height:calc(80vh - 80px);overflow-y:auto;\">\n\n            <!-- Loading State -->\n            <div id=\"transactionsLoading\" style=\"text-align:center;padding:48px 0;\">\n                <div style=\"width:32px;height:32px;border:3px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.5);border-radius:50%;margin:0 auto 12px;animation:txSpin 0.8s linear infinite;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.35);font-size:13px;\">Loading transactions...<\/div>\n            <\/div>\n\n            <!-- Empty State -->\n            <div id=\"transactionsEmpty\" style=\"display:none;text-align:center;padding:48px 0;\">\n                <div style=\"font-size:32px;margin-bottom:12px;opacity:0.5;\">\u26a1<\/div>\n                <div style=\"color:rgba(255,255,255,0.4);font-size:14px;\">No transactions yet<\/div>\n                <div style=\"color:rgba(255,255,255,0.25);font-size:12px;margin-top:4px;\">Start earning sparks to see your history!<\/div>\n            <\/div>\n\n            <!-- Transactions List -->\n            <div id=\"transactionsListWrapper\" style=\"display:none;\">\n                <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                    <div style=\"width:6px;height:6px;border-radius:50%;background:#ffc83d;\"><\/div>\n                    <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;\">History<\/span>\n                <\/div>\n                <div style=\"background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;overflow:hidden;\">\n                    <div id=\"transactionsList\"><\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Load More Indicator -->\n            <div id=\"transactionsLoadMore\" style=\"display:none;text-align:center;padding:16px 0;\">\n                <div style=\"width:24px;height:24px;border:2px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.5);border-radius:50%;margin:0 auto 8px;animation:txSpin 0.8s linear infinite;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.35);font-size:12px;\">Loading more...<\/div>\n            <\/div>\n\n            <!-- End of History Message -->\n            <div id=\"transactionsEnd\" style=\"display:none;text-align:center;padding:16px 0;\">\n                <div style=\"color:rgba(255,255,255,0.25);font-size:12px;\">No more transactions to load<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/template>\n\n        \n        <!-- Notifications Modal -->\n        \n<!-- Notifications Modal (lazy template \u2014 hydrated by MeetgleModalLoader) -->\n<template id=\"meetgleNotificationsTpl\">\n<div id=\"notificationsModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content notifications-modal-content\" style=\"max-width:700px;background:rgba(20,20,30,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <!-- Header -->\n        <div style=\"padding:20px 24px 0 24px;display:flex;align-items:center;justify-content:space-between;\">\n            <div style=\"display:flex;align-items:center;gap:10px;\">\n                <h2 class=\"mg-mtitle\">Notifications<\/h2>\n                <span id=\"notificationsUnreadBadgeHeader\" style=\"background:rgba(255,200,61,0.15);color:#ffc83d;font-size:12px;font-weight:700;padding:3px 10px;border-radius:10px;border:1px solid rgba(255,200,61,0.25);display:none;\">\n                    0                <\/span>\n            <\/div>\n            <button onclick=\"closeNotificationsModal()\" class=\"mg-mclose\">&times;<\/button>\n        <\/div>\n\n        <!-- Content -->\n        <div id=\"notificationsContainer\" style=\"padding:16px 24px 24px 24px;max-height:calc(80vh - 80px);overflow-y:auto;\">\n\n            <!-- Loading state -->\n            <div id=\"notificationsLoading\" style=\"text-align:center;padding:48px 0;\">\n                <div class=\"profile-spinner\" style=\"margin:0 auto 12px auto;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.35);font-size:13px;\">Loading notifications...<\/div>\n            <\/div>\n\n            <!-- Empty state -->\n            <div id=\"notificationsEmpty\" style=\"display:none;text-align:center;padding:48px 0;\">\n                <div style=\"font-size:32px;margin-bottom:12px;opacity:0.5;\">\ud83d\udd14<\/div>\n                <div style=\"color:rgba(255,255,255,0.4);font-size:14px;\">No notifications yet<\/div>\n                <div style=\"color:rgba(255,255,255,0.25);font-size:12px;margin-top:4px;\">You&#039;ll see updates here when you receive sparks or make purchases<\/div>\n            <\/div>\n\n            <!-- Notifications list -->\n            <div id=\"notificationsList\" class=\"notifications-list\" style=\"display:none;\">\n                <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                    <div style=\"width:6px;height:6px;border-radius:50%;background:#ffc83d;\"><\/div>\n                    <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;\">Recent<\/span>\n                <\/div>\n                <div style=\"background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;overflow:hidden;\">\n                <\/div>\n            <\/div>\n\n            <!-- Load more -->\n            <div id=\"loadMoreNotifications\" style=\"display:none;text-align:center;padding:16px 0;\">\n                <button onclick=\"loadMoreNotifications()\" style=\"background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:12px;color:rgba(255,255,255,0.5);font-size:13px;font-weight:600;padding:10px 24px;cursor:pointer;transition:all 0.2s;\" onmouseover=\"this.style.background='rgba(255,255,255,0.1)';this.style.color='rgba(255,255,255,0.7)'\" onmouseout=\"this.style.background='rgba(255,255,255,0.06)';this.style.color='rgba(255,255,255,0.5)'\">\n                    Load More                <\/button>\n            <\/div>\n\n            <!-- Mark All Read (inline, no footer) -->\n            <div id=\"notificationsFooter\" style=\"text-align:center;padding:12px 0 0 0;display:none;\">\n                <button id=\"markAllReadBtn\" onclick=\"markAllNotificationsRead()\" style=\"background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:12px;color:rgba(255,255,255,0.5);font-size:13px;font-weight:600;padding:10px 24px;cursor:pointer;transition:all 0.2s;width:100%;\" onmouseover=\"this.style.background='rgba(255,255,255,0.1)';this.style.color='rgba(255,255,255,0.7)'\" onmouseout=\"this.style.background='rgba(255,255,255,0.06)';this.style.color='rgba(255,255,255,0.5)'\">\n                    Mark All As Read                <\/button>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/template>\n\n\n        <!-- Referral Modal -->\n                \n        <!-- Favorites Modal -->\n        \n<!-- Favorites Modal (lazy template \u2014 hydrated by MeetgleModalLoader) -->\n<template id=\"meetgleFavoritesTpl\">\n<div id=\"meetgleFavoritesModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content favorites-modal-content\" style=\"max-width:700px;background:rgba(20,20,30,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <!-- Header -->\n        <div style=\"padding:20px 24px 0 24px;display:flex;align-items:center;justify-content:space-between;\">\n            <h2 class=\"mg-mtitle\">My Favorites<\/h2>\n            <button onclick=\"closeFavoritesModal()\" class=\"mg-mclose\">&times;<\/button>\n        <\/div>\n\n        <!-- Content -->\n        <div id=\"favoritesContent\" style=\"padding:16px 24px 24px 24px;overflow-y:auto;max-height:calc(80vh - 80px);\">\n\n            <!-- Loading State -->\n            <div id=\"favoritesLoading\" style=\"text-align:center;padding:48px 0;\">\n                <div style=\"width:32px;height:32px;border:3px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.5);border-radius:50%;margin:0 auto 12px;animation:favSpin 0.8s linear infinite;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.35);font-size:13px;\">Loading your favorites...<\/div>\n            <\/div>\n\n            <!-- Empty State -->\n            <div id=\"favoritesEmpty\" style=\"display:none;text-align:center;padding:48px 0;\">\n                <div style=\"font-size:32px;margin-bottom:12px;opacity:0.5;\">\ud83d\udc94<\/div>\n                <div style=\"color:rgba(255,255,255,0.4);font-size:14px;\">No favorites yet<\/div>\n                <div style=\"color:rgba(255,255,255,0.25);font-size:12px;margin-top:4px;\">Click the heart on someone&#039;s profile to add them!<\/div>\n            <\/div>\n\n            <!-- Login Required State -->\n            <div id=\"favoritesLoginRequired\" style=\"display:none;\">\n                <div style=\"background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:12px;\">\n                    <div style=\"font-size:20px;flex-shrink:0;\">\ud83d\udd12<\/div>\n                    <div style=\"flex:1;min-width:0;\">\n                        <div style=\"color:white;font-weight:600;font-size:13px;\">Login Required<\/div>\n                        <div style=\"color:rgba(255,255,255,0.35);font-size:11px;\">You need to be logged in to view your favorites.<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Favorites List -->\n            <div id=\"favoritesListWrapper\" style=\"display:none;\">\n                <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                    <div style=\"width:6px;height:6px;border-radius:50%;background:#EC4899;\"><\/div>\n                    <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;\">Your Favorites<\/span>\n                    <span style=\"color:rgba(255,255,255,0.25);font-size:11px;margin-left:auto;\">mutual favorites = \ud83d\udc95<\/span>\n                <\/div>\n                <div style=\"background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;overflow:hidden;\">\n                    <div id=\"favoritesList\"><\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Load More Indicator -->\n            <div id=\"favoritesLoadMore\" style=\"display:none;text-align:center;padding:16px 0;\">\n                <div style=\"width:24px;height:24px;border:2px solid rgba(255,255,255,0.1);border-top-color:rgba(255,255,255,0.5);border-radius:50%;margin:0 auto 8px;animation:favSpin 0.8s linear infinite;\"><\/div>\n                <div style=\"color:rgba(255,255,255,0.35);font-size:12px;\">Loading more...<\/div>\n            <\/div>\n\n            <!-- End of List Message -->\n            <div id=\"favoritesEnd\" style=\"display:none;text-align:center;padding:16px 0;\">\n                <div style=\"color:rgba(255,255,255,0.25);font-size:12px;\">No more favorites to load<\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n<\/template>\n\n        \n        <!-- Messages Modal -->\n        \n<!-- Messages Modal (lazy template \u2014 hydrated by MeetgleModalLoader; JS in public\/js\/modals\/messages.modal.js).\n     PHP still renders the premium vs non-premium cost indicator. -->\n<template id=\"messagesTpl\">\n<div id=\"messagesModal\" class=\"meetgle-modal\" style=\"display:none;\">\n    <div class=\"meetgle-modal-content messages-modal-content\" style=\"max-width:700px;background:rgba(20,20,30,0.95);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.08);border-radius:20px;\">\n\n        <!-- Conversations List View -->\n        <div id=\"messagesListView\">\n            <!-- Header -->\n            <div style=\"padding:20px 24px 0 24px;display:flex;align-items:center;justify-content:space-between;\">\n                <div style=\"display:flex;align-items:center;gap:10px;\">\n                    <h2 class=\"mg-mtitle\">Messages<\/h2>\n                    <span id=\"messagesUnreadBadgeHeader\" class=\"messages-header-badge\" style=\"display:none;\">\n                        0                    <\/span>\n                <\/div>\n                <button onclick=\"closeMessagesModal()\" class=\"mg-mclose\">&times;<\/button>\n            <\/div>\n\n            <!-- Conversations Container -->\n            <div id=\"conversationsContainer\" class=\"messages-container\" style=\"padding:16px 24px 24px 24px;\">\n                <!-- Loading state -->\n                <div id=\"conversationsLoading\" class=\"messages-loading\">\n                    <div class=\"messages-spinner\"><\/div>\n                    <p>Loading conversations...<\/p>\n                <\/div>\n\n                <!-- Empty state -->\n                <div id=\"conversationsEmpty\" class=\"messages-empty\" style=\"display:none;\">\n                    <div style=\"font-size:32px;margin-bottom:12px;opacity:0.5;\">\ud83d\udcac<\/div>\n                    <div style=\"color:rgba(255,255,255,0.4);font-size:14px;\">No conversations yet<\/div>\n                    <div style=\"color:rgba(255,255,255,0.25);font-size:12px;margin-top:4px;\">Start a conversation from someone&#039;s profile!<\/div>\n                <\/div>\n\n                <!-- Conversations list with section header -->\n                <div id=\"conversationsListWrapper\" style=\"display:none;\">\n                    <div style=\"display:flex;align-items:center;gap:8px;margin-bottom:10px;\">\n                        <div style=\"width:6px;height:6px;border-radius:50%;background:#10B981;\"><\/div>\n                        <span style=\"color:rgba(255,255,255,0.45);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:0.5px;\">Conversations<\/span>\n                    <\/div>\n                    <div style=\"background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:14px;overflow:hidden;\">\n                        <div id=\"conversationsList\" class=\"conversations-list\"><\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n\n        <!-- Chat View (hidden by default) -->\n        <div id=\"messagesChatView\" style=\"display:none;\">\n            <!-- Chat Header -->\n            <div class=\"messages-chat-header\">\n                <button class=\"messages-back-btn\" onclick=\"showConversationsList()\">\n                    \u2190\n                <\/button>\n                <div class=\"messages-chat-user\" onclick=\"openChatUserProfile()\">\n                    <img decoding=\"async\" id=\"chatUserAvatar\" src=\"\" alt=\"Avatar\" class=\"messages-chat-avatar\">\n                    <div class=\"messages-chat-user-info\">\n                        <span id=\"chatUserName\" class=\"messages-chat-username\"><\/span>\n                        <span id=\"chatUserVerification\" class=\"messages-chat-verification\"><\/span>\n                    <\/div>\n                <\/div>\n                <button onclick=\"closeMessagesModal()\" class=\"mg-mclose\" style=\"margin-left:auto;\">&times;<\/button>\n            <\/div>\n\n            <!-- Messages Container -->\n            <div id=\"chatMessagesContainer\" class=\"messages-chat-container\">\n                <!-- Loading state -->\n                <div id=\"chatMessagesLoading\" class=\"messages-loading\">\n                    <div class=\"messages-spinner\"><\/div>\n                    <p>Loading messages...<\/p>\n                <\/div>\n\n                <!-- Messages list -->\n                <div id=\"chatMessagesList\" class=\"chat-messages-list\"><\/div>\n            <\/div>\n\n            <!-- Message Input -->\n            <div class=\"messages-input-container\">\n                <div class=\"messages-cost-indicator\">\n                                            <span>\u26a1 50 sparks per message<\/span>\n                        <span class=\"messages-balance-display\">\u2022 Your balance: <span id=\"messagesBalanceAmount\">0<\/span> \u26a1<\/span>\n                                    <\/div>\n                <div class=\"messages-input-row\">\n                    <label class=\"messages-photo-btn\" title=\"Send photo\">\n                        <input type=\"file\" id=\"messagePhotoInput\" accept=\"image\/*\" style=\"display:none;\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n                            <rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"\/>\n                            <circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"\/>\n                            <polyline points=\"21 15 16 10 5 21\"\/>\n                        <\/svg>\n                    <\/label>\n                    <button id=\"messagesSparksBtn\" class=\"messages-sparks-btn\" onclick=\"openSparksFromMessages()\" title=\"Send Sparks\" type=\"button\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n                            <path fill-rule=\"evenodd\" d=\"M14.615 1.595a.75.75 0 0 1 .359.852L12.982 9.75h7.268a.75.75 0 0 1 .548 1.262l-10.5 11.25a.75.75 0 0 1-1.272-.71l1.992-7.302H3.75a.75.75 0 0 1-.548-1.262l10.5-11.25a.75.75 0 0 1 .913-.143Z\" clip-rule=\"evenodd\"\/>\n                        <\/svg>\n                    <\/button>\n                    <input type=\"text\" id=\"messageTextInput\" class=\"messages-text-input\" placeholder=\"Type a message...\" maxlength=\"1000\">\n                    <button id=\"messageSendBtn\" class=\"messages-send-btn\" onclick=\"sendMessage()\" title=\"Send message\">\n                        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important;display:block!important;\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"22\" y1=\"2\" x2=\"11\" y2=\"13\"\/><polygon points=\"22 2 15 22 11 13 2 9 22 2\"\/><\/svg>\n                    <\/button>\n                <\/div>\n            <\/div>\n        <\/div>\n\n    <\/div>\n<\/div>\n<\/template>\n\n\n        <!-- Creator Request Modals -->\n        \n        <!-- Streak Modal -->\n                \n        \n\n        <!-- Login & Register Modals (for non-logged-in users) -->\n                \n<!-- Login Modal -->\n<div id=\"meetgleLoginModal\" class=\"meetgle-modal mg-auth-modal\" style=\"display:none;\">\n    <div class=\"mg-auth-card\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Log In\">\n\n        <button type=\"button\" onclick=\"closeMeetgleLoginModal()\" class=\"mg-auth-close\" aria-label=\"Close\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>\n        <\/button>\n\n        <!-- Hero: logo + live count -->\n        <div class=\"mg-auth-hero\">\n                            <img decoding=\"async\" class=\"mg-auth-logo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2026\/06\/spiegellogo.webp\" alt=\"\" onerror=\"this.onerror=null;this.style.display='none';var t=this.nextElementSibling;if(t)t.style.display='block';\" \/>\n                <span class=\"mg-auth-logo-text\" style=\"display:none;\">Spiegelcam<\/span>\n                        <div class=\"mg-auth-count\" data-meetgle-auth-count>&mdash;<\/div>\n            <div class=\"mg-auth-count-sub\">are matching now!<\/div>\n        <\/div>\n\n        <!-- Form -->\n        <form class=\"mg-auth-form\" id=\"meetgleLoginForm\" autocomplete=\"on\" novalidate>\n            <div class=\"mg-auth-error\" id=\"meetgleLoginError\" role=\"alert\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg>\n                <span class=\"mg-auth-error-msg\"><\/span>\n            <\/div>\n\n            <div class=\"mg-auth-field\">\n                <label class=\"mg-auth-label\" for=\"meetgleLoginUser\">Username or E-mail<\/label>\n                <div class=\"mg-auth-input-wrap\">\n                    <input class=\"mg-auth-input\" id=\"meetgleLoginUser\" type=\"text\" name=\"username\" autocomplete=\"username\" autocapitalize=\"none\" autocorrect=\"off\" spellcheck=\"false\" required \/>\n                <\/div>\n            <\/div>\n\n            <div class=\"mg-auth-field\">\n                <label class=\"mg-auth-label\" for=\"meetgleLoginPass\">Password<\/label>\n                <div class=\"mg-auth-input-wrap\">\n                    <input class=\"mg-auth-input has-eye\" id=\"meetgleLoginPass\" type=\"password\" name=\"password\" autocomplete=\"current-password\" required \/>\n                    <button class=\"mg-auth-eye\" type=\"button\" data-meetgle-pass-toggle aria-label=\"Show password\">\n                        <svg class=\"mg-eye-open\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n                        <svg class=\"mg-eye-off\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:none;\"><path d=\"M9.9 4.24A9.12 9.12 0 0 1 12 4c6.5 0 10 7 10 7a13.2 13.2 0 0 1-1.67 2.68\"\/><path d=\"M6.61 6.61A13.5 13.5 0 0 0 2 12s3.5 7 10 7a9.1 9.1 0 0 0 5.39-1.61\"\/><line x1=\"2\" y1=\"2\" x2=\"22\" y2=\"22\"\/><\/svg>\n                    <\/button>\n                <\/div>\n            <\/div>\n\n            <button class=\"mg-auth-submit\" id=\"meetgleLoginSubmit\" type=\"submit\">\n                <span class=\"mg-auth-spinner\" aria-hidden=\"true\"><\/span>\n                <span class=\"mg-auth-submit-label\">Log in<\/span>\n            <\/button>\n\n            <a class=\"mg-auth-forgot\" href=\"\/password-reset\">Forgot your password?<\/a>\n        <\/form>\n\n        <!-- Footer: create account -->\n        <div class=\"mg-auth-foot\">\n            <span>Don&#039;t have an account?<\/span>\n            <a href=\"#\" onclick=\"if(window.openMeetgleRegisterModal){openMeetgleRegisterModal();}else{window.location.href='\/register\/';}return false;\">Create one<\/a>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<script>\n(function () {\n    var NONCE = 'e5ff0e5b2f';\n    var AJAX_URL = (typeof ANONCAM_DATA !== 'undefined' && ANONCAM_DATA.ajax_url) ? ANONCAM_DATA.ajax_url : 'https:\/\/www.spiegelcam.com\/wp-admin\/admin-ajax.php';\n\n    var modal   = document.getElementById('meetgleLoginModal');\n    if (!modal) return;\n    var form    = document.getElementById('meetgleLoginForm');\n    var errEl   = document.getElementById('meetgleLoginError');\n    var errMsg  = errEl ? errEl.querySelector('.mg-auth-error-msg') : null;\n    var submit  = document.getElementById('meetgleLoginSubmit');\n    var userInp = document.getElementById('meetgleLoginUser');\n\n    \/\/ \u2500\u2500 Open \/ close (delegates to the modal manager when present) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    window.openMeetgleLoginModal = function () {\n        if (typeof closeMeetgleRegisterModal === 'function') closeMeetgleRegisterModal();\n        syncCount();\n        if (window.MeetgleModalManager) {\n            MeetgleModalManager.open(modal, { escClose: true, backdropClose: true });\n        } else {\n            modal.style.display = 'flex';\n            document.body.style.overflow = 'hidden';\n        }\n        clearError();\n        setTimeout(function () { if (userInp) userInp.focus(); }, 60);\n    };\n\n    window.closeMeetgleLoginModal = function () {\n        if (window.MeetgleModalManager) {\n            MeetgleModalManager.close(modal);\n        } else {\n            modal.style.display = 'none';\n            document.body.style.overflow = '';\n        }\n    };\n\n    \/\/ \u2500\u2500 Live count: always mirror the on-page [data-stage-live-count] \u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    var countEl = modal.querySelector('[data-meetgle-auth-count]');\n    function syncCount() {\n        if (!countEl) return;\n        var src = document.querySelector('[data-stage-live-count]');\n        var val = src ? (src.textContent || '').trim() : '';\n        if (!val) {\n            var ln = document.getElementById('liveCountNumber');\n            val = ln ? (ln.textContent || '').trim() : '';\n        }\n        if (val && val !== '--') countEl.textContent = val;\n    }\n    var liveSrc = document.querySelector('[data-stage-live-count]');\n    if (liveSrc && window.MutationObserver) {\n        new MutationObserver(syncCount).observe(liveSrc, { childList: true, characterData: true, subtree: true });\n    }\n    syncCount();\n\n    \/\/ \u2500\u2500 Password visibility toggle \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    var eyeBtn = modal.querySelector('[data-meetgle-pass-toggle]');\n    if (eyeBtn) {\n        eyeBtn.addEventListener('click', function () {\n            var pass = document.getElementById('meetgleLoginPass');\n            var show = pass.type === 'password';\n            pass.type = show ? 'text' : 'password';\n            eyeBtn.querySelector('.mg-eye-open').style.display = show ? 'none' : 'block';\n            eyeBtn.querySelector('.mg-eye-off').style.display = show ? 'block' : 'none';\n        });\n    }\n\n    function clearError() { if (errEl) errEl.classList.remove('show'); }\n    function showError(msg) {\n        if (!errEl || !errMsg) return;\n        errMsg.textContent = msg || '';\n        errEl.classList.add('show');\n    }\n\n    \/\/ \u2500\u2500 Submit \u2192 AJAX login \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    if (form) {\n        form.addEventListener('submit', function (e) {\n            e.preventDefault();\n            clearError();\n\n            var username = (userInp.value || '').trim();\n            var password = document.getElementById('meetgleLoginPass').value || '';\n            if (!username || !password) {\n                showError(\"Please enter your username and password.\");\n                return;\n            }\n\n            submit.classList.add('is-loading');\n            submit.disabled = true;\n\n            var body = new URLSearchParams();\n            body.set('action', 'meetgle_login');\n            body.set('nonce', NONCE);\n            body.set('username', username);\n            body.set('password', password);\n\n            fetch(AJAX_URL, {\n                method: 'POST',\n                headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\n                credentials: 'same-origin',\n                body: body.toString()\n            })\n            .then(function (r) { return r.json(); })\n            .then(function (res) {\n                if (res && res.success) {\n                    submit.querySelector('.mg-auth-submit-label').textContent = '\u2713';\n                    var redirect = (res.data && res.data.redirect) ? res.data.redirect : '';\n                    window.location.href = redirect || window.location.href;\n                } else {\n                    submit.classList.remove('is-loading');\n                    submit.disabled = false;\n                    showError((res && res.data && res.data.message) ? res.data.message : \"Incorrect username or password. Please try again.\");\n                }\n            })\n            .catch(function () {\n                submit.classList.remove('is-loading');\n                submit.disabled = false;\n                showError(\"Connection error. Please check your connection and try again.\");\n            });\n        });\n    }\n\n    \/\/ Auto-open from URL params (kept from the old UM flow: ?login=open etc.)\n    var params = new URLSearchParams(window.location.search);\n    if (params.get('login') === 'open' || params.has('um_form_id')) {\n        window.openMeetgleLoginModal();\n        if (window.history.replaceState) {\n            window.history.replaceState({}, '', window.location.pathname);\n        }\n    }\n})();\n<\/script>\n        \n<!-- Register Modal -->\n<div id=\"meetgleRegisterModal\" class=\"meetgle-modal mg-auth-modal\" style=\"display:none;\">\n    <div class=\"mg-auth-card\" role=\"dialog\" aria-modal=\"true\" aria-label=\"Create Account\">\n\n        <button type=\"button\" onclick=\"closeMeetgleRegisterModal()\" class=\"mg-auth-close\" aria-label=\"Close\">\n            <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\"><line x1=\"18\" y1=\"6\" x2=\"6\" y2=\"18\"\/><line x1=\"6\" y1=\"6\" x2=\"18\" y2=\"18\"\/><\/svg>\n        <\/button>\n\n        <!-- Hero: logo + live count -->\n        <div class=\"mg-auth-hero\">\n                            <img decoding=\"async\" class=\"mg-auth-logo\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2026\/06\/spiegellogo.webp\" alt=\"\" onerror=\"this.onerror=null;this.style.display='none';var t=this.nextElementSibling;if(t)t.style.display='block';\" \/>\n                <span class=\"mg-auth-logo-text\" style=\"display:none;\">Spiegelcam<\/span>\n                        <div class=\"mg-auth-count\" data-meetgle-auth-count>&mdash;<\/div>\n            <div class=\"mg-auth-count-sub\">are matching now!<\/div>\n        <\/div>\n\n        <!-- Form -->\n        <form class=\"mg-auth-form\" id=\"meetgleRegisterForm\" autocomplete=\"on\" novalidate>\n            <div class=\"mg-auth-error\" id=\"meetgleRegisterError\" role=\"alert\">\n                <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"16\" x2=\"12.01\" y2=\"16\"\/><\/svg>\n                <span class=\"mg-auth-error-msg\"><\/span>\n            <\/div>\n\n            <div class=\"mg-auth-field\">\n                <label class=\"mg-auth-label\" for=\"meetgleRegUser\">Username<\/label>\n                <div class=\"mg-auth-input-wrap\">\n                    <input class=\"mg-auth-input\" id=\"meetgleRegUser\" type=\"text\" name=\"username\" autocomplete=\"username\" autocapitalize=\"none\" autocorrect=\"off\" spellcheck=\"false\" required \/>\n                <\/div>\n            <\/div>\n\n            <div class=\"mg-auth-field\">\n                <label class=\"mg-auth-label\" for=\"meetgleRegEmail\">E-mail Address<\/label>\n                <div class=\"mg-auth-input-wrap\">\n                    <input class=\"mg-auth-input\" id=\"meetgleRegEmail\" type=\"email\" name=\"email\" autocomplete=\"email\" autocapitalize=\"none\" autocorrect=\"off\" spellcheck=\"false\" required \/>\n                <\/div>\n            <\/div>\n\n            <div class=\"mg-auth-field\">\n                <label class=\"mg-auth-label\" for=\"meetgleRegPass\">Password<\/label>\n                <div class=\"mg-auth-input-wrap\">\n                    <input class=\"mg-auth-input has-eye\" id=\"meetgleRegPass\" type=\"password\" name=\"password\" autocomplete=\"new-password\" required \/>\n                    <button class=\"mg-auth-eye\" type=\"button\" data-meetgle-pass-toggle aria-label=\"Show password\">\n                        <svg class=\"mg-eye-open\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7-10-7-10-7Z\"\/><circle cx=\"12\" cy=\"12\" r=\"3\"\/><\/svg>\n                        <svg class=\"mg-eye-off\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:none;\"><path d=\"M9.9 4.24A9.12 9.12 0 0 1 12 4c6.5 0 10 7 10 7a13.2 13.2 0 0 1-1.67 2.68\"\/><path d=\"M6.61 6.61A13.5 13.5 0 0 0 2 12s3.5 7 10 7a9.1 9.1 0 0 0 5.39-1.61\"\/><line x1=\"2\" y1=\"2\" x2=\"22\" y2=\"22\"\/><\/svg>\n                    <\/button>\n                <\/div>\n            <\/div>\n\n            <div class=\"mg-auth-field\">\n                <label class=\"mg-auth-label\" for=\"meetgleRegPass2\">Confirm Password<\/label>\n                <div class=\"mg-auth-input-wrap\">\n                    <input class=\"mg-auth-input\" id=\"meetgleRegPass2\" type=\"password\" name=\"password2\" autocomplete=\"new-password\" required \/>\n                <\/div>\n            <\/div>\n\n            <label class=\"mg-auth-check\">\n                <input type=\"checkbox\" id=\"meetgleRegAge\" name=\"age\" value=\"1\" \/>\n                <span class=\"mg-auth-check-box\" aria-hidden=\"true\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"3\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"20 6 9 17 4 12\"\/><\/svg><\/span>\n                <span class=\"mg-auth-check-text\">I confirm that I am at least 18 years old and agree to the Terms of Service, Privacy Policy and Rules.<\/span>\n            <\/label>\n\n            <button class=\"mg-auth-submit\" id=\"meetgleRegisterSubmit\" type=\"submit\">\n                <span class=\"mg-auth-spinner\" aria-hidden=\"true\"><\/span>\n                <span class=\"mg-auth-submit-label\">Register<\/span>\n            <\/button>\n        <\/form>\n\n        <!-- Success state -->\n        <div class=\"mg-auth-success\" id=\"meetgleRegisterSuccess\" style=\"display:none;\">\n            <div class=\"mg-auth-success-ic\"><svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 6 12 13 2 6\"\/><rect x=\"2\" y=\"4\" width=\"20\" height=\"16\" rx=\"3\"\/><\/svg><\/div>\n            <div class=\"mg-auth-success-title\">Check your email<\/div>\n            <div class=\"mg-auth-success-body\">We&#039;ve sent a confirmation link to your inbox \u2014 please check your spam folder too. Click it to activate your account, then log in.<\/div>\n            <button type=\"button\" class=\"mg-auth-submit\" onclick=\"openMeetgleLoginModal();\"><span class=\"mg-auth-submit-label\">Log in<\/span><\/button>\n        <\/div>\n\n        <!-- Footer: login link -->\n        <div class=\"mg-auth-foot\" id=\"meetgleRegisterFoot\">\n            <span>Already have an account?<\/span>\n            <a href=\"#\" onclick=\"openMeetgleLoginModal();return false;\">Log in<\/a>\n        <\/div>\n    <\/div>\n<\/div>\n\n\n<script>\n(function () {\n    var NONCE = 'aa8a975871';\n    var AJAX_URL = (typeof ANONCAM_DATA !== 'undefined' && ANONCAM_DATA.ajax_url) ? ANONCAM_DATA.ajax_url : 'https:\/\/www.spiegelcam.com\/wp-admin\/admin-ajax.php';\n    var ALLOWED_DOMAINS = [\"googlemail.com\",\"gmail.com\",\"yahoo.com\",\"yahoo.co.uk\",\"hotmail.com\",\"hotmail.co.uk\",\"live.com\",\"live.co.uk\",\"msn.com\",\"icloud.com\",\"me.com\",\"mac.com\",\"aol.com\",\"zoho.com\",\"fastmail.com\",\"mweb.co.za\",\"telkomsa.net\",\"vodamail.co.za\",\"webmail.co.za\",\"lantic.net\",\"iafrica.com\",\"ziggo.nl\",\"kpnmail.nl\",\"hetnet.nl\",\"planet.nl\",\"btinternet.com\",\"virginmedia.com\",\"sky.com\",\"orange.fr\",\"wanadoo.fr\",\"t-online.de\",\"web.de\",\"bluewin.ch\",\"outlook.com\",\"outlook.co.uk\",\"office365.com\",\"hotmail.fr\",\"hotmail.de\",\"live.nl\",\"icloud.co.uk\",\"gmx.com\",\"gmx.de\",\"gmx.net\",\"mail.com\",\"laposte.net\",\"free.fr\",\"sfr.fr\"];\n    var BLOCK_DOTTED = true;\n\n    var modal   = document.getElementById('meetgleRegisterModal');\n    if (!modal) return;\n    var form    = document.getElementById('meetgleRegisterForm');\n    var success = document.getElementById('meetgleRegisterSuccess');\n    var foot    = document.getElementById('meetgleRegisterFoot');\n    var errEl   = document.getElementById('meetgleRegisterError');\n    var errMsg  = errEl ? errEl.querySelector('.mg-auth-error-msg') : null;\n    var submit  = document.getElementById('meetgleRegisterSubmit');\n    var userInp = document.getElementById('meetgleRegUser');\n\n    window.openMeetgleRegisterModal = function () {\n        if (typeof closeMeetgleLoginModal === 'function') closeMeetgleLoginModal();\n        syncCount();\n        \/\/ reset to the form view each open\n        if (success) success.style.display = 'none';\n        if (form) form.style.display = '';\n        if (foot) foot.style.display = '';\n        clearError();\n        if (window.MeetgleModalManager) {\n            MeetgleModalManager.open(modal, { escClose: true, backdropClose: true });\n        } else {\n            modal.style.display = 'flex';\n            document.body.style.overflow = 'hidden';\n        }\n        setTimeout(function () { if (userInp) userInp.focus(); }, 60);\n    };\n\n    window.closeMeetgleRegisterModal = function () {\n        if (window.MeetgleModalManager) {\n            MeetgleModalManager.close(modal);\n        } else {\n            modal.style.display = 'none';\n            document.body.style.overflow = '';\n        }\n    };\n\n    \/\/ \u2500\u2500 Live count: mirror the on-page [data-stage-live-count] \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    var countEl = modal.querySelector('[data-meetgle-auth-count]');\n    function syncCount() {\n        if (!countEl) return;\n        var src = document.querySelector('[data-stage-live-count]');\n        var val = src ? (src.textContent || '').trim() : '';\n        if (!val) { var ln = document.getElementById('liveCountNumber'); val = ln ? (ln.textContent || '').trim() : ''; }\n        if (val && val !== '--') countEl.textContent = val;\n    }\n    var liveSrc = document.querySelector('[data-stage-live-count]');\n    if (liveSrc && window.MutationObserver) {\n        new MutationObserver(syncCount).observe(liveSrc, { childList: true, characterData: true, subtree: true });\n    }\n    syncCount();\n\n    \/\/ \u2500\u2500 Password visibility toggle \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    var eyeBtn = modal.querySelector('[data-meetgle-pass-toggle]');\n    if (eyeBtn) {\n        eyeBtn.addEventListener('click', function () {\n            var pass = document.getElementById('meetgleRegPass');\n            var show = pass.type === 'password';\n            pass.type = show ? 'text' : 'password';\n            eyeBtn.querySelector('.mg-eye-open').style.display = show ? 'none' : 'block';\n            eyeBtn.querySelector('.mg-eye-off').style.display = show ? 'block' : 'none';\n        });\n    }\n\n    function clearError() { if (errEl) errEl.classList.remove('show'); }\n    function showError(msg) { if (errEl && errMsg) { errMsg.textContent = msg || ''; errEl.classList.add('show'); } }\n\n    \/\/ \u2500\u2500 Inline email-rule check (mirrors the server) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    function emailRuleError(email) {\n        email = (email || '').trim().toLowerCase();\n        var at = email.indexOf('@');\n        if (at === -1) return '';\n        var local = email.slice(0, at), domain = email.slice(at + 1);\n        if (BLOCK_DOTTED && (local.indexOf('.') !== -1 || local.indexOf('+') !== -1)) {\n            return \"Please use a standard email address (no dots or + symbols allowed in the username part).\";\n        }\n        if (ALLOWED_DOMAINS.length > 0 && ALLOWED_DOMAINS.indexOf(domain) === -1) {\n            return \"This email provider is not allowed. Please use a major email provider like Gmail, Yahoo, or Hotmail.\";\n        }\n        return '';\n    }\n\n    \/\/ \u2500\u2500 Submit \u2192 AJAX register \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\n    if (form) {\n        form.addEventListener('submit', function (e) {\n            e.preventDefault();\n            clearError();\n\n            var username = (userInp.value || '').trim();\n            var email    = (document.getElementById('meetgleRegEmail').value || '').trim();\n            var password = document.getElementById('meetgleRegPass').value || '';\n            var password2= document.getElementById('meetgleRegPass2').value || '';\n            var age      = document.getElementById('meetgleRegAge').checked;\n\n            if (!username || !email || !password || !password2) { showError(\"Please fill in all fields.\"); return; }\n            if (!age) { showError(\"You must confirm that you are at least 18 years old.\"); return; }\n            if (password.length < 8) { showError(\"Password must be at least 8 characters.\"); return; }\n            if (password !== password2) { showError(\"Passwords do not match.\"); return; }\n            var emErr = emailRuleError(email);\n            if (emErr) { showError(emErr); return; }\n\n            submit.classList.add('is-loading');\n            submit.disabled = true;\n\n            var body = new URLSearchParams();\n            body.set('action', 'meetgle_register');\n            body.set('nonce', NONCE);\n            body.set('username', username);\n            body.set('email', email);\n            body.set('password', password);\n            body.set('password2', password2);\n            body.set('age', age ? '1' : '');\n\n            fetch(AJAX_URL, {\n                method: 'POST',\n                headers: { 'Content-Type': 'application\/x-www-form-urlencoded' },\n                credentials: 'same-origin',\n                body: body.toString()\n            })\n            .then(function (r) { return r.json(); })\n            .then(function (res) {\n                submit.classList.remove('is-loading');\n                submit.disabled = false;\n                if (res && res.success) {\n                    \/\/ Swap to the \"check your email\" success view.\n                    if (form) form.style.display = 'none';\n                    if (foot) foot.style.display = 'none';\n                    if (success) success.style.display = 'block';\n                } else {\n                    showError((res && res.data && res.data.message) ? res.data.message : \"Please fill in all fields.\");\n                }\n            })\n            .catch(function () {\n                submit.classList.remove('is-loading');\n                submit.disabled = false;\n                showError(\"Connection error. Please check your connection and try again.\");\n            });\n        });\n    }\n})();\n<\/script>\n        \n        <!-- Premium Modals (only for premium users) -->\n                \n        <\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-2a6721dd elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"2a6721dd\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-6a7b50eb\" data-id=\"6a7b50eb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9902a3f elementor-widget elementor-widget-spacer\" data-id=\"9902a3f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7ee90ac4 elementor-widget elementor-widget-heading\" data-id=\"7ee90ac4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">Random Video Chat<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-28f9b6dd elementor-widget elementor-widget-spacer\" data-id=\"28f9b6dd\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6894b40 elementor-widget elementor-widget-text-editor\" data-id=\"6894b40\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Are you seeking for the perfect service that provides random video chat and allows you spend your time and cam with strangers? You don&#8217;t have to be concerned anymore. Hello, and welcome to the random video chat app brought to you by Spiegelcam!<\/p><p>Spiegelcam is a social networking website that allows users to communicate in a relaxed setting with thousands of individuals from all over the globe. People conversing on Spiegelcam are assisted by our community reporting system in their efforts to ensure that they are adhering to our terms of service. Feel free to express yourself and meet other intriguing individuals who are in the same boat as you right away.<\/p><p>Our streamlined chat platform makes video chatting simple, without compromising on the quality of the services we provide. You won&#8217;t feel like a novice for even a second. Simply click the giant &#8216;start&#8217; button, accept our terms of service and privacy policy, and then authorize access to your camera. After that, you will be instantaneously linked to a new and intriguing individual. You can also filter relationships based on their geographical area or the language they speak.<\/p><p>Here at SpiegelCam.com, we strive to bring the best anonymous video chat from random girls to your webcam. The SpiegelCam.com chat app allows you to decide who you want to random chat with by just swiping next. The cam filter can be used to make sure you meet the best random webcam video chats online. SpiegelCam can be used anywhere, anytime, with anyone. Sitting at your PC, with your laptop, on your <a href=\"https:\/\/apple.com\/iphone\/\">iPhone<\/a> or Android, while traveling to the office or college, or even lazying on your coach watching movies with your SpiegelCam webcam partner. Once you start webcam chatting at SpiegelCam, you&#8217;ll be hooked on the fun and the random nature of live chatting. The app can be used to meet up, to learn new languages, to sing to each other, chat about life, love, politics, football and even the Olympics Games.<\/p><p>As a random video chat alternative to <a href=\"https:\/\/www.spiegelcam.com\/omegle\/\">Omegle<\/a>, Spiegelcam offers gender filters which offer superior search settings, allowing you to match up with your perfect partner. Joining the premium membership has all girls registering their valid identity, which is confirmed before being activated. With the gender filter settings in place, you are easily connected with a registered premium partner, quickly and effortlessly.\u00a0 There&#8217;s so much more but the only way to experience it is to.<\/p><p>Welcome to the world of Spiegelcam, an innovative video chat platform designed to revolutionize how we communicate and connect with each other. This platform is more than just a video chat service &#8211; it&#8217;s a community that breaks down geographical barriers and cultivates meaningful interactions. But Spiegelcam is not just about connecting individuals; it&#8217;s about making those connections rewarding, enriching, and secure.<\/p><p>Meanwhile, our &#8220;Cam with Strangers&#8221; feature lets you leap into the world of spontaneous connections. Experience the thrill of meeting someone new with every click, all while maintaining your privacy and security.<\/p><p style=\"text-align: center;\"><strong>Give it a try and see just how much you&#8217;ll enjoy it.<\/strong><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-14cb38e7 elementor-widget elementor-widget-spacer\" data-id=\"14cb38e7\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-39a5841d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"39a5841d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-3569093e\" data-id=\"3569093e\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-2256c51b elementor-widget elementor-widget-spacer\" data-id=\"2256c51b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6ea4e204 elementor-widget elementor-widget-heading\" data-id=\"6ea4e204\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">Cam with Strangers<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-25305ceb elementor-widget elementor-widget-text-editor\" data-id=\"25305ceb\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Born from the shared vision of a dedicated team of tech enthusiasts, Spiegelcam aims to redefine the way we interact online. Our mission is to provide a platform that not only connects people from all corners of the globe but also encourages meaningful conversations, fostering a sense of community and understanding.<\/p><p>We believe that everyone has a story to share and our &#8220;Cam with Strangers&#8221; feature provides the perfect stage. Enjoy unscripted, unedited conversations with individuals from diverse backgrounds, expanding your perspectives and horizons.<\/p><p>Spiegel cam consistently has thousands of people logged in at any one moment. If you want to talk to a new person right away, all you have to do is click the &#8216;next&#8217; button, and you will be put in contact with an additional stranger. It&#8217;s so easy to meet dozens or even hundreds of new people, and who knows, maybe you&#8217;ll even discover that one special person.<\/p><p>Spiegelcam is the perfect Cam With Strangers platform, and we&#8217;ll explain why in this post. Gender, nationality, and private chat are just a few of the numerous options available on spiegelcam.com. When it comes to random video chat, you have the option of Cam With Strangers, where you can video chat with a wide variety of men and young ladies.<\/p><p>Spiegelcam.com is a great way to meet new people, share your musical talents, talk about your favorite Netflix shows, and perhaps find love. You may use the Cam With Strangers feature on spiegelcam.com for free.<\/p><p>In addition, for those who want to retain a social life while practicing social distance, Spiegelcam is a great option. spiegelcam.com uses the most up-to-date random video chat technology to ensure anonymity and safety while chatting with new people. From a pool of thousands of individuals, the algorithm selects a random stranger and establishes a one-on-one chat room where you can meet new people and build new friends It&#8217;s easy, enjoyable, and risk-free!<\/p><p>Designed using the best and most innovative <a href=\"http:\/\/www.netflix.com\">Netflix<\/a>-like video-streaming technology. Meet and chat to verified girls for free. Join as a premium member to enjoy all the added benefits.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-6a917bd0\" data-id=\"6a917bd0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-e9ee49c elementor-widget elementor-widget-spacer\" data-id=\"e9ee49c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1cb837cc e-transform elementor-widget elementor-widget-image\" data-id=\"1cb837cc\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_transform_skewX_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_transform_skewY_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_transform_skewX_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_skewX_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_skewY_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_skewY_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"874\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-1.jpg\" class=\"attachment-full size-full wp-image-6774\" alt=\"spiegelcam random video chat\" srcset=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-1.jpg 1024w, https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-1-300x256.jpg 300w, https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-1-768x656.jpg 768w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-28da1357 elementor-widget elementor-widget-spacer\" data-id=\"28da1357\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-68cfe100 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"68cfe100\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-40803a8\" data-id=\"40803a8\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-497a19c elementor-widget elementor-widget-spacer\" data-id=\"497a19c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7efd1137 e-transform elementor-widget elementor-widget-image\" data-id=\"7efd1137\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;_transform_skewX_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_transform_skewY_effect&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:0,&quot;sizes&quot;:[]},&quot;_transform_skewX_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_skewX_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_skewY_effect_tablet&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]},&quot;_transform_skewY_effect_mobile&quot;:{&quot;unit&quot;:&quot;deg&quot;,&quot;size&quot;:&quot;&quot;,&quot;sizes&quot;:[]}}\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"800\" height=\"534\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/web-cam-chat.jpg\" class=\"attachment-large size-large wp-image-6775\" alt=\"spiegelcam web cam chat\" srcset=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/web-cam-chat.jpg 1024w, https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/web-cam-chat-300x200.jpg 300w, https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/web-cam-chat-768x512.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ade86ac elementor-widget elementor-widget-spacer\" data-id=\"ade86ac\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-66 elementor-top-column elementor-element elementor-element-63196703\" data-id=\"63196703\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-45777591 elementor-widget elementor-widget-spacer\" data-id=\"45777591\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-660a4233 elementor-widget elementor-widget-heading\" data-id=\"660a4233\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-large\">Roulette Chat Alternative<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-49555cda elementor-widget elementor-widget-text-editor\" data-id=\"49555cda\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Spiegelcam&#8217;s user-friendly interface is designed to offer a seamless and intuitive experience. We believe in simplicity and efficiency, ensuring that users of all ages and technical abilities can easily navigate our platform and engage in stimulating conversations.<\/p><p>In the realm of &#8220;Cam with Strangers,&#8221; you&#8217;ll find the same commitment to simplicity and ease of use. With a single click, you&#8217;ll be chatting with a new acquaintance, giving you the chance to explore new cultures, ideas, and viewpoints from the comfort of your home.<\/p><p>Spiegelcam is one of a kind in many different ways. We are of the opinion that utilizing one&#8217;s camera to communicate with individuals located in different parts of the globe ought to be as simple and straightforward as possible. Because of this, we have developed a method via which you can engage in immediate video chat with individuals located anywhere in the globe or, if you choose, in a particular area. Using our software for random video chat is the best method to have a conversation with random individuals and to quickly get to know interesting new people.<\/p><p>At Spiegelcam, our goal is to simplify the process of getting to know new individuals as much as we can. Our platform for random video chat employs the fastest servers available, which enables connections to be made in a flash and allows for broadcasts of the highest possible quality. You can activate sound, communicate with a microphone, or use our built-in text chat to write while still watching the other person&#8217;s camera. Connecting with someone takes less than a second, and you have the option to do one of those things.<\/p><p>Turn on your webcam and a random girl will appear right away. If you don&#8217;t like your match, just press \u2018Next\u2019. If your prefer your may set your desired filter to meet random people specific to that Chatroulette filter. Simple. Quick. Easy. It takes only a moment to connect with another person on the SpiegelCam website. It takes only a few seconds to connect with your next complimentary encounter. Our systems are designed for film, and with so many users speaking, your next webcam connection will be up in seconds.<\/p><p>Chat free with verified girls To get the best benefits, be a premium member. Spiegelcam Premium webcam chat has a long history and is constantly being improved to become the best webcam chatting platform. Financial support is required for this to happen. We may use pop-up ads and advertising on the website to make money. This would be disrespectful to our users. Spiegelcam Premium was created, which allows users to enjoy all the site&#8217;s features and capabilities at a minimal cost. You can now communicate with strangers online by purchasing our premium membership.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5932c3c0 elementor-widget elementor-widget-spacer\" data-id=\"5932c3c0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-53976af2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"53976af2\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2f10a54a\" data-id=\"2f10a54a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-73c25f9a elementor-widget elementor-widget-spacer\" data-id=\"73c25f9a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1158806c elementor-widget elementor-widget-heading\" data-id=\"1158806c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-large\">Spiegelcam Features<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-66f148ec elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"66f148ec\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-70b34c30\" data-id=\"70b34c30\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-75485ca9 elementor-widget elementor-widget-heading\" data-id=\"75485ca9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h4 class=\"elementor-heading-title elementor-size-medium\">Web Cam Chat<\/h4>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4a16f1ba elementor-widget elementor-widget-text-editor\" data-id=\"4a16f1ba\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Spiegelcam comes packed with an array of features designed to enhance your video chat experience. From high-definition video calls and screen sharing capabilities to exciting filters and effects, we have something for everyone.<\/p><p>When using &#8220;Cam with Strangers,&#8221; these features become tools for memorable encounters. Screen-sharing allows for collaborative discussions, while filters add a touch of fun to your conversations. Step into a world of uncharted connections and exciting dialogues.<\/p><p>No personal information is required to build a profile for live video chatting online. You are safe from anyone who chats with your random video chat. Another most secure aspect of the website is that it uses encryption technology.<\/p><p>Spiegelcam.com encrypts footage and speech over the web using the most up-to-date security camera footage technology. The image compression is identical to that of popular streaming sites like YouTube, resulting in a quick and smooth link. Your private details are only exchanged with your companion if you want to do so. No private information is requested by Spiegelcam.<\/p><p>Chat anonymously to keep your privacy intact and control what information you share with other chatters. Spiegel cam, in contrast to the plethora of other Cam with Strangers sites, has excellent video quality. The video quality of an online chat is really important; if it is poor or if it is often interrupted, you will not be able to view your chat partner in an effective manner.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-6e8a101\" data-id=\"6e8a101\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-371a971b elementor-widget elementor-widget-image\" data-id=\"371a971b\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-anonymous-chat-2-300x300.jpg\" class=\"attachment-medium size-medium wp-image-6778\" alt=\"spiegelcam home anonymous chat 2\" srcset=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-anonymous-chat-2-300x300.jpg 300w, https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-anonymous-chat-2.jpg 1024w, https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-anonymous-chat-2-150x150.jpg 150w, https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-anonymous-chat-2-768x768.jpg 768w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-1c15a6a8 elementor-widget elementor-widget-spacer\" data-id=\"1c15a6a8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-3a7a2c6d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"3a7a2c6d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-34e430c0\" data-id=\"34e430c0\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-49e5b767 elementor-widget elementor-widget-image\" data-id=\"49e5b767\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"534\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-chatroulette.jpg\" class=\"attachment-large size-large wp-image-6779\" alt=\"spiegelcam home chatroulette\" srcset=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-chatroulette.jpg 1024w, https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-chatroulette-300x200.jpg 300w, https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-chatroulette-768x512.jpg 768w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-11afc95a\" data-id=\"11afc95a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3c089b0a elementor-widget elementor-widget-heading\" data-id=\"3c089b0a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-medium\">Omegle Alternative<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-68d84164 elementor-widget elementor-widget-text-editor\" data-id=\"68d84164\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Whether you&#8217;re connecting with family and friends or hosting a business meeting, Spiegelcam provides a platform that suits your needs. Our platform is flexible, adaptable, and built for any scenario, offering a tailored experience for both personal and professional use.<\/p><p>And for those times when you&#8217;re craving spontaneous interaction, &#8220;Cam with Strangers&#8221; offers an exciting break from the routine. It&#8217;s a wonderful way to meet new people, exchange ideas, or just engage in a friendly chat.<\/p><p>Click and Cam! That&#8217;s it. No sign ups and complicated tweaks to get going. Just have your webcam ready for fun video online cam chats. Easily switch to a new person with a single swipe. There are so many amazing search filters available on our website. You can find a person of your choice on our website.<\/p><p>You can search a person by their educational background, gender, or other personal information. The website will generate a suitable result for you. You can enjoy communicating with the woman at your convenience. Spiegelcam makes it easy to match. You can filter based on your preferences and connect within seconds. Cam with Strangers is another option for those looking to find love. This is a fantastic chance to meet new people and broaden your social circle, so take advantage of it!<\/p><p>Users can now access all of Spiegel Cam&#8217;s features and functionality for a reasonable monthly fee thanks to the launch of Spiegel Cam Premium. By upgrading to a premium membership, you&#8217;ll be able to talk to people you&#8217;ve never met before on the internet.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-2cf4a716 elementor-widget elementor-widget-spacer\" data-id=\"2cf4a716\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6ae33afa elementor-widget elementor-widget-heading\" data-id=\"6ae33afa\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Meet and Chat with Strangers<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4e793c6a elementor-widget elementor-widget-text-editor\" data-id=\"4e793c6a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Spiegelcam distinguishes itself from other video platforms with its commitment to quality, security, and user-centric design. Our platform is continually evolving, incorporating user feedback and the latest technological advancements to offer an unparalleled video chat experience.<\/p><p>The &#8220;Cam with Strangers&#8221; feature takes this experience to another level, offering an engaging and diverse social interaction landscape that is rarely found on other platforms. It&#8217;s a unique blend of fun, unpredictability, and safe social exploration.<\/p><p>We at Spiegelcam prioritize your privacy and safety. Our advanced security measures, including end-to-end encryption and stringent data privacy policies, ensure that your interactions remain secure and your personal information protected.<\/p><p>Even when using &#8220;Cam with Strangers,&#8221; our commitment to security remains unwavering. The feature is designed with several safety measures to ensure a secure environment where you can interact freely without fear of compromising your personal details.<\/p><p>Connecting to your next free session is super fast. Our servers are built with video in mind, and with so many people chatting, your next cam session happens almost instantly. Spiegelcam gives you the pleasure of enjoying a person\u2019s company without sharing any personal details. Our girls will never try to ask for any private information from you.<\/p><p>It is quite simple to enjoy the company of a beautiful girl whenever you want. To create a profile for online live video chatting, no private information is necessary. Anybody chatting with your random video session will not come to know about your personal information. You will have the same experience regardless of whether you are chatting on your mobile phone, tablet or computer. It has a negative impact on the quality of your cam chat experience. Because of this, Spiegel cam provides free video streaming in a high quality format.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-56e9d180 elementor-button-info elementor-align-center elementor-widget elementor-widget-button\" data-id=\"56e9d180\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-md\" href=\"#coomeet_container\" id=\"chat\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fas fa-video\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">spiegelcam<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-70c82d5c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"70c82d5c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-5b4a109\" data-id=\"5b4a109\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-33067515 elementor-widget elementor-widget-heading\" data-id=\"33067515\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-xl\">5-Star Roulette Chat Experience<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4e42862 elementor-star-rating--align-center elementor--star-style-star_fontawesome elementor-widget elementor-widget-star-rating\" data-id=\"4e42862\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"star-rating.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-star-rating__wrapper\">\n\t\t\t\t\t\t<div class=\"elementor-star-rating\" itemtype=\"http:\/\/schema.org\/Rating\" itemscope=\"\" itemprop=\"reviewRating\">\n\t\t\t\t<i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i><i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i><i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i><i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i><i class=\"elementor-star-full\" aria-hidden=\"true\">&#xE934;<\/i>\t\t\t\t<span itemprop=\"ratingValue\" class=\"elementor-screen-only\">Rated 5 out of 5<\/span>\n\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-2f578d0c elementor-widget elementor-widget-text-editor\" data-id=\"2f578d0c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Step into the global community of Spiegelcam to experience the vibrant diversity of its users. Each interaction on our platform is an opportunity to learn, grow, and build connections across cultural and geographical boundaries. In the &#8220;Cam with Strangers&#8221; community, you&#8217;ll meet people from all walks of life, each with unique experiences and perspectives. Embrace the beauty of human diversity and forge connections that transcend conventional boundaries.<\/p><p>Spiegelcam brings a new dimension to corporate communication with its versatile features. From seamless video conferencing and secure file sharing to high-quality screen sharing and live annotations, we are transforming how businesses communicate.<\/p><p>The spontaneity of &#8220;Cam with Strangers&#8221; can also be a refreshing way to build professional connections. Random encounters could lead to fruitful partnerships, innovative collaborations, or simply, the exchange of enriching ideas.<\/p><p>Matching on SpiegelCam is easy. Filter based on your ideal match settings and connect in a few seconds. There are many exciting and beautiful live chat videos added to your camera. You can choose any specific effect that makes you look handsome. When you turn on your camera, a random chick will appear. Simply hit &#8216;Next&#8217; if you don&#8217;t like your match. You may set your chosen filter to meet random individuals who are particular to that SpiegelCam filter if you like. Simple, quick, and simple. Spiegel cam gives you the ability to have video chats with complete strangers, who quickly become your friends since you are able to converse with them, share your opinions, and generally have a good time.<\/p><p>We offer the best user experience on mobile and get the best ranking on mobile searches. As soon as you turn on your camera, a hot stranger will appear. Simply hit &#8216;Next&#8217; if you don&#8217;t enjoy your match. Set your chosen filter to contact random individuals who are unique to that SpiegelCam filter if you want. Simple, quick, and straightforward are three words that come to mind while thinking about this project. SpiegelCam has gender filters that provide improved search settings, allowing you to find your ideal match. We are assured that you will find the most excellent match on our website.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-925965c elementor-widget elementor-widget-spacer\" data-id=\"925965c\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4f72bb3 elementor-widget elementor-widget-heading\" data-id=\"4f72bb3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-large\">Why use Spiegelcam?<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0db67ab elementor-widget elementor-widget-text-editor\" data-id=\"0db67ab\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>One of our most important advantages is that we do not need you to sign up for an account before you can participate in random chat. It just takes the click of a button to start a conversation with a complete stranger on the internet. The quickness with which our cameras load is just another facet that sets us apart from the competition.<\/p><p>You may have to wait a considerable amount of time for each camera to load on some chat services. Our webcams will start streaming to you as soon as you click on the link. You can chat to random individuals from all around the globe by using the country selection, which is yet another great feature of this app. You can learn more about these features and the many more that are available by exploring the different app icons. We are always introducing new ones.<\/p><p>Our team at SpiegelCam.com are always trying to provide the best anonymous video chat experience on the market. Thousands of members are live video chatting everyday. Spiegel Cam is one of the most fantastic dating websites online. Whenever you are tired or feel bored you can enjoy the company of another person. Click, record, and share! That is all there is to it. There are no complex setups or sign-ups required to get started. Simply prepare your camera for entertaining video live cam conversations. With a simple swipe, you may easily change to a new individual.<\/p><p>You can travel with your smartphone, laptop, or computer while on the road. Or you can just sit on your coach and enjoy movies with your Spiegel Cam partner. Spiegelcam.com can be used to create live chat webcams. Live chat is a great way to meet new people and have fun. Spiegel Cam is extremely easy to use. All you have to do is press the power button. We will then connect you to anonymous people immediately. You can also filter your search by selecting a random selection, such as if you would like to have a conversation about a particular language or a place-based conversation.<\/p><h4 style=\"text-align: center;\"><span style=\"color: #e46e99;\">Tips and Tricks for Maximizing Spiegelcam Experience<\/span><\/h4><p>Discover the best practices and useful tips to maximize your Spiegelcam experience. From enhancing video quality to leveraging various platform features, we&#8217;re here to help you make the most out of every interaction.<\/p><p>Cam with Strangers has its own host of tips and tricks to make your interactions more enjoyable and rewarding. From maintaining respectful dialogues to taking full advantage of the platform&#8217;s features, there&#8217;s always more to learn and explore.<\/p><h4 style=\"text-align: center;\"><span style=\"color: #e46e99;\">Customer Support and User Satisfaction in Spiegelcam<\/span><\/h4><p>At Spiegelcam, our users are our priority. We strive to provide robust customer support and are always ready to help you with any issues or queries. Your satisfaction is our success, and we continuously work to enhance your experience on our platform.<\/p><p>Our commitment to user satisfaction extends to our Cam with Strangers feature. Your feedback drives its continuous refinement, ensuring a fun, safe, and rewarding experience every time you strike up a new conversation.<\/p><h4 style=\"text-align: center;\"><span style=\"color: #e46e99;\">Future Developments and Upgrades in Spiegelcam<\/span><\/h4><p>We&#8217;re always looking ahead, planning future developments and upgrades to keep Spiegelcam at the forefront of video chat technology. Our vision is to continue offering a platform that evolves with its users, meeting your communication needs now and in the future.<\/p><p>The evolution of Cam with Strangers also remains a priority. We are dedicated to refining this feature, adding more safety measures, and enhancing its usability based on your feedback and the latest advancements in tech.<\/p><h4 style=\"text-align: center;\"><span style=\"color: #e46e99;\">Why Spiegelcam Stands Out in the Video Chat Landscape<\/span><\/h4><p>In a world filled with video chat platforms, Spiegelcam stands out with its commitment to user satisfaction, robust security measures, and innovative features. We strive to offer an enriching platform that serves as a catalyst for meaningful connections.<\/p><p>Spiegelcam&#8217;s Cam with Strangers embodies this mission, offering a stage for spontaneous, insightful, and diverse interactions. It&#8217;s more than just a feature; it&#8217;s an invitation to embrace the unexpected and discover the joy of unscripted conversations. Join us on this journey, and let&#8217;s redefine the landscape of online communication together.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1342c52 elementor-widget elementor-widget-heading\" data-id=\"1342c52\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h3 class=\"elementor-heading-title elementor-size-large\">Spiegelcam Reviews<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-6218398d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"6218398d\" data-element_type=\"section\" data-e-type=\"section\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-10caa771\" data-id=\"10caa771\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7296a64e elementor-testimonial--skin-default elementor-testimonial--layout-image_inline elementor-testimonial--align-center elementor-arrows-yes elementor-pagination-type-bullets elementor-widget elementor-widget-testimonial-carousel\" data-id=\"7296a64e\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;show_arrows&quot;:&quot;yes&quot;,&quot;pagination&quot;:&quot;bullets&quot;,&quot;speed&quot;:500,&quot;autoplay&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;loop&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;space_between&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]}}\" data-widget_type=\"testimonial-carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper\">\n\t\t\t\t\t<div class=\"elementor-main-swiper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Slides\">\n\t\t\t\t<div class=\"swiper-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial__content\">\n\t\t\t\t\t<div class=\"elementor-testimonial__text\">\n\t\t\t\t\t\tIt's great how I can chat and cam with people and get to know people virtually\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-testimonial__footer\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial__image\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/marie.jpg\" alt=\"Marie D.\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<cite class=\"elementor-testimonial__cite\"><span class=\"elementor-testimonial__name\">Marie D.<\/span><span class=\"elementor-testimonial__title\">Influencer<\/span><\/cite>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-204f7382\" data-id=\"204f7382\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-555da0e4 elementor-testimonial--skin-default elementor-testimonial--layout-image_inline elementor-testimonial--align-center elementor-arrows-yes elementor-pagination-type-bullets elementor-widget elementor-widget-testimonial-carousel\" data-id=\"555da0e4\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;show_arrows&quot;:&quot;yes&quot;,&quot;pagination&quot;:&quot;bullets&quot;,&quot;speed&quot;:500,&quot;autoplay&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;loop&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;space_between&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]}}\" data-widget_type=\"testimonial-carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper\">\n\t\t\t\t\t<div class=\"elementor-main-swiper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Slides\">\n\t\t\t\t<div class=\"swiper-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial__content\">\n\t\t\t\t\t<div class=\"elementor-testimonial__text\">\n\t\t\t\t\t\tSuch a brilliant app. I've spent hours meeting new friends and without it I would never have met most them.\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-testimonial__footer\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial__image\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/antonio.jpg\" alt=\"Antonio M.\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<cite class=\"elementor-testimonial__cite\"><span class=\"elementor-testimonial__name\">Antonio M.<\/span><span class=\"elementor-testimonial__title\">Accountant<\/span><\/cite>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-33 elementor-top-column elementor-element elementor-element-5e358a8a\" data-id=\"5e358a8a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-263ea99 elementor-testimonial--skin-default elementor-testimonial--layout-image_inline elementor-testimonial--align-center elementor-arrows-yes elementor-pagination-type-bullets elementor-widget elementor-widget-testimonial-carousel\" data-id=\"263ea99\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;show_arrows&quot;:&quot;yes&quot;,&quot;pagination&quot;:&quot;bullets&quot;,&quot;speed&quot;:500,&quot;autoplay&quot;:&quot;yes&quot;,&quot;autoplay_speed&quot;:5000,&quot;loop&quot;:&quot;yes&quot;,&quot;pause_on_hover&quot;:&quot;yes&quot;,&quot;pause_on_interaction&quot;:&quot;yes&quot;,&quot;space_between&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_tablet&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]},&quot;space_between_mobile&quot;:{&quot;unit&quot;:&quot;px&quot;,&quot;size&quot;:10,&quot;sizes&quot;:[]}}\" data-widget_type=\"testimonial-carousel.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-swiper\">\n\t\t\t\t\t<div class=\"elementor-main-swiper swiper\" role=\"region\" aria-roledescription=\"carousel\" aria-label=\"Slides\">\n\t\t\t\t<div class=\"swiper-wrapper\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"swiper-slide\" role=\"group\" aria-roledescription=\"slide\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial\">\n\t\t\t\t\t\t\t<div class=\"elementor-testimonial__content\">\n\t\t\t\t\t<div class=\"elementor-testimonial__text\">\n\t\t\t\t\t\tI've met many girls from many different countries. All have been so polite and beautiful. \t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t<div class=\"elementor-testimonial__footer\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-testimonial__image\">\n\t\t\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/mark.jpg\" alt=\"Mark T.\">\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<cite class=\"elementor-testimonial__cite\"><span class=\"elementor-testimonial__name\">Mark T.<\/span><span class=\"elementor-testimonial__title\">Engineer<\/span><\/cite>\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Random Video Chat Are you seeking for the perfect service that provides random video chat and allows you spend your time and cam with strangers? You don&#8217;t have to be concerned anymore. Hello, and welcome to the random video chat app brought to you by Spiegelcam! Spiegelcam is a social networking website that allows users [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"class_list":["post-6734","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v27.9) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Spiegelcam - Random Video Chat | Talk to Strangers Web Cam Chat<\/title>\n<meta name=\"description\" content=\"Here at Spiegelcam, we strive to bring the best random video chat alternative from the beautiful girls to your webcam.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.spiegelcam.com\/fr\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Home\" \/>\n<meta property=\"og:description\" content=\"Here at Spiegelcam, we strive to bring the best random video chat alternative from the beautiful girls to your webcam.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.spiegelcam.com\/fr\/\" \/>\n<meta property=\"og:site_name\" content=\"Spiegelcam\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-24T08:57:48+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-1.jpg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@SPIEGELCAM\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/\",\"url\":\"https:\\\/\\\/www.spiegelcam.com\\\/\",\"name\":\"Spiegelcam - Random Video Chat | Talk to Strangers Web Cam Chat\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.spiegelcam.com\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/spiegelcam-home-1.jpg\",\"datePublished\":\"2022-10-11T20:20:59+00:00\",\"dateModified\":\"2026-06-24T08:57:48+00:00\",\"description\":\"Here at Spiegelcam, we strive to bring the best random video chat alternative from the beautiful girls to your webcam.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.spiegelcam.com\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.spiegelcam.com\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/spiegelcam-home-1.jpg\",\"contentUrl\":\"https:\\\/\\\/www.spiegelcam.com\\\/wp-content\\\/uploads\\\/2022\\\/10\\\/spiegelcam-home-1.jpg\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.spiegelcam.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Home\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#website\",\"url\":\"https:\\\/\\\/www.spiegelcam.com\\\/\",\"name\":\"Spiegelcam - Random Video Chat\",\"description\":\"The Best Anonymous Video Chat\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.spiegelcam.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#organization\",\"name\":\"Spiegelcam.com\",\"url\":\"https:\\\/\\\/www.spiegelcam.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.spiegelcam.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/logo2.png\",\"contentUrl\":\"https:\\\/\\\/www.spiegelcam.com\\\/wp-content\\\/uploads\\\/2021\\\/08\\\/logo2.png\",\"width\":1063,\"height\":233,\"caption\":\"Spiegelcam.com\"},\"image\":{\"@id\":\"https:\\\/\\\/www.spiegelcam.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/x.com\\\/SPIEGELCAM\"]}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Spiegelcam - Chat vid\u00e9o al\u00e9atoire | Parlez \u00e0 des inconnus par webcam","description":"Ici, chez Spiegelcam, nous nous effor\u00e7ons d&#039;apporter la meilleure alternative de chat vid\u00e9o al\u00e9atoire des belles filles sur votre webcam.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.spiegelcam.com\/fr\/","og_locale":"fr_FR","og_type":"article","og_title":"Home","og_description":"Here at Spiegelcam, we strive to bring the best random video chat alternative from the beautiful girls to your webcam.","og_url":"https:\/\/www.spiegelcam.com\/fr\/","og_site_name":"Spiegelcam","article_modified_time":"2026-06-24T08:57:48+00:00","og_image":[{"url":"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-1.jpg","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_site":"@SPIEGELCAM","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.spiegelcam.com\/","url":"https:\/\/www.spiegelcam.com\/","name":"Spiegelcam - Chat vid\u00e9o al\u00e9atoire | Parlez \u00e0 des inconnus par webcam","isPartOf":{"@id":"https:\/\/www.spiegelcam.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.spiegelcam.com\/#primaryimage"},"image":{"@id":"https:\/\/www.spiegelcam.com\/#primaryimage"},"thumbnailUrl":"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-1.jpg","datePublished":"2022-10-11T20:20:59+00:00","dateModified":"2026-06-24T08:57:48+00:00","description":"Ici, chez Spiegelcam, nous nous effor\u00e7ons d&#039;apporter la meilleure alternative de chat vid\u00e9o al\u00e9atoire des belles filles sur votre webcam.","breadcrumb":{"@id":"https:\/\/www.spiegelcam.com\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.spiegelcam.com\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.spiegelcam.com\/#primaryimage","url":"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-1.jpg","contentUrl":"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2022\/10\/spiegelcam-home-1.jpg"},{"@type":"BreadcrumbList","@id":"https:\/\/www.spiegelcam.com\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.spiegelcam.com\/"},{"@type":"ListItem","position":2,"name":"Home"}]},{"@type":"WebSite","@id":"https:\/\/www.spiegelcam.com\/#website","url":"https:\/\/www.spiegelcam.com\/","name":"Spiegelcam - Chat vid\u00e9o al\u00e9atoire","description":"Le meilleur chat vid\u00e9o anonyme","publisher":{"@id":"https:\/\/www.spiegelcam.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.spiegelcam.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.spiegelcam.com\/#organization","name":"Spiegelcam.com","url":"https:\/\/www.spiegelcam.com\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.spiegelcam.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2021\/08\/logo2.png","contentUrl":"https:\/\/www.spiegelcam.com\/wp-content\/uploads\/2021\/08\/logo2.png","width":1063,"height":233,"caption":"Spiegelcam.com"},"image":{"@id":"https:\/\/www.spiegelcam.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/x.com\/SPIEGELCAM"]}]}},"_links":{"self":[{"href":"https:\/\/www.spiegelcam.com\/fr\/wp-json\/wp\/v2\/pages\/6734","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.spiegelcam.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.spiegelcam.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.spiegelcam.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.spiegelcam.com\/fr\/wp-json\/wp\/v2\/comments?post=6734"}],"version-history":[{"count":100,"href":"https:\/\/www.spiegelcam.com\/fr\/wp-json\/wp\/v2\/pages\/6734\/revisions"}],"predecessor-version":[{"id":7510,"href":"https:\/\/www.spiegelcam.com\/fr\/wp-json\/wp\/v2\/pages\/6734\/revisions\/7510"}],"wp:attachment":[{"href":"https:\/\/www.spiegelcam.com\/fr\/wp-json\/wp\/v2\/media?parent=6734"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}