        /* ── Gallery view — white theme matching site ── */
        #gallery-view {
            min-height: 100vh;
            background: white;
            padding: 0 0 60px 0;
        }
        .game-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
            gap: 24px;
            margin: 10px 0 0;
            padding: 0;
        }
        .game-card {
            position: relative;
            border-radius: 12px;
            overflow: hidden;
            background: #fff;
            border: 1px solid #e0e0e0;
            cursor: pointer;
            transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
            box-shadow: 0 2px 8px rgba(0,0,0,0.06);
        }
        .game-card:hover {
            transform: translateY(-4px) scale(1.01);
            border-color: red;
            box-shadow: 0 8px 24px rgba(0,0,0,0.12);
        }
        .game-card canvas {
            display: block;
            width: 100%;
            height: 180px;
            background: #080818;
        }
        .game-card-info {
            padding: 14px 16px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            background: #fff;
        }
        .game-card-name {
            font-family: "georgia", sans-serif;
            font-size: 16px;
            font-weight: 700;
            color: #222;
            letter-spacing: 0.5px;
        }
        .game-card-tag {
            font-family: "georgia", sans-serif;
            font-size: 11px;
            color: #fff;
            background: red;
            padding: 3px 10px;
            border-radius: 4px;
            font-weight: 700;
            letter-spacing: 0.5px;
        }
        .game-card-tag.coming { background: #ccc; color: #666; }
        .game-card-play {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%) scale(0.8);
            width: 60px;
            height: 60px;
            background: rgba(220,0,0,0.85);
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            opacity: 0;
            transition: opacity 0.3s, transform 0.3s;
            pointer-events: none;
        }
        .game-card:hover .game-card-play {
            opacity: 1;
            transform: translate(-50%, -50%) scale(1);
        }
        .game-card-play::after {
            content: '';
            display: block;
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 12px 0 12px 22px;
            border-color: transparent transparent transparent #fff;
            margin-left: 4px;
        }

        /* ── Game view — travel-page style ── */
        #game-view { display: none; }
        #game-view.active { display: block; }
        #game-wrapper {
            display: flex;
            flex-direction: column;
            align-items: center;
            padding: 0;
            width: 100%;
            height: calc(100vh - 70px);
            overflow: hidden;
        }
        #game-canvas {
            display: block;
            width: 100%;
            flex: 1 1 auto;
            min-height: 0;
            cursor: default;
            background: #000;
        }

        /* Game top bar — compact, with intense bg animation */
        #game-top-bar {
            position: relative;
            display: flex;
            align-items: center;
            width: 100%;
            padding: 4px 14px;
            background: #0a0a1a;
            box-sizing: border-box;
            flex: 0 0 auto;
            gap: 12px;
            overflow: hidden;
            height: 38px;
        }
        #title-bg-canvas {
            position: absolute;
            top: 0; left: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 0;
        }
        #back-btn {
            background: transparent;
            border: none;
            padding: 2px;
            cursor: pointer;
            display: flex;
            align-items: center;
            transition: transform 0.2s;
            flex-shrink: 0;
            position: relative;
            z-index: 1;
        }
        #back-btn:hover { transform: translateX(-3px); }
        #back-btn img {
            width: min(24px, max(1vw + 10px, 18px));
            filter: brightness(0) invert(1);
        }
        #game-title-text {
            display: flex;
            align-items: center;
            gap: 0;
            flex: 1;
            justify-content: center;
            padding-right: 36px;
            position: relative;
            z-index: 1;
        }
        #game-title-text .glyph {
            font-family: 'Courier New', monospace;
            font-size: clamp(13px, 2.5vw, 20px);
            font-weight: 900;
            letter-spacing: 3px;
            display: inline-block;
            color: #ff3333;
            text-shadow:
                0 0 6px rgba(255,50,50,0.8),
                0 0 14px rgba(255,30,30,0.5),
                0 0 28px rgba(255,0,0,0.3);
            animation:
                glyphDrop 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) both,
                glyphFloat 2s ease-in-out infinite,
                glyphNeon 3s ease-in-out infinite;
            transform-origin: center bottom;
        }
        #game-title-text .glyph-space {
            width: 0.4em;
        }
        @keyframes glyphDrop {
            0% { opacity: 0; transform: translateY(-20px) scale(0.6); }
            100% { opacity: 1; transform: translateY(0) scale(1); }
        }
        @keyframes glyphFloat {
            0%, 100% { transform: translateY(0); }
            50% { transform: translateY(-3px); }
        }
        @keyframes glyphNeon {
            0%, 100% {
                color: #ff3333;
                text-shadow: 0 0 6px rgba(255,50,50,0.8), 0 0 14px rgba(255,30,30,0.5), 0 0 28px rgba(255,0,0,0.3);
            }
            50% {
                color: #ff6644;
                text-shadow: 0 0 8px rgba(255,100,60,1), 0 0 20px rgba(255,60,30,0.7), 0 0 40px rgba(255,0,0,0.4);
            }
        }

        #game-hud {
            display: flex;
            justify-content: space-between;
            width: 100%;
            font-family: 'Courier New', monospace;
            font-size: calc(14px + 0.3vw);
            color: #222;
            padding: 10px 30px;
            background: #f5f5f5;
            border-top: 1px solid #e0e0e0;
            box-sizing: border-box;
            flex: 0 0 auto;
        }
        #game-hud span { font-weight: bold; }
        #mobile-controls {
            display: none;
            justify-content: center;
            gap: 15px;
            padding: 10px;
            background: #f5f5f5;
            flex: 0 0 auto;
        }
        #mobile-controls button {
            width: 64px; height: 64px; font-size: 26px;
            border: 2px solid #ccc; border-radius: 12px;
            background: linear-gradient(145deg, #fff, #eee);
            color: #222;
            box-shadow: 0 3px 6px rgba(0,0,0,0.1);
            cursor: pointer; user-select: none; -webkit-user-select: none;
        }
        #mobile-controls button:active {
            background: linear-gradient(145deg, #eee, #ddd);
            transform: translateY(2px);
        }
        @media (pointer: coarse) { #mobile-controls { display: flex; } }
        @media (max-width: 600px) { #mobile-controls { display: flex; } }
    </style>
