/* === Reset & Base Styles === */ html, body { margin: 0; padding: 0; height: 100%; width: 100%; font-family: Arial, sans-serif; box-sizing: border-box; color: #222; } h1 { font-size: 2.75rem; font-weight: bold; margin: 0 0 0.5em 0; line-height: 1.2; } h2 { font-size: 1.75rem; font-weight: bold; margin: 0 0 0.75em 0; line-height: 1.3; text-align: center; } h3 { margin-bottom: 10px; font-size: 1.3em; } p { font-size: 1rem; line-height: 1.5; margin: 0 0 1em 0; color: #333; } input[type="hidden"] { display: none; } /* === Layout Containers === */ body.profiles-page { overflow-y: auto; background: linear-gradient(69deg, #39ff14, #00ffcc, #adff2f); background-size: 400% 400%; animation: gradientMove 39s ease infinite; } .logo-container { display: flex; justify-content: center; align-items: center; padding: 20px 0; background-color: transparent; } .logo { width: 100%; height: auto; } .grid { max-width: 2000px; margin: 0 auto; padding: 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 15px; overflow-x: hidden; overflow-y: auto; } /* === Cards === */ .profile-card { background: rgba(255, 255, 255, 0.39); padding: 15px; border-radius: 8px; box-shadow: 0 2px 6px rgba(0,0,0,0.1); word-wrap: break-word; overflow-wrap: break-word; display: flex; flex-direction: column; align-items: center; width: 90%; max-width: 320px; min-height: 320px; margin: 0 auto; } .profile-card canvas { width: 100% !important; height: auto !important; max-height: 250px; } .radar-container { background: rgba(255, 255, 255, 0.39); border-radius: 8px; box-shadow: 0 2px 4px rgba(0,0,0,0.1); display: flex; flex-direction: column; align-items: center; width: 100%; text-align: center; box-sizing: border-box; } .radar-container h2, .radar-container h3 { margin: 8px 0 10px 0; } .radar-container canvas { width: 100% !important; max-width: 320px; height: 320px !important; max-height: 320px; object-fit: contain; margin-bottom: 10px; } .radar-container p.info-text, .profile-card p.info-text { text-align: center; margin: 6px 10px 0; font-size: 1rem; color: #222; } /* === Category Cards === */ .cards-container { display: grid; gap: 15px; padding: 20px; width: 90%; max-width: 1000px; margin: 0 auto; } .category-card { background: rgba(255, 255, 255, 0.8); border-radius: 10px; padding: 20px; text-align: center; cursor: pointer; border: 3px solid transparent; transition: all 0.3s ease; user-select: none; position: relative; } .category-card.active { border-color: #00aaff; background: rgba(0, 170, 255, 0.2); } .category-card .checkmark { position: absolute; top: 8px; right: 8px; font-size: 18px; color: green; display: none; } .category-card.active .checkmark { display: block; } /* === Matches === */ .matches-container { display: flex; flex-direction: column; gap: 15px; align-items: center; } .matches-row { display: flex; gap: 15px; flex-wrap: wrap; justify-content: center; align-items: center; width: 100%; } .best-card { border: 2px solid gold; box-shadow: 0 4px 20px rgba(0,0,0,0.2); } .others-row { justify-content: center; align-items: center; margin-left: auto; padding-bottom: 15px; } .others-row .profile-card { margin: 0; } /* === Buttons === */ button[type="submit"], button.magenta-button { display: block; margin: 30px 0; padding: 15px 40px; font-size: 1.2em; font-weight: bold; color: white; border: none; border-radius: 8px; cursor: pointer; box-shadow: 0 4px 10px rgba(0,0,0,0.2); transition: background-color 0.3s ease, transform 0.2s ease; } button[type="submit"] { background-color: #00aaff; } button[type="submit"]:hover { background-color: #0088cc; transform: translateY(2px); } button[type="submit"]:active { background-color: #006699; transform: translateY(0); } button.magenta-button { background-color: #ff00aa; } button.magenta-button:hover { background-color: #cc0088; transform: translateY(2px); } button.magenta-button:active { background-color: #990066; transform: translateY(0); } .button-row { display: flex; justify-content: center; align-items: center; gap: 15px; flex-wrap: wrap; margin: 30px auto; min-height: 5%; width: 100%; padding-bottom: 25px; } .button-row button { margin: 0; } /* === Animations === */ @keyframes gradientMove { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } /* === Media Queries === */ @media (max-width: 600px) { .radar-container { width: 90vw !important; max-width: none !important; padding-bottom: 10px; height: auto; } .radar-container canvas { width: 90vw !important; max-width: none; height: 90vw !important; max-height: none; } .logo { max-width: 90vw; } } @media (min-width: 900px) { body.profiles-page { background-size: 400% 1600%; } .cards-container { grid-template-columns: repeat(3, 1fr); align-items: center; } } @media (max-width: 899px) and (min-width: 600px) { body.profiles-page { background-size: 400% 1600%; } .cards-container { grid-template-columns: repeat(2, 1fr); align-items: center; } } @media (max-width: 599px) { body.profiles-page { background-size: 400% 1600%; } .cards-container { grid-template-columns: 1fr; align-items: center; } }