<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Cookie Demo</title>
    <script>
        function setTheme(theme) {
            document.cookie = "theme=" + theme + "; path=/; SameSite=None; Secure"
            applyTheme()
        }

        function getCookie(name) {
            let match = document.cookie.match(new RegExp('(^| )' + name + '=([^;]+)'))
            return match ? match[2] : null
        }

        function applyTheme() {
            let theme = getCookie("theme")
            document.body.style.backgroundColor = theme || "white"
        }

        window.onload = applyTheme
    </script>
</head>
<body>
    <h1>Cookie-Based Demo</h1>
    <button id="blue-btn" onclick="setTheme('lightblue')">Light Blue</button>
    <button id="green-btn" onclick="setTheme('lightgreen')">Light Green</button>
    <button id="reset-btn" onclick="setTheme('white')">Reset</button>
    <p>Open this page in multiple tabs/windows to see the shared cookie behavior.</p>
    <p>If you open it in a separate user context, the theme will reset.</p>
</body>
</html>