        html, body {
            height: 100%;
            margin: 0;
            background: #000; /* base space color */
            overflow: hidden; /* prevent scrollbars when canvas is transformed */
        }
        /* Full-viewport canvas. We'll render a low-res buffer and scale it up for a pixelated look */
        canvas#starfield {
            display: block;
            position: fixed;
            inset: 0; /* top:0; right:0; bottom:0; left:0; */
            width: 100%;
            height: 100%;
            image-rendering: pixelated; /* keep stars blocky when scaled */
            background: radial-gradient(ellipse at center, rgba(255,255,255,0.02) 0%, rgba(0,0,0,0.2) 60%, #000 100%);
            will-change: transform, filter;
            transform-origin: center center;
            /* slight hardware-accelerated transform and blur for parallax depth */
            transform: translate3d(0,0,0);
            filter: blur(2px) saturate(1.02);
        }

        /* Overlay container centered on screen */
        .center-overlay {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 20; /* above the canvas */
            text-align: center;
            color: #dfefff;
            pointer-events: auto;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        /* Sci-fi heading style */
        .center-overlay h1 {
            font-family: 'Orbitron', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
            font-weight: 700;
            letter-spacing: 2px;
            margin: 0 0 0.25rem 0;
            font-size: 1.25rem;
            color: #cfe8ff;
            text-transform: uppercase;
            text-shadow:
                    0 0 8px rgba(159, 219, 255, 0.18),
                    0 0 18px rgba(120, 200, 255, 0.08),
                    0 1px 0 rgba(0,0,0,0.6);
        }

        .center-overlay .subtitle {
            font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
            color: #9fbfe0;
            opacity: 0.9;
            font-size: 0.9rem;
            margin-bottom: 0.75rem;
        }

        /* Simple futuristic nav */
        nav.center-nav {
            display: inline-block;
            background: rgba(8, 12, 20, 0.45);
            border: 1px solid rgba(160,220,255,0.06);
            padding: 0.5rem 0.75rem;
            border-radius: 8px;
            backdrop-filter: blur(4px);
        }

        nav.center-nav ul {
            list-style: none;
            margin: 0;
            padding: 0;
            display: flex;
            gap: 0.65rem;
            align-items: center;
            justify-content: center;
            flex-wrap: wrap;
        }

        nav.center-nav a {
            color: #e6f6ff;
            text-decoration: none;
            font-size: 0.85rem;
            padding: 0.25rem 0.45rem;
            border-radius: 6px;
            transition: all 160ms ease;
            display: inline-block;
            font-family: 'Orbitron', 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
            letter-spacing: 0.8px;
        }

        nav.center-nav a:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 18px rgba(50,150,255,0.08), inset 0 0 8px rgba(160,220,255,0.03);
            background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.00));
        }

        /* Accessible focus/active styles for links */
        nav.center-nav a:focus {
            outline: 3px solid rgba(120,200,255,0.18);
            outline-offset: 3px;
            box-shadow: 0 8px 24px rgba(50,150,255,0.09);
        }

        nav.center-nav a:active {
            transform: translateY(0);
            opacity: 0.95;
        }

        /* Make sure overlay doesn't overflow small screens */
        @media (max-width: 520px) {
            /* allow the viewport to scroll on small devices so fixed overlay can be scrollable */
            html, body {
                overflow: auto;
                -webkit-overflow-scrolling: touch;
            }
            .center-overlay {
                width: 98%;
                max-width: 640px;
                max-height: 96vh;          /* occupy more of the screen */
                padding: 1.5rem;           /* larger padding for touch comfort */
                box-sizing: border-box;
                display: flex;
                flex-direction: column;    /* stack content vertically */
                gap: 1rem;
                align-items: center;
                justify-content: center;
                left: 50%;
                transform: translate(-50%, -50%);
                overflow: auto;            /* enable scroll if needed */
                -webkit-overflow-scrolling: touch;
                background: rgba(4,8,14,0.45); /* slightly stronger backdrop for contrast */
                border-radius: 12px;
            }

            .center-overlay > div {      /* header block */
                width: 100%;
                text-align: center;
            }

            .center-overlay h1 { font-size: 1.25rem; margin-bottom: .45rem; }
            .center-overlay .subtitle { font-size: 1.05rem; margin-bottom: .6rem; }

            nav.center-nav {
                display: block;
                width: 100%;
                padding: 0.75rem;
                border-radius: 10px;
                background: rgba(12,16,24,0.55);
            }

            nav.center-nav ul {
                flex-direction: column;   /* vertical list for easy tapping */
                gap: 0.75rem;
                align-items: stretch;
                margin: 0;
                padding: 0;
            }

            nav.center-nav li { width: 100%; }

            nav.center-nav a {
                display: block;           /* full-width touch target */
                width: 100%;
                padding: 0.9rem 1rem;     /* larger tap area */
                font-size: 1.15rem;
                text-align: center;
                border-radius: 9px;
                letter-spacing: 0.6px;
                box-shadow: none;
            }

            nav.center-nav a:hover {
                transform: none;          /* avoid small hover transform that can feel jumpy on touch */
                box-shadow: 0 8px 22px rgba(50,150,255,-0.92);
            }
        }