{"id":293,"date":"2026-04-24T21:13:43","date_gmt":"2026-04-24T21:13:43","guid":{"rendered":"https:\/\/gamingwithdaopa.ellatha.com\/music\/?p=293"},"modified":"2026-04-28T20:32:45","modified_gmt":"2026-04-28T20:32:45","slug":"mamas-eternal-flame-lyrics","status":"publish","type":"post","link":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/","title":{"rendered":"Mama&#8217;s Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026"},"content":{"rendered":"\r\n<article id=\"custom-article\" style=\"line-height: 1.6; color: #e6e6e6; background: #0a0a0f; padding: 0; border-radius: 0; max-width: 100%; margin: 0; font-family: Arial, system-ui, sans-serif;\">\r\n<!-- ==================== JSON-LD SCHEMA ==================== -->\r\n<script type=\"application\/ld+json\">\r\n{\r\n  \"@context\": \"https:\/\/schema.org\",\r\n  \"@type\": \"MusicRecording\",\r\n  \"name\": \"Mama's Eternal Flame\",\r\n  \"byArtist\": {\r\n    \"@type\": \"MusicGroup\",\r\n    \"name\": \"DaOpa\"\r\n  },\r\n  \"duration\": \"PT5M04S\",\r\n  \"inLanguage\": \"en-US\",\r\n  \"isPartOf\": {\r\n    \"@type\": \"MusicAlbum\",\r\n    \"name\": \"Heartland Country Pop\"\r\n  },\r\n  \"lyrics\": {\r\n    \"@type\": \"CreativeWork\",\r\n    \"text\": \"Mama's Eternal Flame - Official Lyrics by DaOpa\\n\\nShe wakes before the rooster calls the dawn\\nBrews coffee strong and sings her old church song\\nHer hands that mended fences, hearts, and dreams\\nGuide us through the valleys, or so it seems\\n\\nWhen thunder rolls and storms come crashing down\\nHer voice cuts through like sunlight on the ground\\n\\nMama's love, like an eternal flame\\nBurns steady through the joy, the hurt, the rain\\nWarms the coldest nights, lights the darkest way\\nMama's love, it never fades away\\n\\nShe taught me how to stand when winds blow wild\\nWhispered prayers that carried me for miles\\nHer apron strings were ties that set me free\\nYet always drew me back where I belong to be\\n\\nThrough scraped-up knees and broken-hearted tears\\nShe held me close and chased away the fears\\n\\nMama's love, like an eternal flame\\nBurns steady through the joy, the hurt, the rain\\nWarms the coldest nights, lights the darkest way\\nMama's love, it never fades away\\n\\nYears may gray her hair and slow her step\\nBut that flame inside just grows and never rests\\nNo distance, time, or trial could dim its glow\\nMama's love, the one thing I will always know\\n\\nMama's love, like an eternal flame\\nBurns steady through the joy, the hurt, the rain\\nWarms the coldest nights, lights the darkest way\\nMama's love, it never fades away\\nThrough every mile I roam, her light remains\\nMama's love forever calls my name\"\r\n  },\r\n  \"url\": \"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/\"\r\n}\r\n<\/script>\r\n<style>\r\n    :root {\r\n        --red: #ef4444;\r\n        --gold: #fbbf24;\r\n        --blue: #3b82f6;\r\n    }\r\n    #custom-article {\r\n        font-family: Arial, system-ui, -apple-system, sans-serif;\r\n        color: #f1f5f9;\r\n        background: #0a0a0f;\r\n        max-width: 1200px;\r\n        margin: 0 auto;\r\n        padding: 0;\r\n        line-height: 1.6;\r\n    }\r\n    .heartland-container {\r\n        max-width: 1200px;\r\n        margin: 0 auto;\r\n    }\r\n    .fa-heart.heart-favorited {\r\n        animation: heartBeat 0.8s infinite;\r\n    }\r\n    @keyframes heartBeat {\r\n        0%, 100% { transform: scale(1); }\r\n        50% { transform: scale(1.35); }\r\n    }\r\n    .hero {\r\n        position: relative;\r\n        height: 55vh;\r\n        min-height: 460px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        overflow: hidden;\r\n        background-size: cover;\r\n        background-position: center;\r\n    }\r\n    .hero-overlay {\r\n        position: absolute;\r\n        inset: 0;\r\n        background: linear-gradient(to bottom, rgba(0,0,0,0.65), rgba(0,0,0,0.35), rgba(0,0,0,0.75));\r\n        z-index: 2;\r\n    }\r\n    .hero-content {\r\n        position: relative;\r\n        z-index: 10;\r\n        text-align: center;\r\n        padding: 0 20px;\r\n        max-width: 900px;\r\n    }\r\n    .patriot-badge {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 8px;\r\n        background: rgba(255,255,255,0.1);\r\n        border: 1px solid rgba(255,255,255,0.2);\r\n        padding: 6px 16px;\r\n        border-radius: 9999px;\r\n        font-size: 11px;\r\n        letter-spacing: 2px;\r\n        margin-bottom: 24px;\r\n    }\r\n    .gradient-text {\r\n        background: linear-gradient(90deg, #ef4444, #fbbf24, #3b82f6);\r\n        -webkit-background-clip: text;\r\n        -webkit-text-fill-color: transparent;\r\n        background-size: 200% 100%;\r\n        animation: patriot-shift 4s linear infinite;\r\n    }\r\n    @keyframes patriot-shift {\r\n        0% { background-position: 0% 50%; }\r\n        100% { background-position: 200% 50%; }\r\n    }\r\n    .subtitle {\r\n        font-size: 26px;\r\n        color: #94a3b8;\r\n        margin-bottom: 32px;\r\n    }\r\n    .hero-buttons {\r\n        display: flex;\r\n        gap: 16px;\r\n        justify-content: center;\r\n        flex-wrap: wrap;\r\n    }\r\n    .btn-primary {\r\n        background: transparent;\r\n        color: #fff;\r\n        border: 2px solid #fbbf24;\r\n        padding: 16px 36px;\r\n        border-radius: 9999px;\r\n        font-weight: 700;\r\n        font-size: 17px;\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 10px;\r\n        text-decoration: none;\r\n        transition: all 0.2s;\r\n        box-shadow: 0 10px 30px rgba(0,0,0,0.3);\r\n    }\r\n    .btn-primary:hover {\r\n        background: #fbbf24;\r\n        color: #000;\r\n        transform: translateY(-2px);\r\n    }\r\n    .btn-secondary {\r\n        background: transparent;\r\n        color: #fff;\r\n        border: 1px solid rgba(255,255,255,0.3);\r\n        padding: 16px 28px;\r\n        border-radius: 9999px;\r\n        font-weight: 600;\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 10px;\r\n        transition: all 0.2s;\r\n    }\r\n    .btn-secondary:hover {\r\n        background: rgba(255,255,255,0.1);\r\n    }\r\n    .smart-player {\r\n        position: sticky;\r\n        top: 0;\r\n        z-index: 100;\r\n        background: rgba(18, 18, 24, 0.92);\r\n        backdrop-filter: blur(16px);\r\n        border-bottom: 1px solid rgba(255,255,255,0.1);\r\n        padding: 14px 24px;\r\n        box-shadow: 0 8px 30px rgba(0,0,0,0.4);\r\n    }\r\n    .player-inner {\r\n        max-width: 1200px;\r\n        margin: 0 auto;\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 20px;\r\n        flex-wrap: wrap;\r\n    }\r\n    .song-info {\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 14px;\r\n        min-width: 220px;\r\n    }\r\n    .album-art {\r\n        width: 46px;\r\n        height: 46px;\r\n        background: linear-gradient(135deg, #ef4444, #fbbf24);\r\n        border-radius: 12px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: white;\r\n        font-size: 22px;\r\n    }\r\n    .waveform {\r\n        display: flex;\r\n        align-items: flex-end;\r\n        height: 42px;\r\n        gap: 3px;\r\n        margin-left: 12px;\r\n    }\r\n    .waveform-bar {\r\n        width: 4px;\r\n        background: linear-gradient(to top, #ef4444, #fbbf24);\r\n        border-radius: 9999px;\r\n        animation: waveform-dance 1.1s infinite ease-in-out;\r\n        box-shadow: 0 0 6px rgba(239, 68, 68, 0.5);\r\n    }\r\n    .waveform-bar:nth-child(2) { animation-delay: 120ms; }\r\n    .waveform-bar:nth-child(3) { animation-delay: 280ms; }\r\n    .waveform-bar:nth-child(4) { animation-delay: 90ms; }\r\n    .waveform-bar:nth-child(5) { animation-delay: 410ms; }\r\n    @keyframes waveform-dance {\r\n        0%, 100% { height: 22%; }\r\n        50% { height: 100%; }\r\n    }\r\n    .progress-container {\r\n        flex: 1;\r\n        min-width: 220px;\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n    }\r\n    .time {\r\n        font-family: monospace;\r\n        font-size: 12px;\r\n        color: #64748b;\r\n        width: 42px;\r\n        text-align: center;\r\n    }\r\n    .progress-bar {\r\n        flex: 1;\r\n        height: 5px;\r\n        background: rgba(255,255,255,0.15);\r\n        border-radius: 9999px;\r\n        position: relative;\r\n        cursor: pointer;\r\n    }\r\n    .progress-fill {\r\n        height: 100%;\r\n        background: linear-gradient(to right, #ef4444, #fbbf24);\r\n        border-radius: 9999px;\r\n        transition: width 0.1s linear;\r\n    }\r\n    .lyrics-wrapper {\r\n        background: #121218;\r\n        border-radius: 20px;\r\n        padding: 32px;\r\n        margin: 24px 0;\r\n        box-shadow: 0 25px 50px -12px rgb(0 0 0 \/ 0.4);\r\n        border: 1px solid rgba(255,255,255,0.06);\r\n    }\r\n    .lyric-line {\r\n        display: flex;\r\n        align-items: flex-start;\r\n        gap: 16px;\r\n        padding: 14px 20px;\r\n        border-radius: 16px;\r\n        margin-bottom: 6px;\r\n        transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);\r\n        cursor: pointer;\r\n    }\r\n    .lyric-line:hover {\r\n        background: rgba(239, 68, 68, 0.07);\r\n        transform: translateX(6px);\r\n    }\r\n    .lyric-line.active {\r\n        background: linear-gradient(90deg, rgba(239,68,68,0.18), rgba(251,191,36,0.08));\r\n        box-shadow: 0 0 0 1px rgba(239, 68, 68, 0.35);\r\n        transform: scale(1.015);\r\n    }\r\n    .lyric-line.chorus {\r\n        background: rgba(239, 68, 68, 0.13);\r\n        border-left: 6px solid #ef4444;\r\n        font-weight: 700;\r\n        color: #fecaca;\r\n    }\r\n    .lyric-number {\r\n        font-family: monospace;\r\n        font-size: 12px;\r\n        color: #64748b;\r\n        width: 26px;\r\n        flex-shrink: 0;\r\n        padding-top: 3px;\r\n    }\r\n    .lyric-text {\r\n        flex: 1;\r\n        font-size: 1.05rem;\r\n        line-height: 1.5;\r\n    }\r\n    .lyric-note-preview {\r\n        margin-top: 10px;\r\n        padding: 10px 14px;\r\n        background: rgba(16, 185, 129, 0.12);\r\n        border-left: 4px solid #10b981;\r\n        border-radius: 8px;\r\n        font-size: 14.5px;\r\n        line-height: 1.45;\r\n        color: #a7f3d0;\r\n        white-space: pre-wrap;\r\n    }\r\n    .lyric-actions {\r\n        display: flex;\r\n        gap: 4px;\r\n        opacity: 0;\r\n        transition: opacity 0.2s;\r\n    }\r\n    .lyric-line:hover .lyric-actions {\r\n        opacity: 1;\r\n    }\r\n    .action-btn {\r\n        width: 32px;\r\n        height: 32px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        color: #64748b;\r\n        border-radius: 9999px;\r\n        transition: all 0.2s;\r\n    }\r\n    .action-btn:hover {\r\n        color: #ef4444;\r\n        background: rgba(239,68,68,0.1);\r\n    }\r\n    .annotation-view {\r\n        background: #1a1a20;\r\n        border-radius: 16px;\r\n        padding: 20px;\r\n        margin-bottom: 16px;\r\n    }\r\n    .annotation-note {\r\n        margin-top: 12px;\r\n        padding: 12px 16px;\r\n        background: rgba(16, 185, 129, 0.12);\r\n        border-left: 4px solid #10b981;\r\n        border-radius: 8px;\r\n        font-size: 15px;\r\n        color: #a7f3d0;\r\n        white-space: pre-wrap;\r\n    }\r\n    .annotation-input {\r\n        width: 100%;\r\n        background: rgba(255,255,255,0.08);\r\n        border: 1px solid rgba(255,255,255,0.15);\r\n        border-radius: 12px;\r\n        padding: 12px 16px;\r\n        color: #e2e8f0;\r\n        font-size: 15px;\r\n        resize: vertical;\r\n        min-height: 68px;\r\n        margin-top: 8px;\r\n    }\r\n    .annotation-saved {\r\n        font-size: 13px;\r\n        color: #10b981;\r\n        margin-top: 4px;\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 6px;\r\n    }\r\n    .tabs {\r\n        display: flex;\r\n        border-bottom: 1px solid rgba(255,255,255,0.1);\r\n        margin-bottom: 24px;\r\n        gap: 8px;\r\n    }\r\n    .tab-btn {\r\n        padding: 14px 26px;\r\n        font-weight: 600;\r\n        color: #94a3b8;\r\n        background: transparent;\r\n        border: none;\r\n        cursor: pointer;\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 8px;\r\n        font-size: 15px;\r\n        transition: all 0.2s;\r\n    }\r\n    .tab-btn.active {\r\n        color: #ef4444;\r\n        border-bottom: 3px solid #ef4444;\r\n        margin-bottom: -1px;\r\n    }\r\n    .karaoke-modal {\r\n        position: fixed;\r\n        inset: 0;\r\n        background: rgba(0,0,0,0.96);\r\n        z-index: 200;\r\n        display: none;\r\n        align-items: center;\r\n        justify-content: center;\r\n        padding: 20px;\r\n    }\r\n    .karaoke-content {\r\n        max-width: 820px;\r\n        width: 100%;\r\n        text-align: center;\r\n        position: relative;\r\n    }\r\n    .karaoke-text {\r\n        font-size: 42px;\r\n        line-height: 1.15;\r\n        font-weight: 800;\r\n        color: white;\r\n        min-height: 110px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        padding: 0 30px;\r\n        text-shadow: 0 4px 30px rgba(0,0,0,0.6);\r\n    }\r\n    .karaoke-annotation {\r\n        margin-top: 24px;\r\n        font-size: 18px;\r\n        color: #a7f3d0;\r\n        background: rgba(16, 185, 129, 0.15);\r\n        padding: 16px 24px;\r\n        border-radius: 16px;\r\n        border-left: 5px solid #10b981;\r\n        max-width: 620px;\r\n        margin-left: auto;\r\n        margin-right: auto;\r\n    }\r\n    .toast {\r\n        position: fixed;\r\n        bottom: 24px;\r\n        right: 24px;\r\n        background: #1e2937;\r\n        color: white;\r\n        padding: 14px 22px;\r\n        border-radius: 16px;\r\n        box-shadow: 0 10px 40px rgba(0,0,0,0.4);\r\n        display: flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        z-index: 300;\r\n        max-width: 320px;\r\n        font-size: 14px;\r\n        border: 1px solid rgba(255,255,255,0.1);\r\n    }\r\n<\/style>\r\n<!-- INTRO PARAGRAPH -->\r\n<div style=\"margin-bottom: 48px; padding: 0 20px; max-width: 820px; margin-left: auto; margin-right: auto;\">\r\n    <p style=\"font-size: 1.15rem; line-height: 1.7; color: #cbd5e1; text-align:center;\"><br>\r\n        <strong>Mama&#8217;s Eternal Flame<\/strong> is the heartfelt ballad by DaOpa from the Heartland Country Pop album (2026). This powerful track honors the unwavering love and strength of a mother who lights the way through every season of life.\r\n        Read the full lyrics below, sync them with the official music video, enter karaoke mode, or add your own personal notes.\r\n    <\/p>\r\n<\/div>\r\n<!-- HERO -->\r\n<div class=\"hero\" id=\"hero-section\">\r\n    <div class=\"hero-overlay\"><\/div>\r\n    <div class=\"hero-content\">\r\n        <div class=\"patriot-badge\">\r\n            <i class=\"fa fa-flag\" style=\"color:#ef4444;\"><\/i>\r\n            <span style=\"letter-spacing:2.5px; font-size:10px;\">HEARTLAND COUNTRY POP<\/span>\r\n        <\/div>\r\n        <h1 id=\"hero-title\" style=\"font-size:72px; font-weight:900; line-height:0.92; letter-spacing:-3.5px; margin-bottom:8px;\"><\/h1>\r\n        <p id=\"hero-subtitle\" class=\"subtitle\"><\/p>\r\n        <div class=\"hero-buttons\">\r\n            <button onclick=\"enterKaraokeMode()\" class=\"btn-primary\" aria-label=\"Enter karaoke mode\">\r\n                <i class=\"fa fa-play\" style=\"margin-right:6px;\"><\/i> ENTER KARAOKE MODE\r\n            <\/button>\r\n            <button onclick=\"startPlayback()\" class=\"btn-secondary\" aria-label=\"Start playback\">\r\n                <i class=\"fa fa-headset\"><\/i> <span>Play Along<\/span>\r\n            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<!-- STICKY SMART PLAYER -->\r\n<div class=\"smart-player\">\r\n    <div class=\"player-inner\">\r\n        <div class=\"song-info\">\r\n            <div class=\"album-art\"><i class=\"fa fa-music\"><\/i><\/div>\r\n            <div>\r\n                <div id=\"player-song-title\" style=\"font-weight:700; font-size:17px;\"><\/div>\r\n                <div id=\"player-artist\" style=\"font-size:12px; color:#64748b;\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div style=\"display:flex; align-items:center; gap:12px; flex:1; min-width:280px;\">\r\n            <button onclick=\"togglePlayback()\" id=\"play-btn\"\r\n                    style=\"width:48px;height:48px;background:transparent;border:2px solid #f1f5f9;color:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px rgba(0,0,0,0.3);\"\r\n                    aria-label=\"Play or pause song\">\r\n                <i class=\"fa fa-play\" id=\"play-icon\" style=\"font-size:20px;margin-left:3px;\"><\/i>\r\n            <\/button>\r\n            <button onclick=\"restartPlayback()\" style=\"width:36px;height:36px;background:transparent;border:none;color:#64748b;cursor:pointer;\" aria-label=\"Restart song\">\r\n                <i class=\"fa fa-repeat\"><\/i>\r\n            <\/button>\r\n            <div class=\"progress-container\">\r\n                <div class=\"time\" id=\"current-time\" aria-live=\"polite\">0:00<\/div>\r\n                <div class=\"progress-bar\" id=\"progress-bar\" onclick=\"seekFromClick(event)\" role=\"slider\" aria-label=\"Seek through song\" aria-valuemin=\"0\" aria-valuemax=\"100\" aria-valuenow=\"0\">\r\n                    <div class=\"progress-fill\" id=\"progress-fill\" style=\"width:0%\"><\/div>\r\n                    <input type=\"range\" id=\"progress-slider\" min=\"0\" max=\"100\" step=\"0.1\" value=\"0\" style=\"position:absolute;top:-6px;left:0;width:100%;height:18px;opacity:0;cursor:pointer;\" oninput=\"seekTo(this.value)\" aria-label=\"Song progress slider\">\r\n                <\/div>\r\n                <div class=\"time\" id=\"total-time\">3:45<\/div>\r\n            <\/div>\r\n            <div class=\"waveform\" id=\"waveform\">\r\n                <div class=\"waveform-bar\" style=\"height:28%\"><\/div>\r\n                <div class=\"waveform-bar\" style=\"height:65%\"><\/div>\r\n                <div class=\"waveform-bar\" style=\"height:92%\"><\/div>\r\n                <div class=\"waveform-bar\" style=\"height:48%\"><\/div>\r\n                <div class=\"waveform-bar\" style=\"height:78%\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <div style=\"display:flex;align-items:center;gap:12px;\">\r\n            <div style=\"display:flex;background:rgba(255,255,255,0.08);border-radius:9999px;padding:2px;font-size:12px;\">\r\n                <button onclick=\"setPlaybackSpeed(0.75)\" id=\"speed-075\" style=\"padding:5px 11px;border-radius:9999px;border:none;background:transparent;color:#94a3b8;cursor:pointer;\">0.75\u00d7<\/button>\r\n                <button onclick=\"setPlaybackSpeed(1)\" id=\"speed-1\" style=\"padding:5px 11px;border-radius:9999px;border:none;background:rgba(255,255,255,0.2);color:white;font-weight:700;cursor:pointer;\">1\u00d7<\/button>\r\n                <button onclick=\"setPlaybackSpeed(1.25)\" id=\"speed-125\" style=\"padding:5px 11px;border-radius:9999px;border:none;background:transparent;color:#94a3b8;cursor:pointer;\">1.25\u00d7<\/button>\r\n            <\/div>\r\n            <button onclick=\"toggleKaraoke()\" style=\"padding:8px 14px;border:1px solid rgba(255,255,255,0.2);background:transparent;color:white;border-radius:9999px;font-size:13px;display:flex;align-items:center;gap:6px;\" aria-label=\"Toggle karaoke mode\">\r\n                <i class=\"fa fa-microphone\"><\/i> <span style=\"font-size:13px;\">Karaoke<\/span>\r\n            <\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<div class=\"heartland-container\" style=\"padding:0 20px 80px;\">\r\n    <!-- TABS -->\r\n    <div class=\"tabs\" role=\"tablist\">\r\n        <button onclick=\"switchTab(0)\" class=\"tab-btn active\" id=\"tab-0\" role=\"tab\" aria-selected=\"true\"><i class=\"fa fa-align-left\"><\/i> FULL LYRICS<\/button>\r\n        <button onclick=\"switchTab(1)\" class=\"tab-btn\" id=\"tab-1\" role=\"tab\"><i class=\"fa fa-microphone\"><\/i> KARAOKE<\/button>\r\n        <button onclick=\"switchTab(2)\" class=\"tab-btn\" id=\"tab-2\" role=\"tab\"><i class=\"fa fa-book\"><\/i> ANNOTATED<\/button>\r\n    <\/div>\r\n    <!-- LYRICS WRAPPER -->\r\n    <div class=\"lyrics-wrapper\">\r\n        <div id=\"lyrics-full\"><\/div>\r\n        <div id=\"lyrics-karaoke\" style=\"display:none;\"><\/div>\r\n        <div id=\"lyrics-annotated\" style=\"display:none;\"><\/div>\r\n    <\/div>\r\n    <!-- YOUTUBE PLAYER -->\r\n    <div style=\"max-width:1200px; margin:40px auto 20px; padding:0 20px;\">\r\n        <div style=\"font-size:13px; letter-spacing:1px; color:#64748b; margin-bottom:12px; text-align:center;\">OFFICIAL MUSIC PLAYER<\/div>\r\n        <div id=\"yt-player\" style=\"width:100%; aspect-ratio:16\/9; background:#000; border-radius:12px; overflow:hidden;\"><\/div>\r\n    <\/div>\r\n    <!-- LINKS -->\r\n    <div style=\"text-align:center; margin-top:56px;\">\r\n        <a id=\"youtube-link\" href=\"#\" target=\"_blank\" style=\"display:inline-flex;align-items:center;gap:10px;background:#ef4444;color:white;padding:14px 32px;border-radius:9999px;text-decoration:none;font-weight:600;margin-right:12px;\" aria-label=\"Watch on YouTube\"><i class=\"fa fa-youtube-play\" style=\"font-size:18px;\"><\/i> WATCH ON YOUTUBE<\/a>\r\n        <a id=\"spotify-link\" href=\"#\" target=\"_blank\" style=\"display:inline-flex;align-items:center;gap:10px;background:#1DB954;color:white;padding:14px 32px;border-radius:9999px;text-decoration:none;font-weight:600;\" aria-label=\"Listen on Spotify\"><i class=\"fa fa-spotify\" style=\"font-size:18px;\"><\/i> LISTEN ON SPOTIFY<\/a>\r\n    <\/div>\r\n    <noscript>\r\n        <div style=\"margin-top: 40px; padding-top: 30px; border-top: 1px dashed rgba(255,255,255,0.2); font-size: 1.05rem; line-height: 1.7; color: #cbd5e1;\">\r\n            <strong>\ud83d\udccb JavaScript is disabled.<\/strong> Here are the full official lyrics for you:<br><br>\r\nShe wakes before the rooster calls the dawn<br>\r\nBrews coffee strong and sings her old church song<br>\r\nHer hands that mended fences, hearts, and dreams<br>\r\nGuide us through the valleys, or so it seems<br><br>\r\n\r\nWhen thunder rolls and storms come crashing down<br>\r\nHer voice cuts through like sunlight on the ground<br><br>\r\n\r\nMama&#8217;s love, like an eternal flame<br>\r\nBurns steady through the joy, the hurt, the rain<br>\r\nWarms the coldest nights, lights the darkest way<br>\r\nMama&#8217;s love, it never fades away<br><br>\r\n\r\nShe taught me how to stand when winds blow wild<br>\r\nWhispered prayers that carried me for miles<br>\r\nHer apron strings were ties that set me free<br>\r\nYet always drew me back where I belong to be<br><br>\r\n\r\nThrough scraped-up knees and broken-hearted tears<br>\r\nShe held me close and chased away the fears<br><br>\r\n\r\nMama&#8217;s love, like an eternal flame<br>\r\nBurns steady through the joy, the hurt, the rain<br>\r\nWarms the coldest nights, lights the darkest way<br>\r\nMama&#8217;s love, it never fades away<br><br>\r\n\r\nYears may gray her hair and slow her step<br>\r\nBut that flame inside just grows and never rests<br>\r\nNo distance, time, or trial could dim its glow<br>\r\nMama&#8217;s love, the one thing I will always know<br><br>\r\n\r\nMama&#8217;s love, like an eternal flame<br>\r\nBurns steady through the joy, the hurt, the rain<br>\r\nWarms the coldest nights, lights the darkest way<br>\r\nMama&#8217;s love, it never fades away<br>\r\nThrough every mile I roam, her light remains<br>\r\nMama&#8217;s love forever calls my name\r\n        <\/div>\r\n    <\/noscript>\r\n    <p style=\"text-align:center; margin-top:32px; font-size:13px; color:#64748b;\">\r\n        Official Mama&#8217;s Eternal Flame lyrics by DaOpa \u2022\r\n        <a href=\"#lyrics-full\" style=\"color:#3b82f6;\">Jump to interactive synced version \u2191<\/a>\r\n    <\/p>\r\n<\/div>\r\n<!-- KARAOKE MODAL -->\r\n<div id=\"karaoke-modal\" class=\"karaoke-modal\" onclick=\"if (event.target.id === 'karaoke-modal') closeKaraoke()\" aria-hidden=\"true\">\r\n    <div class=\"karaoke-content\" onclick=\"event.stopImmediatePropagation()\">\r\n        <button onclick=\"closeKaraoke()\" style=\"position:absolute;top:-12px;right:-12px;background:#1e2937;border:none;color:#94a3b8;width:42px;height:42px;border-radius:50%;font-size:24px;cursor:pointer;\" aria-label=\"Close karaoke mode\">\u00d7<\/button>\r\n        <div id=\"karaoke-current\" class=\"karaoke-text\"><\/div>\r\n        <div id=\"karaoke-annotation-display\" class=\"karaoke-annotation\" style=\"display:none;\"><\/div>\r\n        <div style=\"margin:32px 0;display:flex;justify-content:center;gap:40px;font-size:13px;color:#64748b;\">\r\n            <div>PREV: <span id=\"karaoke-prev\" style=\"color:#475569;\"><\/span><\/div>\r\n            <div>NEXT: <span id=\"karaoke-next\" style=\"color:#94a3b8;\"><\/span><\/div>\r\n        <\/div>\r\n        <div>\r\n            <button onclick=\"togglePlayback()\" style=\"padding:12px 32px;border:1px solid rgba(255,255,255,0.3);background:transparent;color:white;border-radius:9999px;margin-right:12px;\">PLAY \/ PAUSE<\/button>\r\n            <button onclick=\"closeKaraoke()\" style=\"padding:12px 32px;background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.3);border-radius:9999px;font-weight:700;\">EXIT KARAOKE<\/button>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n<!-- TOAST CONTAINER -->\r\n<div id=\"toast-container\" style=\"position:fixed; bottom:24px; right:24px; z-index:300; display:flex; flex-direction:column; gap:10px;\"><\/div>\r\n<script>\r\n\/\/ ==================== CONFIG ====================\r\nconst CONFIG = {\r\n    songTitle: \"Mama's Eternal Flame\",\r\n    artist: \"DaOpa\",\r\n    youtubeVideoId: \"1NAq0HIplio\",\r\n    spotifyUrl: \"https:\/\/open.spotify.com\/playlist\/2fUfJae1YkyYE9BHltB5ps\",\r\n    appleMusicUrl: \"\",\r\n    srtUrl: \"https:\/\/gamingwithdaopa.ellatha.com\/media\/music\/Mamas-Eternal-Flame.txt\",   \/\/ \u2190 Upload your timed SRT .txt file here\r\n    heroBackgroundImage: \"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2026\/04\/Mamas-Eternal-Flame.jpg\"  \/\/ \u2190 Replace with your actual hero image URL\r\n};\r\n\/\/ ==================== GLOBAL VARIABLES ====================\r\nlet player;\r\nlet isPlaying = false;\r\nlet currentTime = 0;\r\nlet currentLyricIndex = -1;\r\nlet favorites = JSON.parse(localStorage.getItem(CONFIG.songTitle.replace(\/\\s+\/g, '-') + 'Favorites') || '[]');\r\nlet lyricsData = [];\r\nlet annotations = {};\r\nlet annotationMode = 'view';\r\n\/\/ ==================== SECURITY ====================\r\nfunction escapeHtml(unsafe) {\r\n    if (!unsafe) return '';\r\n    return unsafe\r\n        .replace(\/&\/g, \"&amp;\")\r\n        .replace(\/<\/g, \"&lt;\")\r\n        .replace(\/>\/g, \"&gt;\")\r\n        .replace(\/\"\/g, \"&quot;\")\r\n        .replace(\/'\/g, \"&#039;\");\r\n}\r\n\/\/ ==================== LOAD SRT ====================\r\nasync function loadSRT() {\r\n    try {\r\n        const response = await fetch(CONFIG.srtUrl);\r\n        if (!response.ok) throw new Error(\"Failed to fetch SRT\");\r\n        const srtText = await response.text();\r\n        lyricsData = parseSRT(srtText);\r\n        console.log(`\u2705 Loaded ${lyricsData.length} timed lyrics`);\r\n    } catch (e) {\r\n        console.error(\"SRT load failed\", e);\r\n        alert(\"Could not load the SRT file. Please make sure the timed SRT file is uploaded to: \" + CONFIG.srtUrl);\r\n        \/\/ Fallback: still show lyrics without timing\r\n        lyricsData = [];\r\n    }\r\n}\r\nfunction parseSRT(srtText) {\r\n    const blocks = srtText.trim().split(\/\\n\\s*\\n\/);\r\n    const lyrics = [];\r\n    blocks.forEach((block, index) => {\r\n        const lines = block.trim().split('\\n');\r\n        if (lines.length < 3) return;\r\n        const timeLine = lines[1];\r\n        const [startStr] = timeLine.split(' --> ');\r\n        if (!startStr) return;\r\n        const [h, m, s] = startStr.split(':');\r\n        const [sec, ms] = (s || '0,0').split(',');\r\n        const timeMs = (parseInt(h||0)*3600000) + (parseInt(m||0)*60000) + (parseInt(sec||0)*1000) + parseInt(ms||0);\r\n        const text = lines.slice(2).join(' ').trim();\r\n        lyrics.push({\r\n            id: `l${index+1}`,\r\n            time: timeMs,\r\n            text: text,\r\n            type: (text.toLowerCase().includes(\"eternal flame\") || text.toLowerCase().includes(\"mama's love\")) ? \"chorus\" : \"verse\"\r\n        });\r\n    });\r\n    return lyrics;\r\n}\r\n\/\/ ==================== ANNOTATIONS ====================\r\nfunction loadAnnotations() {\r\n    const key = `annotations-${CONFIG.songTitle.replace(\/\\s+\/g, '-')}`;\r\n    const saved = localStorage.getItem(key);\r\n    if (saved) annotations = JSON.parse(saved);\r\n}\r\nfunction saveAnnotations() {\r\n    const key = `annotations-${CONFIG.songTitle.replace(\/\\s+\/g, '-')}`;\r\n    localStorage.setItem(key, JSON.stringify(annotations));\r\n}\r\nfunction updateAnnotation(id, value) {\r\n    annotations[id] = value.trim();\r\n    saveAnnotations();\r\n    renderFullLyrics();\r\n    renderKaraokeList();\r\n    const indicator = document.getElementById(`saved-${id}`);\r\n    if (indicator) {\r\n        indicator.style.display = 'flex';\r\n        setTimeout(() => indicator.style.display = 'none', 1400);\r\n    }\r\n}\r\nfunction exportAnnotations() {\r\n    const dataStr = JSON.stringify(annotations, null, 2);\r\n    const dataUri = 'data:application\/json;charset=utf-8,'+ encodeURIComponent(dataStr);\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', dataUri);\r\n    link.setAttribute('download', `${CONFIG.songTitle}-annotations.json`);\r\n    link.click();\r\n    showToast(\"\u2705 Annotations exported\", \"success\");\r\n}\r\nfunction clearAllAnnotations() {\r\n    if (confirm(\"Clear ALL notes for this song?\")) {\r\n        annotations = {};\r\n        saveAnnotations();\r\n        renderAnnotatedTab();\r\n        renderFullLyrics();\r\n        renderKaraokeList();\r\n        showToast(\"All notes cleared\", \"success\");\r\n    }\r\n}\r\n\/\/ ==================== SHARE LYRIC LINE ====================\r\nfunction shareLyricLine(idx) {\r\n    const line = lyricsData[idx];\r\n    const timestamp = Math.floor(line.time \/ 1000);\r\n    const shareUrl = `${window.location.origin}${window.location.pathname}?t=${timestamp}#${line.id}`;\r\n    navigator.clipboard.writeText(shareUrl).then(() => {\r\n        showToast(\"\u2705 Link copied with timestamp!\", \"success\");\r\n    }).catch(() => {\r\n        showToast(\"Could not copy link\", \"info\");\r\n    });\r\n    const tweetText = encodeURIComponent(`\"${line.text}\" \u2014 ${CONFIG.songTitle} by ${CONFIG.artist}`);\r\n    const xUrl = `https:\/\/x.com\/intent\/tweet?text=${tweetText}&url=${encodeURIComponent(shareUrl)}`;\r\n    setTimeout(() => {\r\n        if (confirm(\"Also share this line on X?\")) {\r\n            window.open(xUrl, '_blank');\r\n        }\r\n    }, 800);\r\n}\r\n\/\/ ==================== YOUTUBE PLAYER ====================\r\nfunction loadYouTubeAPI() {\r\n    const tag = document.createElement('script');\r\n    tag.src = \"https:\/\/www.youtube.com\/iframe_api\";\r\n    document.head.appendChild(tag);\r\n}\r\nwindow.onYouTubeIframeAPIReady = function() {\r\n    player = new YT.Player('yt-player', {\r\n        videoId: CONFIG.youtubeVideoId,\r\n        playerVars: { 'autoplay': 0, 'controls': 1, 'rel': 0, 'modestbranding': 1, 'playsinline': 1 },\r\n        events: { 'onReady': onPlayerReady, 'onStateChange': onPlayerStateChange }\r\n    });\r\n};\r\nfunction onPlayerReady(event) {\r\n    const checkDuration = setInterval(() => {\r\n        if (player.getDuration() > 0) {\r\n            const totalSec = Math.floor(player.getDuration());\r\n            document.getElementById('total-time').textContent = `${Math.floor(totalSec\/60)}:${(totalSec%60).toString().padStart(2,'0')}`;\r\n            clearInterval(checkDuration);\r\n        }\r\n    }, 500);\r\n}\r\nfunction onPlayerStateChange(event) {\r\n    if (event.data === YT.PlayerState.PLAYING) {\r\n        isPlaying = true;\r\n        const btn = document.getElementById('play-btn');\r\n        btn.style.background = '#ef4444';\r\n        btn.style.color = 'white';\r\n        document.getElementById('play-icon').classList.replace('fa-play', 'fa-pause');\r\n    } else {\r\n        isPlaying = false;\r\n        const btn = document.getElementById('play-btn');\r\n        btn.style.background = 'transparent';\r\n        btn.style.color = '#f1f5f9';\r\n        document.getElementById('play-icon').classList.replace('fa-pause', 'fa-play');\r\n    }\r\n}\r\n\/\/ Real-time sync\r\nsetInterval(() => {\r\n    if (!player || !isPlaying) return;\r\n    currentTime = Math.floor(player.getCurrentTime() * 1000);\r\n    updateProgressUI();\r\n    updateLyricHighlight();\r\n}, 150);\r\n\/\/ ==================== RENDER FUNCTIONS ====================\r\nfunction init() {\r\n    document.getElementById('hero-title').innerHTML = `${CONFIG.songTitle}<br><span class=\"gradient-text\">${CONFIG.artist}<\/span>`;\r\n    document.getElementById('hero-subtitle').innerHTML = `${CONFIG.artist} \u2022 ${CONFIG.songTitle}`;\r\n    document.getElementById('player-song-title').textContent = CONFIG.songTitle;\r\n    document.getElementById('player-artist').textContent = CONFIG.artist;\r\n    document.getElementById('hero-section').style.backgroundImage = `url('${CONFIG.heroBackgroundImage}')`;\r\n    document.getElementById('youtube-link').href = `https:\/\/www.youtube.com\/watch?v=${CONFIG.youtubeVideoId}`;\r\n    document.getElementById('spotify-link').href = CONFIG.spotifyUrl;\r\n    loadSRT().then(() => {\r\n        loadAnnotations();\r\n        renderAllLyrics();\r\n    });\r\n    loadFavorites();\r\n    document.addEventListener('keydown', function(e) {\r\n        if (e.key === \" \" && document.activeElement.tagName === \"BODY\") { e.preventDefault(); togglePlayback(); }\r\n        if (e.key.toLowerCase() === \"k\") { e.preventDefault(); enterKaraokeMode(); }\r\n    });\r\n    console.log('%c\u2705 Lyrics page loaded \u2013 fully accessible & shareable', 'color:#fbbf24;font-weight:700');\r\n}\r\nfunction renderAllLyrics() {\r\n    renderFullLyrics();\r\n    renderKaraokeList();\r\n    renderAnnotatedTab();\r\n}\r\nfunction renderFullLyrics() {\r\n    const full = document.getElementById('lyrics-full');\r\n    let html = '';\r\n    lyricsData.forEach((line, idx) => {\r\n        const isChorus = line.type === 'chorus';\r\n        const fav = favorites.includes(line.id);\r\n        const note = annotations[line.id] || '';\r\n        const escapedNote = escapeHtml(note);\r\n        html += `\r\n            <div class=\"lyric-line ${isChorus ? 'chorus' : ''}\"\r\n                 data-id=\"${line.id}\"\r\n                 data-index=\"${idx}\"\r\n                 onclick=\"highlightLine(${idx}, true)\"\r\n                 role=\"button\"\r\n                 aria-label=\"Lyric line ${idx+1}: ${line.text}\">\r\n                <div class=\"lyric-number\">${(idx+1).toString().padStart(2,'0')}<\/div>\r\n                <div style=\"flex:1;\">\r\n                    <div class=\"lyric-text\" style=\"${isChorus ? 'color:#fecaca;font-weight:700;' : ''}\">${line.text}<\/div>\r\n                    ${note ? `<div class=\"lyric-note-preview\">${escapedNote}<\/div>` : ''}\r\n                <\/div>\r\n                <div class=\"lyric-actions\">\r\n                    <button onclick=\"event.stopImmediatePropagation(); toggleFavorite('${line.id}', this)\" class=\"action-btn\" style=\"color:${fav ? '#ef4444' : '#64748b'};\" aria-label=\"Favorite this line\">\r\n                        <i class=\"fa fa-heart ${fav ? 'heart-favorited' : ''}\"><\/i>\r\n                    <\/button>\r\n                    <button onclick=\"event.stopImmediatePropagation(); singThisLine(${idx})\" class=\"action-btn\" aria-label=\"Sing this line\">\r\n                        <i class=\"fa fa-microphone\"><\/i>\r\n                    <\/button>\r\n                    <button onclick=\"event.stopImmediatePropagation(); shareLyricLine(${idx})\" class=\"action-btn\" aria-label=\"Share this lyric line\">\r\n                        <i class=\"fa fa-share-alt\"><\/i>\r\n                    <\/button>\r\n                    <button onclick=\"event.stopImmediatePropagation(); editNoteFromFullLyrics('${line.id}')\" class=\"action-btn\" title=\"Edit personal note\" aria-label=\"Edit note for this line\">\r\n                        <i class=\"fa fa-edit\"><\/i>\r\n                    <\/button>\r\n                <\/div>\r\n            <\/div>\r\n        `;\r\n    });\r\n    full.innerHTML = html;\r\n}\r\nfunction renderKaraokeList() {\r\n    const kar = document.getElementById('lyrics-karaoke');\r\n    kar.innerHTML = `<div style=\"max-width:620px;margin:0 auto;text-align:center;padding:20px 10px;\">\r\n        <div style=\"font-size:11px;letter-spacing:2px;color:#fbbf24;margin-bottom:16px;\">TAP ANY LINE TO JUMP \u2022 Personal notes shown below<\/div>\r\n        ${lyricsData.map((l,i) => {\r\n            const note = annotations[l.id] || '';\r\n            const escapedNote = escapeHtml(note);\r\n            return `\r\n            <div onclick=\"jumpToLineInKaraoke(${i})\" style=\"padding:12px 18px;margin:6px 0;border-radius:12px;cursor:pointer;background:#1a1a20;color:${l.type==='chorus'?'#fecaca':'#e2e8f0'};font-size:17px;${l.type==='chorus'?'font-weight:700;':''}\">\r\n                ${l.text}\r\n                ${note ? `<div style=\"margin-top:8px;font-size:14px;color:#a7f3d0;padding:8px 12px;background:rgba(16,185,129,0.1);border-left:3px solid #10b981;border-radius:6px;\">${escapedNote}<\/div>` : ''}\r\n            <\/div>`;\r\n        }).join('')}\r\n    <\/div>`;\r\n}\r\nfunction renderAnnotatedTab() {\r\n    const ann = document.getElementById('lyrics-annotated');\r\n    let html = `\r\n        <div style=\"margin-bottom:24px; display:flex; gap:12px; justify-content:space-between; flex-wrap:wrap; align-items:center;\">\r\n            <div style=\"font-size:13px; color:#64748b;\">Your personal notes \u2022 Saved in your browser<\/div>\r\n            <div style=\"display:flex; gap:8px;\">\r\n                <button onclick=\"toggleAnnotationMode()\" id=\"mode-toggle-btn\"\r\n                        style=\"padding:10px 20px; background:#27272e; color:#f1f5f9; border:none; border-radius:9999px; font-weight:600; cursor:pointer;\">\r\n                    ${annotationMode === 'edit' ? '\u2705 Switch to View Mode' : '\u270f\ufe0f Switch to Edit Mode'}\r\n                <\/button>\r\n                <button onclick=\"exportAnnotations()\" style=\"padding:10px 20px; background:#10b981; color:white; border:none; border-radius:9999px; font-weight:600; cursor:pointer;\">\r\n                    <i class=\"fa fa-download\"><\/i> Export\r\n                <\/button>\r\n                <button onclick=\"clearAllAnnotations()\" style=\"padding:10px 20px; background:#ef4444; color:white; border:none; border-radius:9999px; font-weight:600; cursor:pointer;\">\r\n                    <i class=\"fa fa-trash\"><\/i> Clear All\r\n                <\/button>\r\n            <\/div>\r\n        <\/div>\r\n    `;\r\n    lyricsData.forEach((line, idx) => {\r\n        const note = annotations[line.id] || '';\r\n        const escapedNote = escapeHtml(note);\r\n        if (annotationMode === 'edit') {\r\n            html += `\r\n                <div style=\"background:#1a1a20; border-radius:16px; padding:20px; margin-bottom:16px;\">\r\n                    <div style=\"display:flex; gap:12px;\">\r\n                        <div class=\"lyric-number\" style=\"background:#27272e; padding:4px 10px; border-radius:8px;\">${(idx+1).toString().padStart(2,'0')}<\/div>\r\n                        <div style=\"flex:1;\">\r\n                            <div style=\"font-size:1.05rem; line-height:1.5; color:#e2e8f0;\">${line.text}<\/div>\r\n                            <textarea class=\"annotation-input\" placeholder=\"Write your personal note here...\" oninput=\"updateAnnotation('${line.id}', this.value)\">${note}<\/textarea>\r\n                            <div class=\"annotation-saved\" id=\"saved-${line.id}\" style=\"display:none;\"><i class=\"fa fa-check-circle\"><\/i> Saved to browser<\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>`;\r\n        } else {\r\n            html += `\r\n                <div class=\"annotation-view\">\r\n                    <div style=\"display:flex; gap:12px;\">\r\n                        <div class=\"lyric-number\" style=\"background:#27272e; padding:4px 10px; border-radius:8px;\">${(idx+1).toString().padStart(2,'0')}<\/div>\r\n                        <div style=\"flex:1;\">\r\n                            <div style=\"font-size:1.05rem; line-height:1.5; color:#e2e8f0;\">${line.text}<\/div>\r\n                            ${note ? `<div class=\"annotation-note\">${escapedNote}<\/div>` : '<div style=\"font-size:13px;color:#64748b;margin-top:8px;\">No note yet<\/div>'}\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>`;\r\n        }\r\n    });\r\n    ann.innerHTML = html;\r\n}\r\nfunction editNoteFromFullLyrics(id) {\r\n    switchTab(2);\r\n    annotationMode = 'edit';\r\n    renderAnnotatedTab();\r\n    setTimeout(() => {\r\n        const el = document.getElementById(`saved-${id}`);\r\n        if (el) el.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n    }, 300);\r\n}\r\nfunction toggleAnnotationMode() {\r\n    annotationMode = annotationMode === 'edit' ? 'view' : 'edit';\r\n    renderAnnotatedTab();\r\n}\r\n\/\/ ==================== LYRIC & PLAYER FUNCTIONS ====================\r\nfunction highlightLine(index, manual = false) {\r\n    document.querySelectorAll('.lyric-line').forEach(el => el.classList.remove('active'));\r\n    const el = document.querySelector(`.lyric-line[data-index=\"${index}\"]`);\r\n    if (el) {\r\n        el.classList.add('active');\r\n        el.scrollIntoView({ behavior: 'smooth', block: 'center' });\r\n    }\r\n    currentLyricIndex = index;\r\n    if (manual && player) player.seekTo(lyricsData[index].time \/ 1000);\r\n}\r\nfunction toggleFavorite(id, btn) {\r\n    const i = favorites.indexOf(id);\r\n    const heart = btn.querySelector('i');\r\n    if (i === -1) {\r\n        favorites.push(id);\r\n        heart.classList.add('heart-favorited');\r\n        showToast(\"Line favorited \u2764\ufe0f\", \"success\");\r\n    } else {\r\n        favorites.splice(i, 1);\r\n        heart.classList.remove('heart-favorited');\r\n    }\r\n    localStorage.setItem(CONFIG.songTitle.replace(\/\\s+\/g, '-') + 'Favorites', JSON.stringify(favorites));\r\n}\r\nfunction loadFavorites() {\r\n    favorites.forEach(id => {\r\n        const heart = document.querySelector(`[data-id=\"${id}\"] .fa-heart`);\r\n        if (heart) heart.classList.add('heart-favorited');\r\n    });\r\n}\r\nfunction singThisLine(idx) {\r\n    highlightLine(idx, true);\r\n    showToast(`Singing: \"${lyricsData[idx].text}\"`, \"info\");\r\n}\r\nfunction startPlayback() { if (player) player.playVideo(); }\r\nfunction pausePlayback() { if (player) player.pauseVideo(); }\r\nfunction togglePlayback() { if (player) isPlaying ? pausePlayback() : startPlayback(); }\r\nfunction restartPlayback() { if (player) { player.seekTo(0); player.playVideo(); } }\r\nfunction updateProgressUI() {\r\n    if (!player) return;\r\n    const pct = (player.getCurrentTime() \/ (player.getDuration() || 225)) * 100;\r\n    document.getElementById('progress-slider').value = pct;\r\n    document.getElementById('progress-fill').style.width = pct + '%';\r\n    document.getElementById('progress-bar').setAttribute('aria-valuenow', Math.round(pct));\r\n    const sec = Math.floor(player.getCurrentTime());\r\n    document.getElementById('current-time').textContent = `${Math.floor(sec\/60)}:${(sec%60).toString().padStart(2,'0')}`;\r\n}\r\nfunction updateLyricHighlight() {\r\n    let newIdx = -1;\r\n    for (let i = 0; i < lyricsData.length; i++) {\r\n        if (currentTime >= lyricsData[i].time) newIdx = i;\r\n        else break;\r\n    }\r\n    if (newIdx !== currentLyricIndex && newIdx !== -1) {\r\n        currentLyricIndex = newIdx;\r\n        highlightLine(newIdx);\r\n        if (lyricsData[newIdx].type === 'chorus') launchConfetti(12);\r\n        const modal = document.getElementById('karaoke-modal');\r\n        if (modal.style.display === 'flex') updateKaraokeDisplay(newIdx);\r\n    }\r\n}\r\nfunction seekTo(pct) {\r\n    if (!player) return;\r\n    const duration = player.getDuration() || 225;\r\n    player.seekTo((pct \/ 100) * duration);\r\n}\r\nfunction seekFromClick(e) {\r\n    const bar = document.getElementById('progress-bar');\r\n    const pct = ((e.clientX - bar.getBoundingClientRect().left) \/ bar.offsetWidth) * 100;\r\n    document.getElementById('progress-slider').value = pct;\r\n    seekTo(pct);\r\n}\r\nfunction setPlaybackSpeed(sp) {\r\n    document.querySelectorAll('[id^=\"speed-\"]').forEach(el => el.style.background = 'transparent');\r\n    let id = 'speed-1';\r\n    if (sp === 0.75) id = 'speed-075';\r\n    if (sp === 1.25) id = 'speed-125';\r\n    const b = document.getElementById(id);\r\n    if (b) b.style.background = 'rgba(255,255,255,0.2)';\r\n    if (player) player.setPlaybackRate(sp);\r\n}\r\n\/\/ ==================== KARAOKE ====================\r\nfunction enterKaraokeMode() {\r\n    const m = document.getElementById('karaoke-modal');\r\n    m.style.display = 'flex';\r\n    if (player && !isPlaying) player.playVideo();\r\n    updateKaraokeDisplay(currentLyricIndex >= 0 ? currentLyricIndex : 0);\r\n}\r\nfunction closeKaraoke() {\r\n    document.getElementById('karaoke-modal').style.display = 'none';\r\n}\r\nfunction updateKaraokeDisplay(idx) {\r\n    const cur = document.getElementById('karaoke-current');\r\n    const annDisplay = document.getElementById('karaoke-annotation-display');\r\n    const prv = document.getElementById('karaoke-prev');\r\n    const nxt = document.getElementById('karaoke-next');\r\n    cur.innerHTML = `<span style=\"color:#ef4444;\">${lyricsData[idx].text}<\/span>`;\r\n    const note = annotations[lyricsData[idx].id] || '';\r\n    if (note) {\r\n        annDisplay.innerHTML = `<strong style=\"color:#10b981;\">YOUR NOTE:<\/strong><br>${escapeHtml(note)}`;\r\n        annDisplay.style.display = 'block';\r\n    } else {\r\n        annDisplay.style.display = 'none';\r\n    }\r\n    prv.textContent = idx > 0 ? lyricsData[idx-1].text : '\u2014';\r\n    nxt.textContent = idx < lyricsData.length-1 ? lyricsData[idx+1].text : '\u2014';\r\n}\r\nfunction jumpToLineInKaraoke(idx) {\r\n    if (player) player.seekTo(lyricsData[idx].time \/ 1000);\r\n    highlightLine(idx, true);\r\n    const m = document.getElementById('karaoke-modal');\r\n    if (m.style.display === 'flex') updateKaraokeDisplay(idx);\r\n}\r\nfunction toggleKaraoke() {\r\n    const m = document.getElementById('karaoke-modal');\r\n    m.style.display === 'flex' ? closeKaraoke() : enterKaraokeMode();\r\n}\r\nfunction switchTab(tab) {\r\n    document.getElementById('lyrics-full').style.display = 'none';\r\n    document.getElementById('lyrics-karaoke').style.display = 'none';\r\n    document.getElementById('lyrics-annotated').style.display = 'none';\r\n    document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));\r\n    document.getElementById('tab-' + tab).classList.add('active');\r\n    document.getElementById('tab-' + tab).setAttribute('aria-selected', 'true');\r\n    if (tab === 0) document.getElementById('lyrics-full').style.display = 'block';\r\n    else if (tab === 1) document.getElementById('lyrics-karaoke').style.display = 'block';\r\n    else if (tab === 2) {\r\n        document.getElementById('lyrics-annotated').style.display = 'block';\r\n        renderAnnotatedTab();\r\n    }\r\n}\r\n\/\/ ==================== UTILS ====================\r\nfunction showToast(msg, type = \"info\") {\r\n    const c = document.getElementById('toast-container');\r\n    const t = document.createElement('div');\r\n    t.className = 'toast';\r\n    t.innerHTML = `<i class=\"fa fa-${type==='success'?'check-circle':'info-circle'}\" style=\"margin-right:8px;\"><\/i> <span>${msg}<\/span>`;\r\n    c.appendChild(t);\r\n    setTimeout(() => t.remove(), 2800);\r\n}\r\nfunction launchConfetti(count = 12) {\r\n    for (let i = 0; i < count; i++) {\r\n        setTimeout(() => {\r\n            const c = document.createElement('div');\r\n            c.style.cssText = `position:fixed;left:${Math.random()*100}vw;top:-20px;font-size:28px;z-index:400;pointer-events:none;`;\r\n            c.textContent = ['\ud83c\udf89','\u2764\ufe0f','\ud83c\udf1f'][Math.floor(Math.random()*3)];\r\n            document.body.appendChild(c);\r\n            setTimeout(() => c.remove(), 3000);\r\n        }, i * 30);\r\n    }\r\n}\r\n\/\/ Boot\r\nwindow.onload = function() {\r\n    loadYouTubeAPI();\r\n    init();\r\n};\r\n<\/script>\r\n<\/article>\r\n","protected":false},"excerpt":{"rendered":"<p>Mama&#8217;s Eternal Flame is the heartfelt ballad by DaOpa from the Heartland Country Pop album (2026). This powerful track honors the unwavering love and strength of a mother who lights the way through every season of life. Read the full lyrics below, sync them with the official music video, enter karaoke mode, or add your [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":294,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-293","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-lyrics"],"yoast_head":"<title>Mama&#039;s Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026 - DaOpa&#039;s Music<\/title>\r\n<meta name=\"description\" content=\"Mama&#039;s Eternal Flame is the heartfelt ballad by DaOpa from the Heartland Country Pop album (2026). This powerful track honors the unwavering love and\" \/>\r\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\r\n<link rel=\"canonical\" href=\"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/\" \/>\r\n<meta property=\"og:locale\" content=\"en_US\" \/>\r\n<meta property=\"og:type\" content=\"article\" \/>\r\n<meta property=\"og:title\" content=\"Mama&#039;s Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026 - DaOpa&#039;s Music\" \/>\r\n<meta property=\"og:description\" content=\"Mama&#039;s Eternal Flame is the heartfelt ballad by DaOpa from the Heartland Country Pop album (2026). This powerful track honors the unwavering love and\" \/>\r\n<meta property=\"og:url\" content=\"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/\" \/>\r\n<meta property=\"og:site_name\" content=\"DaOpa&#039;s Music\" \/>\r\n<meta property=\"article:publisher\" content=\"facebook.com\/gamingwithdaopa\/\" \/>\r\n<meta property=\"article:author\" content=\"facebook.com\/gamingwithdaopa\/\" \/>\r\n<meta property=\"article:published_time\" content=\"2026-04-24T21:13:43+00:00\" \/>\r\n<meta property=\"article:modified_time\" content=\"2026-04-28T20:32:45+00:00\" \/>\r\n<meta property=\"og:image\" content=\"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2026\/04\/Mamas-Eternal-Flame-Lyrics.jpg\" \/>\r\n\t<meta property=\"og:image:width\" content=\"400\" \/>\r\n\t<meta property=\"og:image:height\" content=\"263\" \/>\r\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\r\n<meta name=\"author\" content=\"daopa\" \/>\r\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\r\n<meta name=\"twitter:creator\" content=\"@gamingwithdaopa\" \/>\r\n<meta name=\"twitter:site\" content=\"@gamingwithdaopa\" \/>\r\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"daopa\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\r\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/\"},\"author\":{\"name\":\"daopa\",\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/#\\\/schema\\\/person\\\/fb03a927907d90f409fac550ba375638\"},\"headline\":\"Mama&#8217;s Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026\",\"datePublished\":\"2026-04-24T21:13:43+00:00\",\"dateModified\":\"2026-04-28T20:32:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/\"},\"wordCount\":367,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/#\\\/schema\\\/person\\\/fb03a927907d90f409fac550ba375638\"},\"image\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/wp-content\\\/uploads\\\/sites\\\/31\\\/2026\\\/04\\\/Mamas-Eternal-Flame-Lyrics.jpg\",\"articleSection\":[\"Lyrics\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/\",\"url\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/\",\"name\":\"Mama's Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026 - DaOpa&#039;s Music\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/wp-content\\\/uploads\\\/sites\\\/31\\\/2026\\\/04\\\/Mamas-Eternal-Flame-Lyrics.jpg\",\"datePublished\":\"2026-04-24T21:13:43+00:00\",\"dateModified\":\"2026-04-28T20:32:45+00:00\",\"description\":\"Mama's Eternal Flame is the heartfelt ballad by DaOpa from the Heartland Country Pop album (2026). This powerful track honors the unwavering love and\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/#primaryimage\",\"url\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/wp-content\\\/uploads\\\/sites\\\/31\\\/2026\\\/04\\\/Mamas-Eternal-Flame-Lyrics.jpg\",\"contentUrl\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/wp-content\\\/uploads\\\/sites\\\/31\\\/2026\\\/04\\\/Mamas-Eternal-Flame-Lyrics.jpg\",\"width\":400,\"height\":263,\"caption\":\"Mamas Eternal Flame Lyrics\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/mamas-eternal-flame-lyrics\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mama&#8217;s Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/#website\",\"url\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/\",\"name\":\"DaOpa&#039;s Music\",\"description\":\"Welcome to DaOpa&#039;s Music, where I share my original songs, lyrics, and musical journey. Dive into the sounds and stories behind my music, and experience the creative process that shapes each track. This is my personal space to connect through music, straight from my heart to your ears.\",\"publisher\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/#\\\/schema\\\/person\\\/fb03a927907d90f409fac550ba375638\"},\"alternateName\":\"daopa music\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/#\\\/schema\\\/person\\\/fb03a927907d90f409fac550ba375638\",\"name\":\"daopa\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/wp-content\\\/uploads\\\/sites\\\/31\\\/2024\\\/09\\\/90-90-Logo.png\",\"url\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/wp-content\\\/uploads\\\/sites\\\/31\\\/2024\\\/09\\\/90-90-Logo.png\",\"contentUrl\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/wp-content\\\/uploads\\\/sites\\\/31\\\/2024\\\/09\\\/90-90-Logo.png\",\"width\":90,\"height\":90,\"caption\":\"daopa\"},\"logo\":{\"@id\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/wp-content\\\/uploads\\\/sites\\\/31\\\/2024\\\/09\\\/90-90-Logo.png\"},\"description\":\"DaOpa has been variety streamer since 2009 with game focuses on primarily MMOs, Sandbox, RPG and FPS genres. For inquires comment in the comments sections. This channel is syndicated across various micro niche gaming related blogs operated by DaOpa. He creates fansites, guides, tools for gamers\",\"sameAs\":[\"https:\\\/\\\/gamingwithdaopa.ellatha.com\",\"facebook.com\\\/gamingwithdaopa\\\/\",\"https:\\\/\\\/x.com\\\/gamingwithdaopa\",\"youtube.com\\\/@daopa\"],\"url\":\"https:\\\/\\\/gamingwithdaopa.ellatha.com\\\/music\\\/author\\\/daopa\\\/\"}]}<\/script>","yoast_head_json":{"title":"Mama's Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026 - DaOpa&#039;s Music","description":"Mama's Eternal Flame is the heartfelt ballad by DaOpa from the Heartland Country Pop album (2026). This powerful track honors the unwavering love and","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:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/","og_locale":"en_US","og_type":"article","og_title":"Mama's Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026 - DaOpa&#039;s Music","og_description":"Mama's Eternal Flame is the heartfelt ballad by DaOpa from the Heartland Country Pop album (2026). This powerful track honors the unwavering love and","og_url":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/","og_site_name":"DaOpa&#039;s Music","article_publisher":"facebook.com\/gamingwithdaopa\/","article_author":"facebook.com\/gamingwithdaopa\/","article_published_time":"2026-04-24T21:13:43+00:00","article_modified_time":"2026-04-28T20:32:45+00:00","og_image":[{"width":400,"height":263,"url":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2026\/04\/Mamas-Eternal-Flame-Lyrics.jpg","type":"image\/jpeg"}],"author":"daopa","twitter_card":"summary_large_image","twitter_creator":"@gamingwithdaopa","twitter_site":"@gamingwithdaopa","twitter_misc":{"Written by":"daopa","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/#article","isPartOf":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/"},"author":{"name":"daopa","@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/#\/schema\/person\/fb03a927907d90f409fac550ba375638"},"headline":"Mama&#8217;s Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026","datePublished":"2026-04-24T21:13:43+00:00","dateModified":"2026-04-28T20:32:45+00:00","mainEntityOfPage":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/"},"wordCount":367,"commentCount":0,"publisher":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/#\/schema\/person\/fb03a927907d90f409fac550ba375638"},"image":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/#primaryimage"},"thumbnailUrl":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2026\/04\/Mamas-Eternal-Flame-Lyrics.jpg","articleSection":["Lyrics"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/","url":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/","name":"Mama's Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026 - DaOpa&#039;s Music","isPartOf":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/#website"},"primaryImageOfPage":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/#primaryimage"},"image":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/#primaryimage"},"thumbnailUrl":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2026\/04\/Mamas-Eternal-Flame-Lyrics.jpg","datePublished":"2026-04-24T21:13:43+00:00","dateModified":"2026-04-28T20:32:45+00:00","description":"Mama's Eternal Flame is the heartfelt ballad by DaOpa from the Heartland Country Pop album (2026). This powerful track honors the unwavering love and","breadcrumb":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/#primaryimage","url":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2026\/04\/Mamas-Eternal-Flame-Lyrics.jpg","contentUrl":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2026\/04\/Mamas-Eternal-Flame-Lyrics.jpg","width":400,"height":263,"caption":"Mamas Eternal Flame Lyrics"},{"@type":"BreadcrumbList","@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/mamas-eternal-flame-lyrics\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/gamingwithdaopa.ellatha.com\/music\/"},{"@type":"ListItem","position":2,"name":"Mama&#8217;s Eternal Flame Lyrics by DaOpa | Heartland Country Pop 2026"}]},{"@type":"WebSite","@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/#website","url":"https:\/\/gamingwithdaopa.ellatha.com\/music\/","name":"DaOpa&#039;s Music","description":"Welcome to DaOpa&#039;s Music, where I share my original songs, lyrics, and musical journey. Dive into the sounds and stories behind my music, and experience the creative process that shapes each track. This is my personal space to connect through music, straight from my heart to your ears.","publisher":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/#\/schema\/person\/fb03a927907d90f409fac550ba375638"},"alternateName":"daopa music","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/gamingwithdaopa.ellatha.com\/music\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/#\/schema\/person\/fb03a927907d90f409fac550ba375638","name":"daopa","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2024\/09\/90-90-Logo.png","url":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2024\/09\/90-90-Logo.png","contentUrl":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2024\/09\/90-90-Logo.png","width":90,"height":90,"caption":"daopa"},"logo":{"@id":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-content\/uploads\/sites\/31\/2024\/09\/90-90-Logo.png"},"description":"DaOpa has been variety streamer since 2009 with game focuses on primarily MMOs, Sandbox, RPG and FPS genres. For inquires comment in the comments sections. This channel is syndicated across various micro niche gaming related blogs operated by DaOpa. He creates fansites, guides, tools for gamers","sameAs":["https:\/\/gamingwithdaopa.ellatha.com","facebook.com\/gamingwithdaopa\/","https:\/\/x.com\/gamingwithdaopa","youtube.com\/@daopa"],"url":"https:\/\/gamingwithdaopa.ellatha.com\/music\/author\/daopa\/"}]}},"_links":{"self":[{"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/posts\/293","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/comments?post=293"}],"version-history":[{"count":3,"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/posts\/293\/revisions"}],"predecessor-version":[{"id":450,"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/posts\/293\/revisions\/450"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/media\/294"}],"wp:attachment":[{"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/media?parent=293"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/categories?post=293"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gamingwithdaopa.ellatha.com\/music\/wp-json\/wp\/v2\/tags?post=293"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}