/* Reset et variables */ * { box-sizing: border-box; } :root { --primary-color: #007acc; --primary-gradient: linear-gradient(45deg, #007acc, #0099ff); --secondary-color: #3f007e; --bg-light: #f5f5f5; --bg-dark: #121212; --text-light: #333; --text-dark: #eeeeee; --shadow-light: rgba(0, 122, 204, 0.3); --shadow-dark: rgba(102, 217, 239, 0.3); } html, body { margin: 0; padding: 0; border: 0; width: 100vw; min-height: 100vh; font-family: 'Outfit', sans-serif; transition: background-color 0.3s, color 0.3s; line-height: 1.6; } /* Thèmes */ body.light { background: var(--bg-light); color: var(--text-light); } body.dark { background: var(--bg-dark); color: var(--text-dark); } /* Barre de navigation */ .lang-switch { position: fixed; top: 0; left: 0; right: 0; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(10px); padding: 12px 20px; font-size: 0.95em; z-index: 1000; display: flex; justify-content: space-between; align-items: center; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } body.dark .lang-switch { background: rgba(18, 18, 18, 0.95); box-shadow: 0 2px 10px rgba(255, 255, 255, 0.1); } .lang-links { display: flex; align-items: center; gap: 10px; } .lang-links a { color: var(--primary-color); text-decoration: none; padding: 5px 10px; border-radius: 5px; transition: background-color 0.3s; } .lang-links a:hover { background: rgba(0, 122, 204, 0.1); } .lang-links a[style*="underline"] { background: var(--primary-color); color: white; } .toggle-theme { background: var(--primary-gradient); color: white; border: none; padding: 8px 16px; border-radius: 20px; cursor: pointer; font-size: 0.9em; transition: all 0.3s ease; } .toggle-theme:hover { transform: translateY(-1px); box-shadow: 0 4px 15px var(--shadow-light); } /* En-tête avec avatar */ .header { margin-top: 70px; padding: 20px; text-align: center; } .header-content { display: flex; align-items: center; justify-content: center; gap: 20px; flex-wrap: wrap; margin-bottom: 20px; } .header-avatar img { width: 50px; height: 50px; border-radius: 50%; border: 2px solid var(--primary-color); box-shadow: 0 4px 15px var(--shadow-light); } body.dark .header-avatar img { border-color: #66d9ef; box-shadow: 0 4px 15px var(--shadow-dark); } .header h1 { margin: 0; font-size: 2.5em; background: var(--primary-gradient); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } body.dark .header h1 { background: linear-gradient(45deg, #66d9ef, #88e5ff); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .description { max-width: 600px; margin: 0 auto 30px auto; padding: 20px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border-radius: 15px; text-align: center; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); } body.dark .description { background: rgba(255, 255, 255, 0.05); } /* Zone de jeu */ .page-content { display: flex; justify-content: center; align-items: flex-start; gap: 20px; max-width: 1200px; margin: 0 auto; padding: 0 20px; } .game-area { aspect-ratio: 407 / 882; width: 100%; max-width: 500px; height: 70vh; max-height: 800px; margin: 0 auto; overflow: hidden; display: flex; align-items: center; justify-content: center; background: rgba(0, 0, 0, 0.1); border-radius: 15px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2); backdrop-filter: blur(10px); } body.dark .game-area { background: rgba(255, 255, 255, 0.05); } #canvas { width: 100%; height: 100%; object-fit: contain; display: block; background: #000; border-radius: 12px; } /* Barres latérales */ .sidebar { width: 160px; background: rgba(255, 255, 255, 0.1); backdrop-filter: blur(10px); border-radius: 15px; padding: 20px; height: fit-content; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1); } body.dark .sidebar { background: rgba(255, 255, 255, 0.05); } .ad-placeholder { background: rgba(0, 122, 204, 0.1); border: 2px dashed var(--primary-color); height: 400px; display: flex; align-items: center; justify-content: center; text-align: center; font-size: 0.8em; border-radius: 8px; color: var(--primary-color); } /* Boutons de support */ .support-box { max-width: 600px; margin: 30px auto; text-align: center; padding: 20px; } .support-box button { background: var(--primary-gradient); border: none; color: white; padding: 12px 24px; font-size: 1em; border-radius: 25px; cursor: pointer; margin: 10px; box-shadow: 0 4px 15px var(--shadow-light); transition: all 0.3s ease; } .support-box button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px var(--shadow-light); } /* Panel personnalisé */ #custom-reward-panel { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.8); z-index: 10000; color: white; justify-content: center; align-items: center; font-size: 1.5em; text-align: center; flex-direction: column; } #custom-reward-panel .msg { background: var(--primary-gradient); padding: 30px; border-radius: 15px; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); margin-bottom: 20px; } #custom-reward-panel .close-btn { background: rgba(255, 255, 255, 0.2); border: none; color: white; padding: 10px 20px; font-size: 1em; border-radius: 10px; cursor: pointer; backdrop-filter: blur(10px); } #status { display: none !important; } /* Responsive */ @media (max-width: 768px) { .lang-switch { flex-direction: column; gap: 10px; padding: 10px; } .header { margin-top: 100px; } .header-content { flex-direction: column; gap: 15px; } .header h1 { font-size: 2em; } .page-content { flex-direction: column; padding: 0 10px; } .sidebar { display: none; } .game-area { max-width: 95vw; height: 60vh; } } @media (max-width: 480px) { .header-avatar img { width: 40px; height: 40px; } .header h1 { font-size: 1.8em; } .game-area { height: 55vh; } }
XixounerDev avatar

Magic Farm Clicker

A phone-format clicker game!
Click, upgrade, buy, become the greatest magic farmer.
Discover all the rare plants, animals and spells.

Your browser does not support the canvas tag.
Thank you for supporting the game!
You got a reward 😊

A small donation or word of encouragement helps me continue improving Magic Farm Clicker! 😊