diff --git a/assets/css/homepage/_features.scss b/assets/css/homepage/_features.scss index e9729a4..d74278f 100644 --- a/assets/css/homepage/_features.scss +++ b/assets/css/homepage/_features.scss @@ -45,33 +45,33 @@ } // Bar chart — large, centre - i.fa-bar-chart { - font-size: 140px; - color: rgba(35, 111, 135, 0.35); - filter: drop-shadow(0 0 30px rgba(35, 111, 135, 0.3)); + i.fa-chart-bar { + font-size: 160px; + color: rgba(35, 111, 135, 0.5); + filter: drop-shadow(0 0 40px rgba(35, 111, 135, 0.5)); } // Trophy — top right i.fa-trophy { - font-size: 64px; - top: 12px; - right: 30px; - color: rgba(246, 125, 82, 0.5); - filter: drop-shadow(0 0 16px rgba(246, 125, 82, 0.25)); + font-size: 80px; + top: 0px; + right: 20px; + color: rgba(246, 125, 82, 0.7); + filter: drop-shadow(0 0 25px rgba(246, 125, 82, 0.4)); } - // History — bottom left - i.fa-history { - font-size: 52px; - bottom: 18px; - left: 30px; - color: rgba(149, 207, 245, 0.4); - filter: drop-shadow(0 0 12px rgba(149, 207, 245, 0.2)); + // Clock history — bottom left + i.fa-clock-rotate-left { + font-size: 68px; + bottom: 0px; + left: 20px; + color: rgba(149, 207, 245, 0.65); + filter: drop-shadow(0 0 20px rgba(149, 207, 245, 0.35)); } - &:hover i.fa-bar-chart { color: rgba(35, 111, 135, 0.6); } - &:hover i.fa-trophy { color: rgba(246, 125, 82, 0.75); } - &:hover i.fa-history { color: rgba(149, 207, 245, 0.65); } + &:hover i.fa-chart-bar { color: rgba(35, 111, 135, 0.8); filter: drop-shadow(0 0 50px rgba(35, 111, 135, 0.7)); } + &:hover i.fa-trophy { color: rgba(246, 125, 82, 0.9); filter: drop-shadow(0 0 35px rgba(246, 125, 82, 0.6)); } + &:hover i.fa-clock-rotate-left { color: rgba(149, 207, 245, 0.9); filter: drop-shadow(0 0 30px rgba(149, 207, 245, 0.5)); } } // MSN visual @@ -107,6 +107,98 @@ } } +// Privacy visual +.feature-block__visual--privacy { + height: 260px; + gap: 0; + + i { + position: absolute; + color: rgba(35, 111, 135, 0.5); + transition: color 300ms ease; + } + + // Shield — centre, large + i.fa-shield { + font-size: 140px; + color: rgba(34, 197, 94, 0.3); + filter: drop-shadow(0 0 30px rgba(34, 197, 94, 0.25)); + } + + // Lock — top right + i.fa-lock { + font-size: 56px; + top: 20px; + right: 35px; + color: rgba(168, 85, 247, 0.5); + filter: drop-shadow(0 0 16px rgba(168, 85, 247, 0.2)); + } + + // Eye slash — bottom left + i.fa-eye-slash { + font-size: 48px; + bottom: 28px; + left: 40px; + color: rgba(59, 130, 246, 0.5); + filter: drop-shadow(0 0 12px rgba(59, 130, 246, 0.15)); + } + + &:hover i.fa-shield { color: rgba(34, 197, 94, 0.6); } + &:hover i.fa-lock { color: rgba(168, 85, 247, 0.75); } + &:hover i.fa-eye-slash { color: rgba(59, 130, 246, 0.7); } +} + +// Practice visual +.feature-block__visual--practice { + height: 260px; + gap: 0; + + i { + position: absolute; + color: rgba(35, 111, 135, 0.5); + transition: color 300ms ease; + } + + // Laptop — centre, large + i.fa-laptop { + font-size: 140px; + color: rgba(251, 146, 60, 0.3); + filter: drop-shadow(0 0 30px rgba(251, 146, 60, 0.25)); + } + + // Linux — top left + i.fa-linux { + font-size: 48px; + top: 20px; + left: 35px; + color: rgba(245, 158, 11, 0.5); + filter: drop-shadow(0 0 16px rgba(245, 158, 11, 0.2)); + } + + // Apple — top right + i.fa-apple { + font-size: 56px; + top: 20px; + right: 35px; + color: rgba(156, 163, 175, 0.5); + filter: drop-shadow(0 0 16px rgba(156, 163, 175, 0.2)); + } + + // Windows — bottom left + i.fa-windows { + font-size: 48px; + bottom: 28px; + left: 40px; + color: rgba(59, 130, 246, 0.5); + filter: drop-shadow(0 0 12px rgba(59, 130, 246, 0.15)); + } + + &:hover i.fa-laptop { color: rgba(251, 146, 60, 0.6); } + &:hover i.fa-linux { color: rgba(245, 158, 11, 0.75); } + &:hover i.fa-apple { color: rgba(156, 163, 175, 0.75); } + &:hover i.fa-windows { color: rgba(59, 130, 246, 0.7); } +} + // Text side .feature-block__text { flex: 1; @@ -161,6 +253,56 @@ } } +.practice-links { + display: flex; + flex-direction: column; + gap: 12px; + margin-top: 24px; +} + +.practice-link { + display: inline-flex; + align-items: center; + gap: 12px; + font: 700 13px 'Rajdhani', sans-serif; + text-transform: uppercase; + letter-spacing: 1px; + text-decoration: none; + color: rgba(149, 207, 245, 0.85); + border: 1px solid rgba(59, 130, 246, 0.3); + background: rgba(59, 130, 246, 0.08); + padding: 10px 18px; + border-radius: 4px; + transition: all 200ms ease; + width: fit-content; + + &:hover { + background: rgba(59, 130, 246, 0.2); + border-color: rgba(59, 130, 246, 0.6); + color: #fff; + transform: translateX(4px); + box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2); + } +} + +.practice-link-icon { + width: 40px; + height: 40px; + border-radius: 8px; + object-fit: contain; + background: rgba(255, 255, 255, 0.08); + padding: 4px; + border: 1px solid rgba(255, 255, 255, 0.1); + flex-shrink: 0; + transition: all 200ms ease; +} + +.practice-link:hover .practice-link-icon { + background: rgba(59, 130, 246, 0.15); + border-color: rgba(59, 130, 246, 0.4); + transform: scale(1.05); +} + @media screen and (max-width: 900px) { .feature-block__inner, .feature-block--reverse .feature-block__inner { @@ -199,4 +341,14 @@ .feature-block { padding: 60px 24px; } -} \ No newline at end of file + + .practice-links { + justify-content: center; + align-items: center; + } + + .practice-link { + width: 100%; + justify-content: center; + } +} diff --git a/public/images/another-games/apple-minesweeper.png b/public/images/another-games/apple-minesweeper.png new file mode 100644 index 0000000..de44561 Binary files /dev/null and b/public/images/another-games/apple-minesweeper.png differ diff --git a/public/images/another-games/gnome-mines.png b/public/images/another-games/gnome-mines.png new file mode 100644 index 0000000..2f1ebb2 Binary files /dev/null and b/public/images/another-games/gnome-mines.png differ diff --git a/public/images/another-games/microsoft-minesweeper.png b/public/images/another-games/microsoft-minesweeper.png new file mode 100644 index 0000000..24da825 Binary files /dev/null and b/public/images/another-games/microsoft-minesweeper.png differ diff --git a/templates/Game/index.html.twig b/templates/Game/index.html.twig index ab70a9a..69b5ce7 100644 --- a/templates/Game/index.html.twig +++ b/templates/Game/index.html.twig @@ -95,7 +95,8 @@
Create a free account and every game you play gets recorded. Watch your win rate climb, revisit past battles, and prove your dominance - on the board — one detonation at a time. + on the board — one detonation at a time. Share your greatest victories with friends, + replay epic showdowns, and celebrate your legendary moments.
{% if not is_granted("IS_AUTHENTICATED_REMEMBERED") %} @@ -125,6 +126,86 @@ +Your data, your control
++ We believe in transparency and simplicity. Your username is your identity here— + we never expose your email publicly. Forgot your password? No problem. We keep no social integrations, + no third-party tracking, and absolutely zero AI-generated content. Just a pure, clean game experience. +
+Train & Compete
++ Love the challenge of real-time battles? Here, you'll compete live against friends and players worldwide. + Want to sharpen your skills solo first? Download our standalone versions for Windows, macOS, and Linux. + Practice on your own time, then bring your A-game online. +
+ +Built with
Your privacy is important to us.
+Your privacy is important to us. MineSeeker is built on principles of transparency and minimal data collection. We believe you should have full control over your personal information and understand exactly how it's used.
-It is MineSeeker's policy to respect your privacy regarding any information we may collect while operating - our - website. Accordingly, we have developed this privacy policy in order for you to understand how we collect, - use, - communicate, disclose and otherwise make use of personal information. We have outlined our privacy policy - below.
+This Privacy Policy explains how we collect, use, protect, and manage your personal information when you use MineSeeker.
+ +We are committed to conducting our business in accordance with these principles in order to ensure that the - confidentiality of personal information is protected and maintained. MineSeeker may change this privacy - policy - from time to time at MineSeeker's sole discretion.
+Account Information: When you create a MineSeeker account, we collect:
+Game Data: To provide multiplayer functionality, we automatically collect:
+Technical Information: We collect minimal technical data:
+Your information is used exclusively for these purposes:
+We will never use your data for marketing, profiling, or any purpose other than those listed above.
+ +You have the right to:
+To exercise any of these rights, contact us at privacy@mineseeker.hu
+ +We use the following third-party services (strictly necessary for game operation):
+These services are contractually bound to respect your privacy and use data only for the purposes we specify.
+ +We process your personal data based on:
+If you have questions about this privacy policy or wish to exercise your rights:
+MineSeeker may update this privacy policy to reflect changes in our practices or applicable law. We will notify you of significant changes via email or by posting a notice on our website. Your continued use of MineSeeker after changes constitute acceptance of the updated policy.
+ +Last updated: {{ "now"|date("F j, Y") }}
By accessing the website at https://www.mineseeker.hu, you are - agreeing to be bound by these terms of service, all applicable laws and regulations, and agree that you are - responsible for compliance with any applicable local laws. If you do not agree with any of these terms, you - are - prohibited from using or accessing this site. The materials contained in this website are protected by - applicable copyright and trademark law.
+By accessing and using MineSeeker (https://www.mineseeker.hu), you agree to be bound by these Terms of Service, all applicable laws and regulations, and agree that you are responsible for compliance with any applicable local laws. If you do not agree with any of these terms, you are prohibited from using this service. The materials and content contained in MineSeeker are protected by applicable copyright and trademark law.
MineSeeker grants you a limited, non-exclusive, revocable license to access and play MineSeeker for personal, non-commercial purposes only. Under this license, you may not:
This license automatically terminates if you violate any of these restrictions. MineSeeker reserves the right to terminate your account and access at any time for violating these terms or for any other reason. Upon termination, you must cease all use of the service.
You agree NOT to:
+Violations of these rules may result in account suspension or permanent ban at our sole discretion.
+ +MineSeeker is provided on an "AS IS" and "AS AVAILABLE" basis. MineSeeker makes no warranties, express or implied, and hereby disclaims all other warranties including:
+In no event shall MineSeeker or its suppliers be liable for any damages (including, without limitation, - damages - for loss of data or profit, or due to business interruption) arising out of the use or inability to use the - materials on MineSeeker's website, even if MineSeeker or a MineSeeker authorized representative has been - notified orally or in writing of the possibility of such damage. Because some jurisdictions do not allow - limitations on implied warranties, or limitations of liability for consequential or incidental damages, - these - limitations may not apply to you.
+In no event shall MineSeeker or its creators be liable for any damages arising out of the use or inability to use MineSeeker, including:
+Some jurisdictions do not allow limitation of liability, so these limitations may not apply to you.
-The materials appearing on MineSeeker's website could include technical, typographical, or photographic - errors. - MineSeeker does not warrant that any of the materials on its website are accurate, complete or current. - MineSeeker may make changes to the materials contained on its website at any time without notice. However - MineSeeker does not make any commitment to update the materials.
+MineSeeker has not reviewed all of the sites linked to its website and is not responsible for the contents of - any - such linked site. The inclusion of any link does not imply endorsement by MineSeeker of the site. Use of any - such linked website is at the user's own risk.
+MineSeeker may contain links to external websites. We are not responsible for the content, accuracy, or practices of linked sites. Use of linked websites is at your own risk and subject to their terms of service.
-MineSeeker may revise these terms of service for its website at any time without notice. By using this - website - you are agreeing to be bound by the then current version of these terms of service.
+These terms and conditions are governed by and construed in accordance with the laws of Budapest, Hungary and - you - irrevocably submit to the exclusive jurisdiction of the courts in that State or location.
+MineSeeker may revise these terms at any time without notice. Your continued use of the service after changes constitutes acceptance of the updated terms. We recommend reviewing these terms periodically.
+ +These terms are governed by and construed in accordance with the laws of Budapest, Hungary, without regard to its conflicts of law principles. You irrevocably submit to the exclusive jurisdiction of the courts located in Budapest, Hungary.
+ +Before initiating legal action, you agree to attempt to resolve disputes through good-faith negotiation. If a dispute cannot be resolved informally, you may pursue legal remedies in the courts of Budapest, Hungary.
+ +If any provision of these terms is found to be invalid or unenforceable, that provision shall be severed, and the remaining provisions shall remain in full force and effect.
+ +These Terms of Service, together with our Privacy Policy, constitute the entire agreement between you and MineSeeker regarding your use of the service and supersede all prior agreements.
+ +If you have questions or concerns about these terms:
+Last updated: {{ "now"|date("F j, Y") }}