     :root {
            --gold: #c9933a;
            --gold-light: #f0c060;
            --gold-dark: #8a5f1a;
            --navy: #1a2340;
            --navy-dark: #0d1520;
            --parchment: #f5e8c8;
            --parchment-dark: #d4c09a;
            --wood: #5a3820;
            --wood-light: #7a5030;
            --cream: #faf3e0;
            --red-life: #c0392b;
            --green-win: #27ae60;
            --shadow: rgba(0,0,0,0.6);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            min-height: 100vh;
            font-family: 'Lora', serif;
            background: var(--navy-dark);
            overflow-x: hidden;
            cursor: default;
        }

        /* ── HERO BACKGROUND ── */
        .hero-bg {
            position: fixed;
            inset: 0;
            background-image: url('./../image/plan1.png');
            background-size: cover;
            background-position: center;
            filter: brightness(0.45) saturate(1.2);
            z-index: 0;
        }
        .hero-overlay {
            position: fixed;
            inset: 0;
            background: radial-gradient(ellipse at 50% 60%, transparent 20%, rgba(10,15,30,0.75) 80%);
            z-index: 1;
        }

        /* ── MAIN CONTAINER ── */
        .page-wrap {
            position: relative;
            z-index: 2;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            padding: 40px 20px;
        }

        /* ── TITLE CARD ── */
        .title-card {
            text-align: center;
            margin-bottom: 40px;
            animation: fadeDown 1s ease both;
        }

        .logo-emblem {
            width: 120px;
            height: 120px;
            margin: 0 auto 20px;
            border-radius: 50%;
            border: 4px solid var(--gold);
            box-shadow: 0 0 30px rgba(201,147,58,0.5), inset 0 0 20px rgba(0,0,0,0.4);
            overflow: hidden;
            background: var(--navy-dark);
        }
        .logo-emblem img { width: 100%; height: 100%; object-fit: cover; }

        .game-title {
            font-family: 'Cinzel', serif;
            font-size: clamp(2.8rem, 6vw, 5rem);
            font-weight: 900;
            color: var(--gold-light);
            text-shadow: 0 0 20px rgba(201,147,58,0.6), 2px 4px 8px rgba(0,0,0,0.8);
            letter-spacing: 0.12em;
            line-height: 1;
        }

        .title-sub {
            font-family: 'Lora', serif;
            font-style: italic;
            font-size: 1.05rem;
            color: var(--parchment-dark);
            margin-top: 8px;
            letter-spacing: 0.08em;
            opacity: 0.85;
        }

        .title-divider {
            display: flex;
            align-items: center;
            gap: 12px;
            justify-content: center;
            margin: 16px 0;
        }
        .title-divider span {
            height: 1px;
            width: 80px;
            background: linear-gradient(to right, transparent, var(--gold), transparent);
        }
        .title-divider .fleur {
            color: var(--gold);
            font-size: 1.2rem;
        }

        /* ── MAIN PANEL ── */
        .panel {
            background: linear-gradient(160deg, rgba(26,35,64,0.92) 0%, rgba(13,21,32,0.96) 100%);
            border: 2px solid var(--gold-dark);
            border-radius: 20px;
            padding: 40px 50px;
            width: 100%;
            max-width: 500px;
            box-shadow:
                0 0 0 1px rgba(201,147,58,0.15),
                0 20px 60px rgba(0,0,0,0.7),
                inset 0 1px 0 rgba(201,147,58,0.2);
            text-align: center;
            animation: fadeUp 1s 0.3s ease both;
            position: relative;
        }

        .panel::before {
            content: '';
            position: absolute;
            top: -1px; left: 30px; right: 30px;
            height: 2px;
            background: linear-gradient(to right, transparent, var(--gold-light), transparent);
        }

        /* ── SCENE IMAGE ── */
        .scene-frame {
            border-radius: 12px;
            overflow: hidden;
            border: 2px solid var(--gold-dark);
            box-shadow: 0 8px 24px rgba(0,0,0,0.5), inset 0 0 20px rgba(0,0,0,0.3);
            margin-bottom: 32px;
            position: relative;
        }
        .scene-frame img {
            width: 100%;
            display: block;
            transition: transform 0.4s ease;
        }
        .scene-frame:hover img { transform: scale(1.02); }
        .scene-frame::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(to bottom, transparent 50%, rgba(13,21,32,0.7) 100%);
        }

        /* ── LEVEL BADGE ── */
        .level-badge {
            display: inline-flex;
            align-items: center;
            gap: 10px;
            background: rgba(201,147,58,0.12);
            border: 1px solid var(--gold-dark);
            border-radius: 30px;
            padding: 8px 20px;
            margin-bottom: 28px;
            font-family: 'Cinzel', serif;
            color: var(--gold-light);
            font-size: 0.95rem;
            letter-spacing: 0.1em;
        }
        .level-badge .badge-icon { font-size: 1.1rem; }
        .level-badge .level-num {
            font-weight: 700;
            font-size: 1.1rem;
            color: var(--gold-light);
        }

        /* ── START BUTTON ── */
        .btn-start {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 12px;
            font-family: 'Cinzel', serif;
            font-size: 1.15rem;
            font-weight: 700;
            letter-spacing: 0.15em;
            color: var(--navy-dark);
            background: linear-gradient(135deg, var(--gold-light) 0%, var(--gold) 50%, var(--gold-dark) 100%);
            border: none;
            border-radius: 50px;
            padding: 16px 48px;
            cursor: pointer;
            width: 100%;
            max-width: 280px;
            box-shadow:
                0 4px 20px rgba(201,147,58,0.4),
                0 1px 0 rgba(255,255,255,0.2) inset,
                0 -2px 0 rgba(0,0,0,0.3) inset;
            transition: all 0.25s ease;
            position: relative;
            overflow: hidden;
            text-transform: uppercase;
        }
        .btn-start::before {
            content: '';
            position: absolute;
            top: 0; left: -100%;
            width: 100%; height: 100%;
            background: linear-gradient(90deg, transparent, rgba(255,255,255,0.25), transparent);
            transition: left 0.4s ease;
        }
        .btn-start:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 30px rgba(201,147,58,0.55), 0 1px 0 rgba(255,255,255,0.2) inset;
        }
        .btn-start:hover::before { left: 100%; }
        .btn-start:active { transform: translateY(0); }

        .btn-icon { font-size: 1.3rem; }

        /* ── DECORATIVE BOTTOM ── */
        .panel-footer {
            margin-top: 28px;
            font-family: 'Lora', serif;
            font-style: italic;
            font-size: 0.82rem;
            color: rgba(245,232,200,0.4);
            letter-spacing: 0.05em;
        }

        /* ── CORNER ORNAMENTS ── */
        .ornament {
            position: absolute;
            width: 28px; height: 28px;
            border-color: var(--gold-dark);
            border-style: solid;
            opacity: 0.6;
        }
        .ornament.tl { top: 12px; left: 12px; border-width: 2px 0 0 2px; }
        .ornament.tr { top: 12px; right: 12px; border-width: 2px 2px 0 0; }
        .ornament.bl { bottom: 12px; left: 12px; border-width: 0 0 2px 2px; }
        .ornament.br { bottom: 12px; right: 12px; border-width: 0 2px 2px 0; }

        /* ── ANIMATIONS ── */
        @keyframes fadeDown {
            from { opacity: 0; transform: translateY(-30px); }
            to   { opacity: 1; transform: translateY(0); }
        }
        @keyframes fadeUp {
            from { opacity: 0; transform: translateY(30px); }
            to   { opacity: 1; transform: translateY(0); }
        }

        @media (max-width: 600px) {
            .panel { padding: 28px 24px; }
            .game-title { font-size: 2.4rem; }
        }
        
        /* ── RESPONSIVE MOBILE (Téléphones) ── */
@media (max-width: 480px) {
    .panel { 
        padding: 25px 15px; 
    }
    
    /* Réduit le titre principal en dessous de 30px (ici 28px) */
    .game-title { 
        font-size: 28px; 
        letter-spacing: 0.08em; /* Réduit un peu l'espacement pour gagner de la place */
    }
    
    /* Ajuste le sous-titre pour rester harmonieux */
    .title-sub {
        font-size: 0.85rem;
    }

    /* Ajuste la taille du bouton et de son texte */
    .btn-start {
        font-size: 0.95rem; /* Texte plus petit */
        padding: 14px 30px;
    }
    
    /* Ajuste le badge de niveau */
    .level-badge {
        font-size: 0.85rem;
        padding: 6px 15px;
    }
    .level-badge .level-num {
        font-size: 0.95rem;
    }
}